1. 引言網絡
比特幣網絡的擁堵問題由來以久,關於擴容的爭論也喋喋不休,在屢次共識失敗以後,比特大陸團隊硬分叉出bch,經過擴大區塊容量來實現網絡擴容,而bitcoin core團隊則經過軟分叉方式激活了隔離見證,爲後續的閃電網絡作準備。架構
比特幣是世界上使用最普遍和最具價值的數字貨幣,它容許任何人在不受信任的環境下進行價值傳遞。比特幣被稱爲「數字黃金」,這個稱謂是對其在加密貨幣領域地位的確定,但比特幣也表現出黃金的一些缺點,Peter Thiel表示,比特幣「就像金庫中永不移動的金條同樣」,說的正是比特幣高昂的交易費和極低的處理速度,可否成爲支付手段是比特幣可否在將來大行其道的關鍵。分佈式
閃電網絡能夠提供擴容性方面的重大改進。所以,在不影響核心協議的基礎安全性的狀況下,交易速度和交易費率應該大幅改進。然而,相當重要的是,與閃電網絡支付相關的安全性可能使閃電網絡不適合大額支付(或者至少將其用於大額支付多是不負責任的)。目前加密貨幣領域的主要推進力量彷佛是投機和投資,而這些資金流動須要這些較大額度的支付,相比之下,小額零售支付的體量還相對較小。正由於如此,至少在中期內,閃電網絡可能並無像有些人想象的那麼大的做用。雖然愛好者彷佛很快就會採用這種技術,但其普遍應用可能須要至關長的時間。
目前閃電網絡測試網已經上線,雖然也爆出很多問題,但毫無疑問這是區塊鏈網絡擴容問題上的一大探索。相信隨着參與者愈來愈多,閃電網絡也會愈來愈成熟。函數
2. 什麼是閃電網絡?性能
什麼是閃電網絡呢?在狀態通道一文中咱們提到過,閃電網絡是狀態通道的典型應用。是一個分佈式網絡,經過智能合約功能以支持跨參與者網絡的即時付款,同時利用區塊鏈的特性消除將資金託管給第三方帶來的風險。主要做爲用於即時、高容量的微支付。區塊鏈
閃電網絡的目的是實現安全地進行鏈下交易,其本質上是使用了哈希時間鎖定智能合約來安全地進行0確認交易的一種機制,經過設置巧妙的‘智能合約’,完善鏈下通道,使得用戶能夠在閃電網絡上進行0確認的交易。測試
核心的概念主要有兩個:RSMC(Recoverable Sequence Maturity Contract)和 HTLC(Hashed Timelock Contract)。RSMC 保障了兩我的之間的直接交易能夠在鏈下完成,HTLC 保障了任意兩我的之間的轉帳均可以經過一條「支付」通道來完成。這兩個類型的交易組合構成了閃電網絡。從而實現任意兩我的均可以在鏈下完成交易。加密
咱們先假定交易雙方之間存在一個「微支付通道」(資金池)。雙方都預存一部分資金到「微支付通道」裏,以後每次交易,就對交易後的資金分配方案共同進行確認,同時簽字做廢舊的版本。當須要提現時,將最終交易結果寫到區塊鏈網絡中,被最終確認。能夠看到,只有在提現時候才須要經過區塊鏈。.net
任何一個版本的方案都須要通過雙方的簽名認證才合法。任何一方在任什麼時候候均可以提出提現,提現須要提供一個雙方都簽名過的資金分配方案(意味着確定是某次交易後的結果)。在必定時間內,若是另一方提出證實代表這個方案其實以前被做廢了(非最新的交易結果),則資金罰沒給質疑成功方。這就確保了沒人會拿一箇舊的交易結果來提現。
另外,即便雙方都確認了某次提現,首先提出提現一方的資金到帳時間要晚於對方,這就鼓勵你們儘可能都在鏈外完成交易。
不太恰當的例子,約定必定時間內,有人知道了某個暗語(能夠生成匹配的哈希值),就能夠拿到這個指定的資金。
推廣一步,甲想轉帳給丙,丙先發給甲一個哈希值。甲能夠先跟乙簽定一個合同,若是你在必定時間內能告訴我一個暗語,我就給你多少錢。乙因而跑去跟丙簽定一個合同,若是你告訴我那個暗語,我就給你多少錢。丙因而告訴乙暗語,拿到乙的錢,乙又從甲拿到錢。最終達到結果是甲轉帳給丙。這樣甲和丙之間彷佛構成了一條完整的虛擬的「支付通道」。
HTLC 的機制能夠擴展到多我的,你們能夠想象一下,想象出來了就理解了閃電網絡。
閃電網絡採用了更合理的支付網絡架構,表明着效率的提升。與其向全部人廣播交易,交易能夠更直接地發送給收款人。只有當交易雙方不誠實時,才須要進入繁瑣的流程——鏈上共識操做。經過這種方式,能夠實現至關於互聯網上各方之間直接溝通所能達到的性能和效率,同時保留比特幣區塊鏈的一些安全特性。然而,若是各方想在出現問題時能夠隨時迴歸到區塊鏈上並收回資金,那麼創建這樣一種支付系統是很是複雜的,而且還存在着一些重大風險和侷限性。
3. 閃電網絡是如何工做的?
閃電網絡的正常使用包括經過向區塊鏈網絡提交正常的資金交易來開通支付通道,而後進行任何數量的閃電交易,更新通道內資金的臨時分配而不廣播到區塊鏈,最後關閉支付經過廣播最終版本的交易來分配通道內的資金。
閃電網絡是基於比特幣區塊鏈構建的智能合約系統,容許兩方直接進行快速,廉價的支付。爲了實現這些快速而廉價的交易,採起了如下步驟:
這聽起來很是麻煩,但實際上對於最終用戶來講,進行閃電支付幾乎不須要燒腦的工做,全部上述操做都將在後臺自動進行。
閃電網絡使用支付渠道有效地容許用戶直接與對方進行交易,而不是將業務廣播到整個世界(又名公共區塊鏈)。經過彼此跟蹤彼此之間的支付,雙方能夠避免與區塊鏈進行昂貴且耗時的交互。若是Lightning Network上的餘額存在某種爭議,那麼由雙方提供的最近的資產負債表將決定多sig錢包中資金的分配方式。
閃電網絡不須要對手方合做退出支付通道。雙方均可以選擇單方面關閉通道。由於全部各方都有多個多簽名。在這個網絡上有許多用戶之間的通道,理論上能夠經過這個網絡向任何人發送付款。
4. 閃電網絡的主要特色
理論上來講,閃電網絡應該容許網絡中的全部參與者經過在節點之間找到一條路徑,由此可以在各個方向上進行近乎即時且廉價的交易。所以,只要沒有出現問題,就能夠避免向比特幣網絡進行廣播,從而造成可擴容網絡。該體系架構甚至容許小微交易並加強了付款隱私性。
因爲相對時間鎖定功能,通道能夠無限期地保持開放,而且不存在交易對手方風險; 若是有人試圖經過惡意地關閉通道來竊取資金,交易的其餘參與方將有一個很長的時間窗口來發起他們本身的贖回交易並收回資金。
5. 是否每一個交易都須要開設新的支付通道?
不是的,閃電網絡(所以它的名字)被構建爲一個網絡。儘管Alice可能尚未與Dave創建開放的支付渠道,但Alice經過Bob間接與Dave鏈接,或者甚至在二者之間使用多個步驟。藉助閃電網絡,用戶能夠與任何經過多跳鏈接到他們的支付通道網絡的人進行交易。從理論上講,每一個人均可以經過網絡與其餘人鏈接。人們也會經過(小)費用來激勵這些鏈接節點,每次交易使用其中一個鏈接時都會支付這些費用。閃電網絡的測試網實施的早期結果證明,確實能夠建立足夠分散的網絡。
閃電網絡的架構仍然是值得信賴的(由於它基於智能合約),而且始終確保資金將經過中介機構到達目的地,或者在沒有間接路徑到達目的地的狀況下退款。
Bob和Carol在網絡上充當「節點」。閃電網絡上的節點在某種程度上與比特幣網絡上的礦工相似。
6. 閃電網絡下的安全風險
一個巨大的未知因素是人們和企業如何實際使用這個網絡,評論員們的見解彷佛也不盡相同。有些人認爲閃電網絡最終會在小額支付場景中無處不在,其中的複雜性將以自動化方式處理。其餘人對閃電網絡持懷疑態度,一般的設想是在使用該系統時須要更多以手動方式來構建閃電網絡的各個組件,其用戶體驗還會由於通道意外關閉和閃電網絡宕機的困擾而變得糟糕。實際上,真實的狀況可能位於這兩種願景之間,隨着時間的推移,閃電網絡可能會更加趨近於雄心勃勃地那種願景。這種分歧彷佛能夠歸結爲閃電網絡的懷疑者認爲它是一個複雜,不完整和不切實際的支付系統,其徹底依賴於通道架構系統。支持者則將閃電網絡視爲比特幣區塊鏈上的第二層可擴展構件,最終將由錢包,支付協議系統和通道服務公司進行補充,從而帶來簡單而無縫的用戶體驗。最後,錢包能夠互相通訊,在無需用戶知情或者操心的狀況下,自動動態地決定最佳支付方式——鏈上支付或是經由閃電網絡上的最實際的方式。
收款時私鑰暴露到到網絡上的可能性,惡意的關閉通道的風險以及礦工審查通道回收交易的風險,雖然這三個因素中單獨的每個彷佛都不是那麼重要,但加在一塊兒,咱們認爲這明顯致使了更低的安全性 - 雖然全部這些風險均可以在必定程度上加以管理。
有一種風險是,懶惰或信息貧乏的用戶在通道中留存了過量資金,而且因爲其中一種事故狀況而致使資金丟失或被盜。同時還存在的風險是因爲價格波動,用戶在支付通道中會留存比意圖中更多的資金。
6.閃電網絡技術展望
做者:unclefynn 連接:https://www.jianshu.com/p/b75a6ee8c7cf 來源:簡書 簡書著做權歸做者全部,任何形式的轉載都請聯繫做者得到受權並註明出處。