Fiber的系统解读:将闪电网络与CKB集成

進階Sep 09, 2024
本文對基於CKB的Fiber Network閃電網絡解決方案進行了深入分析,探討了其在支付通道、WatchTower、多跳路由和跨領域支付方面的技術創新。詳細介紹了Fiber通過技術優化如何提升用戶體驗、隱私保護和安全性,同時還探討了它與比特幣閃電網絡的互操作性潛力。
Fiber的系统解读:将闪电网络与CKB集成

转发原文标题‘系统解读Fiber:把闪电网络嫁接到CKB上的宏大实验’

8月23日,CKB正式發布Fiber Network,這是一個基於CKB的閃電網絡解決方案。這一消息迅速引發社區的激烈討論,使CKB的價格在短短一天內急劇上漲了近30%。這一強烈反應可以歸因於閃電網絡引人入勝的敘述以及Fiber相對於傳統閃電網絡提供了許多改進的事實。例如,Fiber在本身支持多種資產類型,包括CKB、BTC和穩定幣,並且受益於CKB較低的交易費用和更快的響應時間,這使得顯著的UX進步成為可能。此外,Fiber在隱私和安全方面進行了多項優化。此外,Fiber和BTC閃電網絡可以互聯,形成一個更大的P2P網絡。CKB的官方甚至提到他們計劃在線下活動期間在Fiber和閃電網絡中建立10萬個實體節點,以增強和推進P2P支付網絡。這無疑代表了一個宏偉且前所未有的故事。

如果 CKB 的官方願景在未來實現,將對閃電網絡、CKB 和更廣泛的比特幣生態系統帶來重大利好。根據mempool數據,比特幣閃電網絡目前持有超過3億美元的資金,大約有12,000個節點之間建立了近50,000個付款通道。

在 spendmybtc.com 上,我們可以觀察到越來越多的商家支持閃電網絡支付。隨著比特幣的認可度增加,閃電網絡和Fiber等離鏈支付解決方案的興起可能會增勢。為了系統地分析Fiber的技術解決方案,“Geek Web3”製作了這份關於整體Fiber解決方案的研究報告。作為基於CKB的閃電網絡的實現,Fiber的原則在很多細節上與比特幣閃電網絡基本一致,但包括了許多優化。Fiber的整體架構包括四個核心組件:支付通道、看門狗、多跳路由和跨域支付。讓我們從解釋最重要的組件開始:支付通道。

閃電網絡和Fiber的基礎:支付通道

支付通道基本上是將交易移出鏈外,在一段時間後在鏈上結算最終狀態。由於交易是在鏈外完成的,它們通常可以避開主鏈的性能限制,比如 BTC。例如,如果 Alice 和 Bob 共同打開一個通道,他們首先在鏈上創建一個多簽帳戶並存入一些資金,比如每人100個單位,作為他們在鏈外通道中的餘額。然後他們可以在通道內進行多筆交易,當他們關閉通道時,他們在鏈上同步最終餘額,多簽帳戶向雙方支付款項-這就是“結算”。

例如,如果雙方都從每個100單位開始,愛麗絲將50單位轉移給鮑勃,然後再轉移10單位,然後鮑勃將30單位轉移回愛麗絲,他們的最終餘額將是:愛麗絲-70單位,鮑勃-130單位。總餘額保持不變,如算盤珠子示例所示。如果一方退出通道,最終餘額(愛麗絲:70,鮑勃:130)將在鏈上同步,並且根據這些最終餘額將多重簽名帳戶的200單位分配以完成結算。

雖然這個過程看起來很簡單,但它在實踐中涉及複雜的考慮。您無法預測對方何時退出宣告頻道。例如,Bob 可以在第二筆交易甚至第一筆交易之後退出,因為該頻道允許參與者自由退出。為了解決這個問題,系統假設任何人都可以隨時退出,任何一方都可以將最終餘額提交給鏈進行結算。這是通過「合約交易」來管理的,該交易記錄管道中的最新餘額。每個事務都會生成相應的承諾事務。要退出通道,您需要向鏈提交最新的承諾交易,以從多重簽名帳戶中提取您的份額。

我們可以得出結論,承諾交易用於在鏈上結算通道兩方的餘額,任何一方都可以提交最新的承諾交易以退出通道。然而,存在一個重要的惡意情景:Bob 可能提交一個過時的餘額和承諾交易到鏈上。例如,在生成 Commit Tx3 後,Bob 的餘額為 130 單位。但是,為了自己的利益,Bob 可能提交過時的 Commit Tx2,顯示餘額為 160 單位。這個過時的餘額代表了一個經典的“雙重花費”攻擊。

為了防止這種雙重支付的情況,必須有適當的懲罰措施。這些懲罰措施的設計是一對一支付通道系統的核心,了解這一點對於掌握支付通道的運作方式至關重要。在通道設計中,如果任何一方提交了過時的狀態和承諾交易到鏈上,他們將發現對方可以撤回所有資金,而不是獲益。這利用了“非對稱承諾交易”和“撤銷密鑰”的概念,這兩者都至關重要。讓我們首先以 Commit Tx3 作為例子來解釋“非對稱承諾交易”。

在這種情況下,Bob 創建一個承諾交易並將其發送給 Alice 進行處理。如圖所示,此交易涉及比特幣轉帳,宣稱多重簽名帳戶中的 70 單位分配給 Alice,130 單位分配給 Bob。然而,解鎖條件是“非對稱的”,對 Alice 施加更嚴格的限制,有利於 Bob。

