區塊鏈-什麼是閃電網絡?

 

目錄:https://blog.csdn.net/qq_40452317/article/details/89646633

1. 引言

比特幣網絡的擁堵問題由來以久,關於擴容的爭論也喋喋不休,在多次共識失敗之後,比特大陸團隊硬分叉出bch,通過擴大區塊容量來實現網絡擴容,而bitcoin core團隊則通過軟分叉方式激活了隔離見證,爲後續的閃電網絡做準備。

比特幣是世界上使用最廣泛和最具價值的數字貨幣,它允許任何人在不受信任的環境下進行價值傳遞。比特幣被稱爲“數字黃金”,這個稱謂是對其在加密貨幣領域地位的肯定,但比特幣也表現出黃金的一些缺點,Peter Thiel表示,比特幣“就像金庫中永不移動的金條一樣”,說的正是比特幣高昂的交易費和極低的處理速度,能否成爲支付手段是比特幣能否在未來大行其道的關鍵。

閃電網絡可以提供擴容性方面的重大改進。因此,在不影響核心協議的基礎安全性的情況下,交易速度和交易費率應該大幅改進。然而,至關重要的是,與閃電網絡支付相關的安全性可能使閃電網絡不適合大額支付(或者至少將其用於大額支付可能是不負責任的)。目前加密貨幣領域的主要推動力量似乎是投機和投資,而這些資金流動需要這些較大額度的支付,相比之下,小額零售支付的體量還相對較小。正因爲如此,至少在中期內,閃電網絡可能並沒有像有些人想象的那麼大的作用。雖然愛好者似乎很快就會採用這種技術,但其廣泛應用可能需要相當長的時間。
目前閃電網絡測試網已經上線,雖然也爆出不少問題,但毫無疑問這是區塊鏈網絡擴容問題上的一大探索。相信隨着參與者越來越多,閃電網絡也會越來越成熟。

2. 什麼是閃電網絡?

什麼是閃電網絡呢?在狀態通道一文中我們提到過,閃電網絡是狀態通道的典型應用。是一個分佈式網絡,通過智能合約功能以支持跨參與者網絡的即時付款,同時利用區塊鏈的特性消除將資金託管給第三方帶來的風險。主要作爲用於即時、高容量的微支付。

閃電網絡的目的是實現安全地進行鏈下交易,其本質上是使用了哈希時間鎖定智能合約來安全地進行0確認交易的一種機制,通過設置巧妙的‘智能合約’,完善鏈下通道,使得用戶可以在閃電網絡上進行0確認的交易。

核心的概念主要有兩個:RSMC(Recoverable Sequence Maturity Contract)和 HTLC(Hashed Timelock Contract)。RSMC 保障了兩個人之間的直接交易可以在鏈下完成,HTLC 保障了任意兩個人之間的轉賬都可以通過一條“支付”通道來完成。這兩個類型的交易組合構成了閃電網絡。從而實現任意兩個人都可以在鏈下完成交易。

  • RSMC
    Recoverable Sequence Maturity Contract,中文可以翻譯爲“可撤銷的順序成熟度合同”。其實主要原理很簡單,就是類似準備金機制。

我們先假定交易雙方之間存在一個“微支付通道”(資金池)。雙方都預存一部分資金到“微支付通道”裏,之後每次交易,就對交易後的資金分配方案共同進行確認,同時簽字作廢舊的版本。當需要提現時,將最終交易結果寫到區塊鏈網絡中,被最終確認。可以看到,只有在提現時候才需要通過區塊鏈。

任何一個版本的方案都需要經過雙方的簽名認證才合法。任何一方在任何時候都可以提出提現,提現需要提供一個雙方都簽名過的資金分配方案(意味着肯定是某次交易後的結果)。在一定時間內,如果另外一方提出證明表明這個方案其實之前被作廢了(非最新的交易結果),則資金罰沒給質疑成功方。這就確保了沒人會拿一箇舊的交易結果來提現。

