閃電網絡是如何工作的 (1)?

來源:字節元 CKB

作爲構建在比特幣區塊鏈之上的 P2P 網絡,閃電網絡不僅能夠有效解決比特幣 “又慢又貴” 的難題,而且在加密支付領域有着其他解決方案無可比擬的優勢,是我們實現 P2P 經濟的基礎,也是我們憧憬的 Web5 世界的重要組成部分。

今天這篇文章,我們將繼續介紹閃電網絡,講清楚閃電網絡的運行原理和相關技術。

閃電網絡的基石:支付通道

閃電網絡本質上是一個精心設計的支付通道系統。以 Alice 和 Bob 之間的交易爲例,他們使用閃電網絡進行結算時,會經歷以下三個關鍵階段:开啓通道、進行交易、關閉通道。

1、开啓通道:構建信任的橋梁

所謂开啓通道,實質上是創建一個由參與雙方共同控制的多籤錢包,並向該錢包注入資金。這個錢包接收的資金總額即爲這個通道的余額。

我們假設 Alice 和 Bob 各自持有 10 萬聰 BTC。首先,他們需要將各自的 10 萬聰轉入一個由兩人共同控制的多籤錢包地址,作爲建立通道的質押金。這筆交易,被稱爲 “Funding Transaction(充值交易)” 或者 “Anchor Transaction(錨點交易)”,需要廣播到網絡並記錄在比特幣區塊鏈上,以表明通道的正式开啓。在這個例子中,連接 Alice 和 Bob 的支付通道實質就是一個普通的 2-of-2 多籤名錢包,裏面包含 20 萬聰的余額(爲簡化說明,我們暫不考慮开啓通道時需要支付的礦工費)。

2、开始交易:鏈下交易的藝術

通道开啓後,參與雙方的後續交易將全部在比特幣區塊鏈之外進行,實現了高效的鏈下結算。讓我們假設 Alice 和 Bob 之間進行了以下 3 次交易:

  1. Alice 向 Bob 轉账 1 萬聰,此時 Alice 擁有 9 萬聰,Bob 擁有 11 萬聰。

  2. Alice 繼續向 Bob 轉账 2 萬聰,此時 Alice 擁有 7 萬聰,Bob 擁有 13 萬聰。

  3. Bob 向 Alice 轉账 1 萬聰,此時 Alice 擁有 8 萬聰,Bob 擁有 12 萬聰。

從上面的例子中,我們可以看到,無論 Alice 和 Bob 之間進行多少次轉账,他們之間的通道余額始終保持不變,都是 20 萬聰。

每次 Alice 和 Bob 發生交易時,雙方需要更新通道中各自的余額,並交換經過籤名的 “承諾交易(Commitment Transaction)”。這些交易本身都是有效的,可以隨時發送到比特幣網絡中,但雙方通常會將其保存而不廣播,除非他們打算關閉通道。如此一來,通道內 Alice 和 Bob 的余額狀態,一秒內變動幾十次、幾百次都沒問題,更新的速度僅受限於雙方創建、籤名和向對方發送承諾交易的速度。

3、關閉通道:最終結算的時刻

關閉通道可以通過兩種方式進行:一是雙方一致同意關閉,將一筆結算交易(Settlement Transaction)發送到比特幣網絡中;二是單方決定關閉,將最後一筆承諾交易(Commitment Transaction)發送到比特幣網絡中。後者的設計是爲了防止某一方離线導致另一方在通道中的余額一直被鎖定的情形。

在 Alice 和 Bob 的例子中,他們在進行了3 筆交易後決定關閉通道。關閉後,Alice 取回 8 萬聰,Bob 取回 12 萬聰(同樣,爲簡化說明,我們不考慮關閉通道時產生的礦工費)。

雙向支付通道的安全保障:從 LN-Penalty 到 eltoo 再到 Daric

上文提到,關閉通道既可以雙方一致同意關閉,也可以是單方決定關閉。那么,在雙向支付通道中,如何防止某一方欺詐呢?比如上面的例子中,如何防止 Bob 拿着第 2 次而不是第 3 次承諾交易來關閉通道呢?如果使用第 2 次的承諾交易關閉通道,Bob 可以抵賴掉最後付給 Alice 的 1 萬聰付款,這顯然看上去很有誘惑力。

比特幣閃電網絡引入了 LN-Penalty 機制來防止某一方把一個過時的但對自己有利的狀態發送的鏈上來關閉通道。LN-Penalty 使用 “不對稱的承諾交易” 和 “撤銷密鑰” 等復雜技術,確保如果 Bob 試圖使用過時的承諾交易關閉通道,Alice 將有權獲得通道內的全部資金 —— 20 萬聰。這種懲罰機制有效遏制了潛在的欺詐行爲。

然而,LN-Penalty 也存在一些不足,除了自身的復雜性之外,還造成了存儲負擔 —— 用戶必須保存過去每一次更新通道狀態時候的資料,還有一些罕見的情形可能會導致它意外地懲罰誠實的用戶。

爲了克服這些缺點,早在 2018 年,比特幣社區就提出了名爲 “eltoo” 的解決方案,來消除存儲負擔和意外懲罰的風險。在這個方案中,用戶只需保存最新一筆承諾交易及其結算交易即可。然而,eltoo 方案至今還不可用,因爲它的實施需要對比特幣進行軟分叉,引入一個新的籤名哈希類型 —— SIGHASH_ANYPREVOUT。

Nervos CKB 推出的閃電網絡 Fiber Network 則選擇了 2022 年提出的 Daric 方案。Daric 在 eltoo 的基礎之上,有效解決了瞭望塔(Watchtower)的成本和安全性問題。瞭望塔是運行在獨立機器和網絡上的閃電網絡節點,會監控支付通道,並在檢測到惡意行爲時幫助受害方執行罰沒交易,從而保護用戶的資金。節點操作者通常會運行自己的瞭望塔,以保護自己的節點。

結語

閃電網絡作爲比特幣擴容解決方案,其核心在於巧妙設計的支付通道系統。通過开啓通道、鏈下交易和關閉通道三個階段,閃電網絡大幅提升了交易速度並降低了成本。

爲確保雙向支付通道的安全,閃電網絡採用了 LN-Penalty 機制,比特幣社區還提出了 eltoo、Daric 等更優的安全機制,來有效防範潛在的欺詐行爲。

這些創新使得閃電網絡在保證安全性的同時,爲比特幣網絡帶來了顯著的性能提升,爲實現快速、低成本的小額支付鋪平了道路。

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。

相關文章