當愛麗絲收到鮑勃的承諾交易時,她可以添加她的簽名以滿足2/2多簽名要求。愛麗絲隨後可以選擇在鏈上提交此承諾交易以退出通道。或者,如果她不提交,她可以繼續在通道內進行交易。

重要的是要注意,這個承諾交易是由Bob構建的,並且對Alice不利。 Alice有選擇接受或拒絕它的權利,但我們需要確保她保留一定的自主權。在支付通道的設計中,只有Alice可以將“不利”的承諾交易提交到鏈上,因為承諾交易需要2/2多簽名。在Bob本地構建交易之後,它只有他的簽名,缺少Alice的簽名。

愛麗絲可以“接受鮑勃的簽名,但保留自己的簽名”。這類似於需要雙重簽名的合同。如果鮑勃先簽字並將合同發送給愛麗絲,她可以選擇不提供她的簽名。為了使合同生效,愛麗絲需要簽署然後提交;否則,她可以避免簽署或提交。因此,在這種情況下,愛麗絲有辦法限制鮑勃的行動。

這是關鍵點:每次通道內發生交易時,都會生成一對承諾交易,其兩個版本相互對應,如下所示。愛麗絲和鮑勃可以各自創建對自己有利的承諾交易,指定他們各自的餘額或退出時應收到的金額,然後將這些交易發送給對方處理。

有趣的是,雖然這兩個承諾交易宣稱“退出時應收到的金額”相同,但它們的提取條件不同。這說明了之前提到的“非對稱承諾交易”的概念。

如前所述,每个承诺交易都需要2/2多重签名才能有效。Bob创建的有利于自己的承诺交易不符合2/2多重签名的要求,而符合这一要求的承诺交易由Alice持有,并且只能由她提交,从而形成了一种制衡机制。相同的逻辑也适用于相反的情况。

因此,艾莉絲和鮑伯只能提交對自己不利的承諾交易。如果任何一方向區塊鏈提交了承諾交易並且生效,通道將被關閉。

關於先前討論的“雙花”情況,如果有人向區塊鏈提交過時的承諾交易,就會引入“撤銷密鑰”概念。例如,如果 Bob 將過時的 Tx2 提交到鏈上,Alice 可以使用與 Tx2 相關的撤銷密鑰來提取本應由 Bob 收到的資金。

在本示意圖中,假設最新的承諾交易是 Commit Tx3,而 Tx2 已過期,如果 Bob 提交過期的 Tx2,Alice 可以在時鎖定期間內使用 Tx2 的撤銷密鑰取回 Bob 的資金。


關於最新的 Tx3,Alice 目前並沒有該筆交易的撤銷密鑰,只有在未來 Tx4 建立後才會獲得。這是由於公鑰/私鑰密碼學和 UTXO 特性所導致的。為了簡潔起見,本文不會討論撤銷密鑰的實現細節。

關鍵要點是,如果鮑勃敢將過時的承諾交易提交到區塊鏈上,愛麗絲可以使用撤銷密鑰作為懲罰來提取鮑勃的資金。同樣,如果愛麗絲有惡意行為,鮑勃可以對她進行同樣的懲罰。這個機制確保了一對一的支付通道有效地防止了雙重支付,因為理性的參與者會避免惡意行為。

在這個背景下,基於CKB的Fiber在比特幣閃電網絡上提供了顯著的改進。它本地支援多種資產類型的交易和轉移,包括CKB、BTC和RGB++穩定幣,而閃電網絡僅本地支援比特幣。即使在Taproot資產升級之後,比特幣閃電網絡仍然無法本地支援非BTC資產,只能間接支援穩定幣。


(圖片來源:大胖頓)另外,由於Fiber依賴CKB作為其第1層主鏈,因此與BTC閃電網絡相比,開啟和關閉通道的費用顯著降低。這降低了用戶的交易成本,代表了在用戶體驗(UX)方面的明顯優勢。

24/7安全:WatchTower

吊銷密鑰的一個挑戰是渠道參與者必須不斷相互監控,以防止提交過時的承諾交易。但是,沒有人可以 24/7 全天候在線,那麼如果一方惡意行事而另一方離線會發生什麼?光纖和比特幣閃電網路都通過瞭望塔的設計解決了這個問題。

WatchTowers 旨在全天候監控鏈上活動。如果有人提交過時的承諾交易,WatchTower 將及時採取行動保護通道和資金。以下是其運作方式:

在提交交易后,Alice或Bob可以提前準備相應的懲罰交易(使用撤銷金鑰處理過期的承諾交易,受益人宣告為他們自己)。然後將此懲罰交易的明文提供給WatchTower。

當 WatchTower 偵測到提交到鏈上的過時承諾交易時,它也會提交預先準備好的懲罰交易,執行懲罰並保護通道的完整性。

Fiber 通過要求用戶只向 WatchTower 發送“過時承諾交易的哈希值+處罰交易的明文”來保護參與者的隱私。這樣,WatchTower 最初只知道承諾交易的哈希值,而不知道其明文。只有在有人實際在鏈上提交了過時的承諾交易時,WatchTower 才會看到明文,屆時它還會提交處罰交易。這確保了只有在真正出現不端行為時,WatchTower 才會看到參與者的交易記錄,而且即使如此,它也只會看到單筆交易。