另外,即使雙方都確認了某次提現,首先提出提現一方的資金到賬時間要晚於對方,這就鼓勵大家儘量都在鏈外完成交易。

  • HTLC
    微支付通道是通過 Hashed Timelock Contract 來實現的,中文意思是“哈希的帶時鐘的合約”。這個其實就是限時轉賬。理解起來其實也很簡單,通過智能合約,雙方約定轉賬方先凍結一筆錢,並提供一個哈希值,如果在一定時間內有人能提出一個字符串,使得它哈希後的值跟已知值匹配(實際上意味着轉賬方授權了接收方來提現),則這筆錢轉給接收方。

不太恰當的例子,約定一定時間內,有人知道了某個暗語(可以生成匹配的哈希值),就可以拿到這個指定的資金。

推廣一步,甲想轉賬給丙,丙先發給甲一個哈希值。甲可以先跟乙簽訂一個合同,如果你在一定時間內能告訴我一個暗語,我就給你多少錢。乙於是跑去跟丙簽訂一個合同,如果你告訴我那個暗語,我就給你多少錢。丙於是告訴乙暗語,拿到乙的錢,乙又從甲拿到錢。最終達到結果是甲轉賬給丙。這樣甲和丙之間似乎構成了一條完整的虛擬的“支付通道”。

HTLC 的機制可以擴展到多個人,大家可以想象一下,想象出來了就理解了閃電網絡。

閃電網絡採用了更合理的支付網絡架構,代表着效率的提高。與其向所有人廣播交易,交易可以更直接地發送給收款人。只有當交易雙方不誠實時,才需要進入繁瑣的流程——鏈上共識操作。通過這種方式,可以實現相當於互聯網上各方之間直接溝通所能達到的性能和效率,同時保留比特幣區塊鏈的一些安全特性。然而,如果各方想在出現問題時可以隨時迴歸到區塊鏈上並收回資金,那麼建立這樣一種支付系統是非常複雜的,並且還存在着一些重大風險和侷限性。

3. 閃電網絡是如何工作的?

閃電網絡的正常使用包括通過向區塊鏈網絡提交正常的資金交易來開通支付通道,然後進行任何數量的閃電交易,更新通道內資金的臨時分配而不廣播到區塊鏈,最後關閉支付通過廣播最終版本的交易來分配通道內的資金。
閃電網絡是基於比特幣區塊鏈構建的智能合約系統,允許兩方直接進行快速,廉價的支付。爲了實現這些快速而廉價的交易,採取了以下步驟:

  • 設置一個多重簽名錢包,其中包含一定數量的比特幣(由雙方中的至少一方提供)
  • 錢包地址然後保存到公共比特幣區塊鏈中,包括資產負債表(智能合約),證明該比特幣存款的多少屬於誰
  • 在此支付通道進行一次設置之後,這兩方就可以進行無限次的交易,而無需觸及存儲在區塊鏈中的信息
  • 對於每次交易,雙方簽署更新的資產負債表以便始終反映存儲在多信用點錢包中的比特幣的金額屬於誰
  • 更新後的資產負債表不會上傳到區塊鏈,而是雙方保留其副本。
  • 每當發生爭議或支付通道關閉時,雙方都可以使用最新的互相簽署的資產負債表來支付他們在多信用卡錢包中的份額。

這聽起來非常麻煩,但實際上對於最終用戶來說,進行閃電支付幾乎不需要燒腦的工作,所有上述操作都將在後臺自動進行。

閃電網絡使用支付渠道有效地允許用戶直接與對方進行交易,而不是將業務廣播到整個世界(又名公共區塊鏈)。通過彼此跟蹤彼此之間的支付,雙方可以避免與區塊鏈進行昂貴且耗時的交互。如果Lightning Network上的餘額存在某種爭議,那麼由雙方提供的最近的資產負債表將決定多sig錢包中資金的分配方式。