在優化方面,Fiber改進了比特幣閃電網絡對懲罰機制的方法。閃電網絡的“LN-Penalty”存在一個顯著的缺點:WatchTowers必須存儲所有過時的承諾交易哈希和相應的撤銷密鑰,這導致了重大的存儲壓力。2018年,比特幣社區提出了一個名為“eltoo”的解決方案來解決這個問題。Eltoo將允許最新的承諾交易懲罰過時的交易,減少了存儲所有以前交易的需求。然而,這個解決方案需要激活SIGHASH_ANYPREVOUT操作碼,而該操作碼尚未被實施。

另一方面,Fiber採用Daric協定,該協定修改了撤銷密鑰設計,使單個撤銷密鑰適用於多個過時的承諾事務。這種方法大大減少了瞭望塔和使用者用戶端的存儲需求。

關於網絡流量系統:支付通道適用於一對一交易,但閃電網絡支持多跳支付,允許沒有直接通道的各方之間通過中間節點進行路由的交易。例如,如果愛麗絲和肯沒有直接通道,但肯和鮑伯有,鮑伯和愛麗絲有,鮑伯可以作為中間人促進愛麗絲和肯之間的交易。

“多跳路由”增強了網絡的靈活性和覆蓋範圍。但發送方需要注意所有公共節點和通道的狀態。在Fiber中,整個網絡結構,包括所有公共通道,都是完全透明的,允許任何節點從其他節點訪問網絡信息。由於閃電網絡中的網絡狀態不斷變化,Fiber使用Dijkstra算法找到最短的路由路徑,盡量減少中介的數量,並在兩方之間建立交易路徑。

解決與中介機構的信任問題:您如何確保他們是誠實的?例如,如果愛麗絲需要向肯支付 100 個單位,但作為他們中間人的鮑勃可能會扣留資金。HTLC 和 PTLC 用於防止此類惡意行為。假設愛麗絲想向丹尼爾支付 100 個單位,但他們沒有直接管道。愛麗絲發現她可以通過中間人鮑勃和卡羅爾來付款。HTLC作為支付管道被引入:Alice首先向Daniel發起請求,Daniel隨後向Alice提供哈希r,但Alice不知道r對應的原像R。

然後,艾麗絲通過HTLC與鮑勃建立付款條款:艾麗絲願意支付鮑勃102個單位,但鮑勃必須在30分鐘內揭示密鑰R;否則,艾麗絲將撤回資金。同樣,鮑勃與卡羅爾創建了一個HTLC:鮑勃將支付卡羅爾101個單位,但卡羅爾必須在25分鐘內揭示密鑰R;否則,鮑勃將撤回資金。卡羅爾與丹尼爾也是如此:卡羅爾願意支付丹尼爾100個單位,但丹尼爾必須在20分鐘內揭示密鑰R;否則,卡羅爾將撤回資金。

Daniel明白,卡罗尔要求的密钥R其实是爱丽丝想要的,因为只有爱丽丝对R的价值感兴趣。所以,Daniel与卡罗尔合作,提供密钥R,并从卡罗尔那里收到100单位。这样一来,爱丽丝实现了支付给Daniel 100单位的目标。

隨後,卡羅將密鑰R提供給鮑勃,並獲得101單位。鮑勃隨後將密鑰R提供給愛麗絲,並獲得102單位。觀察每個人的盈虧,愛麗絲損失102單位,鮑勃和卡羅每人賺取淨利潤1單位,丹尼爾獲得100單位。鮑勃和卡羅賺取的1單位是他們從愛麗絲那裡抽取的費用。

即使支付路徑中的某人(例如 Carol)未能向下游的 Bob 提供金鑰 R,這也不會導致 Bob 損失:超時後,Bob 可以撤回他構建的 HTLC。對 Alice 也是一樣。然而,閃電網絡也存在問題:路徑不應該過長。如果路徑過長,有太多中間人,會降低支付的可靠性。有些中間人可能下線,或者缺乏足夠的餘額來構建特定的 HTLC(例如,前一個例子中的每個中間人都需要持有超過 100 單位)。因此,添加更多的中間人會增加錯誤的可能性。

此外,HTLC可能會洩露隱私。雖然洋蔥路由可以通過在每一跳加密路由信息提供一些隱私保護,以便每個參與者僅知道其直接鄰居而不知道完整的路徑,但HTLC仍然容易被推斷關係。從更高的角度來看,完整的路由路徑仍然可以被推斷出來。

假設Bob和Daniel由同一實體控制,每天收到許多HTLC。 他們注意到Alice和Carol要求的金鑰R始終相同,連接到Daniel的下游節點Eve始終知道金鑰R的內容。 因此,Daniel和Bob可以推斷Alice和Eve之間存在付款路徑,因為他們始終處理相同的金鑰並可以監視他們的關係。 為了解決這個問題,Fiber使用PTLCs,通過在付款路徑中使用不同的金鑰來解鎖每個PTLC,從而增強了HTLCs的隱私。 單獨觀察PTLCs無法確定節點之間的關係。 通過將PTLCs與洋蔥路由相結合,Fiber成為保護隱私付款的理想解決方案。

此外,傳統的閃電網絡容易受到“替換循環攻擊”的威脅,這可能導致支付路徑中介損失資產。這個問題導致開發者安托萬·里亞德退出了閃電網絡的開發。目前,比特幣閃電網絡尚缺乏此問題的基本解決方案,這使得它成為一個痛點。目前,CKB 通過在交易池層面進行改進,使Fiber能夠減輕這個問題。由於替換循環攻擊及其解決方案相當復雜,本文將不深入探討。感興趣的讀者可以參考BTCStudy和官方CKB資源中的相關文章獲取更多信息。

總的來說,Fiber 在隱私和安全方面都顯著優於傳統的閃電網絡。Fiber 增強了自身與比特幣閃電網絡之間的跨領域原子支付。

使用HTLC和PTLC,Fiber可以通過比特幣閃電網絡實現跨領域支付,確保“跨領域操作的原子性”,即跨領域交易的所有步驟要麼完全成功,要麼完全失敗,不會出現部分成功或失敗。通過確保跨領域原子性,資產損失的風險得到了緩解。這使得Fiber能夠與比特幣閃電網絡互連,實現從Fiber到BTC閃電網絡用戶的直接支付(接收方僅限於BTC),並允許將資產轉換為CK

在BTC闪电网络中,将B和RGB++资产转换为等值的比特币。

以下是一個簡化的過程說明:假設艾麗絲在Fiber網絡中操作節點,鮑勃在比特幣閃電網絡中操作節點。如果艾麗絲想要向鮑勃轉移一些錢,她可以通過跨域中介人Ingrid進行。Ingrid將在Fiber和BTC閃電網絡中運行節點,作為支付路徑中的中介人。

如果Bob想要收到1个BTC,Alice可以与Ingrid协商一个汇率,将1个CKB设定为1个BTC。然后,Alice会在Fiber网络中向Ingrid发送1.1个CKB,Ingrid会在比特币闪电网络中向Bob发送1个BTC,并保留0.1个CKB作为费用。

該過程涉及使用 HTLC 在 Alice、Ingrid 和 Bob 之間建立支付路徑。鮑勃必須向英格麗德提供金鑰 R 才能接收資金。一旦英格麗德擁有鑰匙R,她就可以解鎖愛麗絲鎖定在HTLC中的資金。

比特幣閃電網絡和Fiber之間的跨領域操作是原子性的,這意味著無論是兩者HTLC解鎖並且跨領域付款成功執行,還是兩者都未解鎖並且付款失敗。這確保了如果Bob沒有收到錢,Alice不會損失。

Ingrid在得知密鑰R後,可能無法解鎖Alice的HTLC,但這將損害Ingrid,而非Alice。因此,Fiber的設計確保用戶的安全,並且無需對第三方機構信任,從而實現在不需進行大幅修改的情況下,在不同P2P網絡間進行轉帳。

相較於比特幣閃電網絡,Fiber的其他優勢

之前,我們提到Fiber支援原生CKB資產和RGB++資產(尤其是穩定幣),使其具有即時支付的巨大潛力,並使其非常適合日常小額交易。

相比之下,比特幣閃電網絡的一個主要問題是流動性管理。正如我們在開頭討論的那樣,支付通道中的總餘額是固定的。如果一方的餘額耗盡,他們就無法將資金轉給對方,除非對方先送錢。這需要重新加載資金或開啟新通道。

此外,在複雜的多跳網路中,如果一些中間節點餘額不足,無法轉發支付,可能會導致整個支付路徑失敗。這是閃電網路的痛點之一。典型的解決方案涉及提供高效的流動性注入機制,以確保大多數節點可以根據需要注入資金。

然而,在比特幣閃電網絡中,流動性注入以及通道的開啟或關閉都發生在比特幣區塊鏈上。如果比特幣網絡費用非常高,它將對支付通道的用戶體驗產生負面影響。例如,如果您想要開啟一個容量為100美元的通道,但設置費用為10美元,這意味著您的資金中有10%只是用於設置通道,這對大多數用戶來說是無法接受的。同樣的問題也適用於流動性注入。

相比之下,Fiber提供了显著的优势。首先,CKB的TPS(每秒交易数)比比特币高得多,费用可达到分级成本。其次,为了解决流动性短缺问题并确保交易顺畅,Fiber计划与Mercury Layer合作,引入新的解决方案,消除了对链上操作进行流动性注入的需求,从而解决了UX和成本问题。

我們現在已經系統地概述了光纖的整體技術架構,並將其與比特幣閃電網路進行了比較,如上圖所示。鑒於光纖和閃電網路所涵蓋的主題的複雜性和廣度,一篇文章可能無法解決所有方面。我們將在未來發佈一系列文章,重點關注閃電網路和光纖的各個方面。請繼續關注更多更新。