閃電網絡不需要對手方合作退出支付通道。雙方都可以選擇單方面關閉通道。因爲所有各方都有多個多簽名。在這個網絡上有許多用戶之間的通道,理論上可以通過這個網絡向任何人發送付款。

4. 閃電網絡的主要特點

理論上來說,閃電網絡應該允許網絡中的所有參與者通過在節點之間找到一條路徑,由此能夠在各個方向上進行近乎即時且廉價的交易。因此,只要沒有出現問題,就可以避免向比特幣網絡進行廣播,從而形成可擴容網絡。該體系架構甚至允許小微交易並增強了付款隱私性。

由於相對時間鎖定功能,通道可以無限期地保持開放,並且不存在交易對手方風險; 如果有人試圖通過惡意地關閉通道來竊取資金,交易的其他參與方將有一個很長的時間窗口來發起他們自己的贖回交易並收回資金。

  • 快速支付:在既定通道內的支付幾乎可以像數據通過互聯網在兩個節點之間傳輸一樣快。
  • 無需可信第三方:通道中的兩個參與者直接使用常規的比特幣交易進行互相支付(其中只有一個是廣播的),因此任何第三方都不能控制其資金。
  • 爲區塊鏈減負:只有開啓通道,關閉通道和爭議性交易需要提交到區塊鏈上進行,允許閃電網絡內的所有其他交易保持未提交狀態。這這使得閃電網絡用戶可以通過比特幣進行頻繁支付,而不會使必須處理區塊鏈上每筆交易的完整節點承擔過多的負擔。
  • 支付通道可以無限期地保持開放:只要頻道中的雙方繼續彼此合作,頻道可以無限期地保持開放 - 沒有強制超時期限。根據雙方的意願,可以長期保持通道開啓,這可以進一步減少區塊鏈上的負載,同時也可以稀釋最終的費用。
  • 雙方約定可快速關閉通道:如果雙方同意,可以立即關閉支付通道(雙方可能希望等待一個或多個確認以確保支付通道在正確的狀態下關閉)。雙方未達成協定(如一方消失)也可以關閉通道,但需要耗費更長的時間。
  • 洋蔥式路由:支付路由信息可以以嵌套的方式加密,以便中間節點只知道他們收到了可路由支付的人和下次發送給誰,防止中間節點知道發起者或目的地。
  • 具有多重簽名功能:每個參與方都可以要求通過多個密鑰對他們的付款進行簽名(https://en.bitcoin.it/wiki/Lightning_Network#cite_note-poon_multisig-2)。
  • 跨鏈:如果另一條區塊鏈支持用於哈希鎖的相同哈希函數,以及具備創建時間鎖的能力,支付通道就可以跨多個區塊鏈(包括側鏈)進行路由。利用異構區塊鏈共識規則,交叉鏈式原子互換可以立即發生在鏈外。只要鏈可以支持相同的加密散列函數,就可以跨區塊鏈進行交易,而不需要信任第三方託管商。
  • 小額支付是可能的:由於費用與支付金額成比例,您可以支付一分錢; 會計甚至以千分之一的精確度完成。
  • 付款即時結算:資金在通過網絡到達目的地和返回所需的時間內發送,通常爲幾分之一秒。
  • 改進隱私:並非每個交易都存儲在公共區塊鏈上,只有當支付通道最終關閉並且餘額支付給雙方

5. 是否每個交易都需要開設新的支付通道?

不是的,閃電網絡(因此它的名字)被構建爲一個網絡。儘管Alice可能還沒有與Dave建立開放的支付渠道,但Alice通過Bob間接與Dave連接,或者甚至在兩者之間使用多個步驟。藉助閃電網絡,用戶可以與任何通過多跳連接到他們的支付通道網絡的人進行交易。從理論上講,每個人都可以通過網絡與其他人連接。人們也會通過(小)費用來激勵這些連接節點,每次交易使用其中一個連接時都會支付這些費用。閃電網絡的測試網實施的早期結果證實,確實可以創建足夠分散的網絡。

閃電網絡的架構仍然是值得信賴的(因爲它基於智能合約),並且始終確保資金將通過中介機構到達目的地,或者在沒有間接路徑到達目的地的情況下退款。

Bob和Carol在網絡上充當“節點”。閃電網絡上的節點在某種程度上與比特幣網絡上的礦工類似。

6. 閃電網絡下的安全風險

一個巨大的未知因素是人們和企業如何實際使用這個網絡,評論員們的看法似乎也不盡相同。有些人認爲閃電網絡最終會在小額支付場景中無處不在,其中的複雜性將以自動化方式處理。其他人對閃電網絡持懷疑態度,通常的設想是在使用該系統時需要更多以手動方式來構建閃電網絡的各個組件,其用戶體驗還會因爲通道意外關閉和閃電網絡宕機的困擾而變得糟糕。實際上,真實的情況可能位於這兩種願景之間,隨着時間的推移,閃電網絡可能會更加趨近於雄心勃勃地那種願景。這種分歧似乎可以歸結爲閃電網絡的懷疑者認爲它是一個複雜,不完整和不切實際的支付系統,其完全依賴於通道架構系統。支持者則將閃電網絡視爲比特幣區塊鏈上的第二層可擴展構件,最終將由錢包,支付協議系統和通道服務公司進行補充,從而帶來簡單而無縫的用戶體驗。最後,錢包可以互相通信,在無需用戶知情或者操心的情況下,自動動態地決定最佳支付方式——鏈上支付或是經由閃電網絡上的最實際的方式。

  • 收款時要求必須在線:如上所述,收款人在收款之前需要簽名回收交易,以便付款人知道他們可以在發生惡意通道關閉或拒絕簽名的情況下回收資金。因此,要收款就需要一個熱錢包,這意味着如果發生安全事故,私鑰可能會暴露。
  • 監控通道的需求:閃電網絡參與者或服務商可能需要主動監控支付通道。這可能給用戶或服務商帶來負擔,並可能降低通道內資金相對於存儲在鏈上的比特幣的安全性。可能會因爲未能適當監控通道或鏈上網絡的擁堵,導致錯過回收交易截止日期。
  • 礦工可以審查通道關閉的交易:51%的算力可能有能力通過審查通道關閉的交易來竊取閃電網絡用戶的資金,在這種情況下礦工是對立方。即使沒有閃電網絡,此類攻擊的潛在後果已經相當具有破壞性,但閃電網絡可能會爲惡意礦工提供更大的攻擊面。

收款時私鑰暴露到到網絡上的可能性,惡意的關閉通道的風險以及礦工審查通道回收交易的風險,雖然這三個因素中單獨的每一個似乎都不是那麼重要,但加在一起,我們認爲這明顯導致了更低的安全性 - 雖然所有這些風險都可以在一定程度上加以管理。

有一種風險是,懶惰或信息貧乏的用戶在通道中留存了過量資金,並且由於其中一種事故情況而導致資金丟失或被盜。同時還存在的風險是由於價格波動,用戶在支付通道中會留存比意圖中更多的資金。

  • 匹配失敗:如果其中一個對等方沒有響應,用戶可能需要等待數小時才能關閉付款通道並通過替代路線重新發送資金
  • 沒有離線付款:用戶無法支付不在線的人
  • 對於大額付款並不理想:儘管可能存在通過各種支付渠道的路線,但同行多個錢包中的資金可能不足以轉移大額資金
  • 集中化:閃電網絡可能會鼓勵支付中心的集中化(類似於礦工集中),這也是爲什麼有人說閃電網絡實際上會出現類似銀行的超級節點的原因。

6.閃電網絡技術展望

恆星宣佈將在2018年部署閃電網絡



作者:unclefynn
鏈接:https://www.jianshu.com/p/b75a6ee8c7cf
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯繫作者獲得授權並註明出處。

發佈了266 篇原創文章 · 獲贊 89 · 訪問量 14萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章