免責聲明:

  1. 此文章轉載自 [極客web3]. 轉發原標題‘系统解读Fiber:把閃電網絡嫁接到CKB上的宏大實驗’.所有版權歸原作者所有 [Faust & Nickqiao,极客web3。如果對此轉載有任何異議,請聯絡Gate 學習團隊會儘快處理。
  2. 免責聲明:本文所表達的觀點和意見僅代表作者個人觀點,並不構成任何投資建議。
  3. 文章的翻譯工作由Gate Learn團隊完成。除非另有說明,禁止複製、分發或抄襲翻譯的文章。

Fiber的系统解读:将闪电网络与CKB集成

進階Sep 09, 2024
本文對基於CKB的Fiber Network閃電網絡解決方案進行了深入分析,探討了其在支付通道、WatchTower、多跳路由和跨領域支付方面的技術創新。詳細介紹了Fiber通過技術優化如何提升用戶體驗、隱私保護和安全性,同時還探討了它與比特幣閃電網絡的互操作性潛力。
Fiber的系统解读:将闪电网络与CKB集成

转发原文标题‘系统解读Fiber:把闪电网络嫁接到CKB上的宏大实验’

8月23日,CKB正式發布Fiber Network,這是一個基於CKB的閃電網絡解決方案。這一消息迅速引發社區的激烈討論,使CKB的價格在短短一天內急劇上漲了近30%。這一強烈反應可以歸因於閃電網絡引人入勝的敘述以及Fiber相對於傳統閃電網絡提供了許多改進的事實。例如,Fiber在本身支持多種資產類型,包括CKB、BTC和穩定幣,並且受益於CKB較低的交易費用和更快的響應時間,這使得顯著的UX進步成為可能。此外,Fiber在隱私和安全方面進行了多項優化。此外,Fiber和BTC閃電網絡可以互聯,形成一個更大的P2P網絡。CKB的官方甚至提到他們計劃在線下活動期間在Fiber和閃電網絡中建立10萬個實體節點,以增強和推進P2P支付網絡。這無疑代表了一個宏偉且前所未有的故事。

如果 CKB 的官方願景在未來實現,將對閃電網絡、CKB 和更廣泛的比特幣生態系統帶來重大利好。根據mempool數據,比特幣閃電網絡目前持有超過3億美元的資金,大約有12,000個節點之間建立了近50,000個付款通道。

在 spendmybtc.com 上,我們可以觀察到越來越多的商家支持閃電網絡支付。隨著比特幣的認可度增加,閃電網絡和Fiber等離鏈支付解決方案的興起可能會增勢。為了系統地分析Fiber的技術解決方案,“Geek Web3”製作了這份關於整體Fiber解決方案的研究報告。作為基於CKB的閃電網絡的實現,Fiber的原則在很多細節上與比特幣閃電網絡基本一致,但包括了許多優化。Fiber的整體架構包括四個核心組件:支付通道、看門狗、多跳路由和跨域支付。讓我們從解釋最重要的組件開始:支付通道。

閃電網絡和Fiber的基礎:支付通道

支付通道基本上是將交易移出鏈外,在一段時間後在鏈上結算最終狀態。由於交易是在鏈外完成的,它們通常可以避開主鏈的性能限制,比如 BTC。例如,如果 Alice 和 Bob 共同打開一個通道,他們首先在鏈上創建一個多簽帳戶並存入一些資金,比如每人100個單位,作為他們在鏈外通道中的餘額。然後他們可以在通道內進行多筆交易,當他們關閉通道時,他們在鏈上同步最終餘額,多簽帳戶向雙方支付款項-這就是“結算”。

例如,如果雙方都從每個100單位開始,愛麗絲將50單位轉移給鮑勃,然後再轉移10單位,然後鮑勃將30單位轉移回愛麗絲,他們的最終餘額將是:愛麗絲-70單位,鮑勃-130單位。總餘額保持不變,如算盤珠子示例所示。如果一方退出通道,最終餘額(愛麗絲:70,鮑勃:130)將在鏈上同步,並且根據這些最終餘額將多重簽名帳戶的200單位分配以完成結算。

雖然這個過程看起來很簡單,但它在實踐中涉及複雜的考慮。您無法預測對方何時退出宣告頻道。例如,Bob 可以在第二筆交易甚至第一筆交易之後退出,因為該頻道允許參與者自由退出。為了解決這個問題,系統假設任何人都可以隨時退出,任何一方都可以將最終餘額提交給鏈進行結算。這是通過「合約交易」來管理的,該交易記錄管道中的最新餘額。每個事務都會生成相應的承諾事務。要退出通道,您需要向鏈提交最新的承諾交易,以從多重簽名帳戶中提取您的份額。

我們可以得出結論,承諾交易用於在鏈上結算通道兩方的餘額,任何一方都可以提交最新的承諾交易以退出通道。然而,存在一個重要的惡意情景:Bob 可能提交一個過時的餘額和承諾交易到鏈上。例如,在生成 Commit Tx3 後,Bob 的餘額為 130 單位。但是,為了自己的利益,Bob 可能提交過時的 Commit Tx2,顯示餘額為 160 單位。這個過時的餘額代表了一個經典的“雙重花費”攻擊。

為了防止這種雙重支付的情況,必須有適當的懲罰措施。這些懲罰措施的設計是一對一支付通道系統的核心,了解這一點對於掌握支付通道的運作方式至關重要。在通道設計中,如果任何一方提交了過時的狀態和承諾交易到鏈上,他們將發現對方可以撤回所有資金,而不是獲益。這利用了“非對稱承諾交易”和“撤銷密鑰”的概念,這兩者都至關重要。讓我們首先以 Commit Tx3 作為例子來解釋“非對稱承諾交易”。

在這種情況下,Bob 創建一個承諾交易並將其發送給 Alice 進行處理。如圖所示,此交易涉及比特幣轉帳,宣稱多重簽名帳戶中的 70 單位分配給 Alice,130 單位分配給 Bob。然而,解鎖條件是“非對稱的”,對 Alice 施加更嚴格的限制,有利於 Bob。

當愛麗絲收到鮑勃的承諾交易時,她可以添加她的簽名以滿足2/2多簽名要求。愛麗絲隨後可以選擇在鏈上提交此承諾交易以退出通道。或者,如果她不提交,她可以繼續在通道內進行交易。

重要的是要注意,這個承諾交易是由Bob構建的,並且對Alice不利。 Alice有選擇接受或拒絕它的權利,但我們需要確保她保留一定的自主權。在支付通道的設計中,只有Alice可以將“不利”的承諾交易提交到鏈上,因為承諾交易需要2/2多簽名。在Bob本地構建交易之後,它只有他的簽名,缺少Alice的簽名。

愛麗絲可以“接受鮑勃的簽名,但保留自己的簽名”。這類似於需要雙重簽名的合同。如果鮑勃先簽字並將合同發送給愛麗絲,她可以選擇不提供她的簽名。為了使合同生效,愛麗絲需要簽署然後提交;否則,她可以避免簽署或提交。因此,在這種情況下,愛麗絲有辦法限制鮑勃的行動。

這是關鍵點:每次通道內發生交易時,都會生成一對承諾交易,其兩個版本相互對應,如下所示。愛麗絲和鮑勃可以各自創建對自己有利的承諾交易,指定他們各自的餘額或退出時應收到的金額,然後將這些交易發送給對方處理。

有趣的是,雖然這兩個承諾交易宣稱“退出時應收到的金額”相同,但它們的提取條件不同。這說明了之前提到的“非對稱承諾交易”的概念。

如前所述,每个承诺交易都需要2/2多重签名才能有效。Bob创建的有利于自己的承诺交易不符合2/2多重签名的要求,而符合这一要求的承诺交易由Alice持有,并且只能由她提交,从而形成了一种制衡机制。相同的逻辑也适用于相反的情况。

因此,艾莉絲和鮑伯只能提交對自己不利的承諾交易。如果任何一方向區塊鏈提交了承諾交易並且生效,通道將被關閉。

關於先前討論的“雙花”情況,如果有人向區塊鏈提交過時的承諾交易,就會引入“撤銷密鑰”概念。例如,如果 Bob 將過時的 Tx2 提交到鏈上,Alice 可以使用與 Tx2 相關的撤銷密鑰來提取本應由 Bob 收到的資金。

在本示意圖中,假設最新的承諾交易是 Commit Tx3,而 Tx2 已過期,如果 Bob 提交過期的 Tx2,Alice 可以在時鎖定期間內使用 Tx2 的撤銷密鑰取回 Bob 的資金。


關於最新的 Tx3,Alice 目前並沒有該筆交易的撤銷密鑰,只有在未來 Tx4 建立後才會獲得。這是由於公鑰/私鑰密碼學和 UTXO 特性所導致的。為了簡潔起見,本文不會討論撤銷密鑰的實現細節。

關鍵要點是,如果鮑勃敢將過時的承諾交易提交到區塊鏈上,愛麗絲可以使用撤銷密鑰作為懲罰來提取鮑勃的資金。同樣,如果愛麗絲有惡意行為,鮑勃可以對她進行同樣的懲罰。這個機制確保了一對一的支付通道有效地防止了雙重支付,因為理性的參與者會避免惡意行為。

在這個背景下,基於CKB的Fiber在比特幣閃電網絡上提供了顯著的改進。它本地支援多種資產類型的交易和轉移,包括CKB、BTC和RGB++穩定幣,而閃電網絡僅本地支援比特幣。即使在Taproot資產升級之後,比特幣閃電網絡仍然無法本地支援非BTC資產,只能間接支援穩定幣。


(圖片來源:大胖頓)另外,由於Fiber依賴CKB作為其第1層主鏈,因此與BTC閃電網絡相比,開啟和關閉通道的費用顯著降低。這降低了用戶的交易成本,代表了在用戶體驗(UX)方面的明顯優勢。

24/7安全:WatchTower

吊銷密鑰的一個挑戰是渠道參與者必須不斷相互監控,以防止提交過時的承諾交易。但是,沒有人可以 24/7 全天候在線,那麼如果一方惡意行事而另一方離線會發生什麼?光纖和比特幣閃電網路都通過瞭望塔的設計解決了這個問題。

WatchTowers 旨在全天候監控鏈上活動。如果有人提交過時的承諾交易,WatchTower 將及時採取行動保護通道和資金。以下是其運作方式:

在提交交易后,Alice或Bob可以提前準備相應的懲罰交易(使用撤銷金鑰處理過期的承諾交易,受益人宣告為他們自己)。然後將此懲罰交易的明文提供給WatchTower。

當 WatchTower 偵測到提交到鏈上的過時承諾交易時,它也會提交預先準備好的懲罰交易,執行懲罰並保護通道的完整性。

Fiber 通過要求用戶只向 WatchTower 發送“過時承諾交易的哈希值+處罰交易的明文”來保護參與者的隱私。這樣,WatchTower 最初只知道承諾交易的哈希值,而不知道其明文。只有在有人實際在鏈上提交了過時的承諾交易時,WatchTower 才會看到明文,屆時它還會提交處罰交易。這確保了只有在真正出現不端行為時,WatchTower 才會看到參與者的交易記錄,而且即使如此,它也只會看到單筆交易。

在優化方面,Fiber改進了比特幣閃電網絡對懲罰機制的方法。閃電網絡的“LN-Penalty”存在一個顯著的缺點:WatchTowers必須存儲所有過時的承諾交易哈希和相應的撤銷密鑰,這導致了重大的存儲壓力。2018年,比特幣社區提出了一個名為“eltoo”的解決方案來解決這個問題。Eltoo將允許最新的承諾交易懲罰過時的交易,減少了存儲所有以前交易的需求。然而,這個解決方案需要激活SIGHASH_ANYPREVOUT操作碼,而該操作碼尚未被實施。

另一方面,Fiber採用Daric協定,該協定修改了撤銷密鑰設計,使單個撤銷密鑰適用於多個過時的承諾事務。這種方法大大減少了瞭望塔和使用者用戶端的存儲需求。

關於網絡流量系統:支付通道適用於一對一交易,但閃電網絡支持多跳支付,允許沒有直接通道的各方之間通過中間節點進行路由的交易。例如,如果愛麗絲和肯沒有直接通道,但肯和鮑伯有,鮑伯和愛麗絲有,鮑伯可以作為中間人促進愛麗絲和肯之間的交易。

“多跳路由”增強了網絡的靈活性和覆蓋範圍。但發送方需要注意所有公共節點和通道的狀態。在Fiber中,整個網絡結構,包括所有公共通道,都是完全透明的,允許任何節點從其他節點訪問網絡信息。由於閃電網絡中的網絡狀態不斷變化,Fiber使用Dijkstra算法找到最短的路由路徑,盡量減少中介的數量,並在兩方之間建立交易路徑。

解決與中介機構的信任問題:您如何確保他們是誠實的?例如,如果愛麗絲需要向肯支付 100 個單位,但作為他們中間人的鮑勃可能會扣留資金。HTLC 和 PTLC 用於防止此類惡意行為。假設愛麗絲想向丹尼爾支付 100 個單位,但他們沒有直接管道。愛麗絲發現她可以通過中間人鮑勃和卡羅爾來付款。HTLC作為支付管道被引入:Alice首先向Daniel發起請求,Daniel隨後向Alice提供哈希r,但Alice不知道r對應的原像R。

然後,艾麗絲通過HTLC與鮑勃建立付款條款:艾麗絲願意支付鮑勃102個單位,但鮑勃必須在30分鐘內揭示密鑰R;否則,艾麗絲將撤回資金。同樣,鮑勃與卡羅爾創建了一個HTLC:鮑勃將支付卡羅爾101個單位,但卡羅爾必須在25分鐘內揭示密鑰R;否則,鮑勃將撤回資金。卡羅爾與丹尼爾也是如此:卡羅爾願意支付丹尼爾100個單位,但丹尼爾必須在20分鐘內揭示密鑰R;否則,卡羅爾將撤回資金。

Daniel明白,卡罗尔要求的密钥R其实是爱丽丝想要的,因为只有爱丽丝对R的价值感兴趣。所以,Daniel与卡罗尔合作,提供密钥R,并从卡罗尔那里收到100单位。这样一来,爱丽丝实现了支付给Daniel 100单位的目标。

隨後,卡羅將密鑰R提供給鮑勃,並獲得101單位。鮑勃隨後將密鑰R提供給愛麗絲,並獲得102單位。觀察每個人的盈虧,愛麗絲損失102單位,鮑勃和卡羅每人賺取淨利潤1單位,丹尼爾獲得100單位。鮑勃和卡羅賺取的1單位是他們從愛麗絲那裡抽取的費用。

即使支付路徑中的某人(例如 Carol)未能向下游的 Bob 提供金鑰 R,這也不會導致 Bob 損失:超時後,Bob 可以撤回他構建的 HTLC。對 Alice 也是一樣。然而,閃電網絡也存在問題:路徑不應該過長。如果路徑過長,有太多中間人,會降低支付的可靠性。有些中間人可能下線,或者缺乏足夠的餘額來構建特定的 HTLC(例如,前一個例子中的每個中間人都需要持有超過 100 單位)。因此,添加更多的中間人會增加錯誤的可能性。

此外,HTLC可能會洩露隱私。雖然洋蔥路由可以通過在每一跳加密路由信息提供一些隱私保護,以便每個參與者僅知道其直接鄰居而不知道完整的路徑,但HTLC仍然容易被推斷關係。從更高的角度來看,完整的路由路徑仍然可以被推斷出來。

假設Bob和Daniel由同一實體控制,每天收到許多HTLC。 他們注意到Alice和Carol要求的金鑰R始終相同,連接到Daniel的下游節點Eve始終知道金鑰R的內容。 因此,Daniel和Bob可以推斷Alice和Eve之間存在付款路徑,因為他們始終處理相同的金鑰並可以監視他們的關係。 為了解決這個問題,Fiber使用PTLCs,通過在付款路徑中使用不同的金鑰來解鎖每個PTLC,從而增強了HTLCs的隱私。 單獨觀察PTLCs無法確定節點之間的關係。 通過將PTLCs與洋蔥路由相結合,Fiber成為保護隱私付款的理想解決方案。

此外,傳統的閃電網絡容易受到“替換循環攻擊”的威脅,這可能導致支付路徑中介損失資產。這個問題導致開發者安托萬·里亞德退出了閃電網絡的開發。目前,比特幣閃電網絡尚缺乏此問題的基本解決方案,這使得它成為一個痛點。目前,CKB 通過在交易池層面進行改進,使Fiber能夠減輕這個問題。由於替換循環攻擊及其解決方案相當復雜,本文將不深入探討。感興趣的讀者可以參考BTCStudy和官方CKB資源中的相關文章獲取更多信息。

總的來說,Fiber 在隱私和安全方面都顯著優於傳統的閃電網絡。Fiber 增強了自身與比特幣閃電網絡之間的跨領域原子支付。

使用HTLC和PTLC,Fiber可以通過比特幣閃電網絡實現跨領域支付,確保“跨領域操作的原子性”,即跨領域交易的所有步驟要麼完全成功,要麼完全失敗,不會出現部分成功或失敗。通過確保跨領域原子性,資產損失的風險得到了緩解。這使得Fiber能夠與比特幣閃電網絡互連,實現從Fiber到BTC閃電網絡用戶的直接支付(接收方僅限於BTC),並允許將資產轉換為CK

在BTC闪电网络中,将B和RGB++资产转换为等值的比特币。

以下是一個簡化的過程說明:假設艾麗絲在Fiber網絡中操作節點,鮑勃在比特幣閃電網絡中操作節點。如果艾麗絲想要向鮑勃轉移一些錢,她可以通過跨域中介人Ingrid進行。Ingrid將在Fiber和BTC閃電網絡中運行節點,作為支付路徑中的中介人。

如果Bob想要收到1个BTC,Alice可以与Ingrid协商一个汇率,将1个CKB设定为1个BTC。然后,Alice会在Fiber网络中向Ingrid发送1.1个CKB,Ingrid会在比特币闪电网络中向Bob发送1个BTC,并保留0.1个CKB作为费用。

該過程涉及使用 HTLC 在 Alice、Ingrid 和 Bob 之間建立支付路徑。鮑勃必須向英格麗德提供金鑰 R 才能接收資金。一旦英格麗德擁有鑰匙R,她就可以解鎖愛麗絲鎖定在HTLC中的資金。

比特幣閃電網絡和Fiber之間的跨領域操作是原子性的,這意味著無論是兩者HTLC解鎖並且跨領域付款成功執行,還是兩者都未解鎖並且付款失敗。這確保了如果Bob沒有收到錢,Alice不會損失。

Ingrid在得知密鑰R後,可能無法解鎖Alice的HTLC,但這將損害Ingrid,而非Alice。因此,Fiber的設計確保用戶的安全,並且無需對第三方機構信任,從而實現在不需進行大幅修改的情況下,在不同P2P網絡間進行轉帳。

相較於比特幣閃電網絡,Fiber的其他優勢

之前,我們提到Fiber支援原生CKB資產和RGB++資產(尤其是穩定幣),使其具有即時支付的巨大潛力,並使其非常適合日常小額交易。

相比之下,比特幣閃電網絡的一個主要問題是流動性管理。正如我們在開頭討論的那樣,支付通道中的總餘額是固定的。如果一方的餘額耗盡,他們就無法將資金轉給對方,除非對方先送錢。這需要重新加載資金或開啟新通道。

此外,在複雜的多跳網路中,如果一些中間節點餘額不足,無法轉發支付,可能會導致整個支付路徑失敗。這是閃電網路的痛點之一。典型的解決方案涉及提供高效的流動性注入機制,以確保大多數節點可以根據需要注入資金。

然而,在比特幣閃電網絡中,流動性注入以及通道的開啟或關閉都發生在比特幣區塊鏈上。如果比特幣網絡費用非常高,它將對支付通道的用戶體驗產生負面影響。例如,如果您想要開啟一個容量為100美元的通道,但設置費用為10美元,這意味著您的資金中有10%只是用於設置通道,這對大多數用戶來說是無法接受的。同樣的問題也適用於流動性注入。

相比之下,Fiber提供了显著的优势。首先,CKB的TPS(每秒交易数)比比特币高得多,费用可达到分级成本。其次,为了解决流动性短缺问题并确保交易顺畅,Fiber计划与Mercury Layer合作,引入新的解决方案,消除了对链上操作进行流动性注入的需求,从而解决了UX和成本问题。

我們現在已經系統地概述了光纖的整體技術架構,並將其與比特幣閃電網路進行了比較,如上圖所示。鑒於光纖和閃電網路所涵蓋的主題的複雜性和廣度,一篇文章可能無法解決所有方面。我們將在未來發佈一系列文章,重點關注閃電網路和光纖的各個方面。請繼續關注更多更新。

免責聲明:

  1. 此文章轉載自 [極客web3]. 轉發原標題‘系统解读Fiber:把閃電網絡嫁接到CKB上的宏大實驗’.所有版權歸原作者所有 [Faust & Nickqiao,极客web3。如果對此轉載有任何異議,請聯絡Gate 學習團隊會儘快處理。
  2. 免責聲明:本文所表達的觀點和意見僅代表作者個人觀點,並不構成任何投資建議。
  3. 文章的翻譯工作由Gate Learn團隊完成。除非另有說明,禁止複製、分發或抄襲翻譯的文章。
即刻開始交易
註冊並交易即可獲得
$100
和價值
$5500
理財體驗金獎勵!