閃電網絡

比特幣出現後,區塊鏈技術被廣泛關注,但是不論比特幣系統中還是後來根據區塊鏈技術發展的區塊鏈系統中,併發量和系統處理能力一直是困擾區塊鏈發展的一個問題。

比特幣作爲最成功的區塊鏈應用,處理能力全網每秒只有7筆,每年的吞吐量約2.2億筆,而平均十分鐘生成一個區塊,基本6個區塊生成後這個區塊才確認有效(當然大額交易可能時間更長),導致平均要1個小時左右才能確定交易的最終完成。而對於分佈式賬本數據的容量來說,這個是一個只增不減的持續過程,目前完整賬本已達到150G以上。比特幣社區中一直試圖想辦法解決交易處理能力不足的問題。由於共識機制的問題(共識機制POW是比特幣網絡中核心模塊,控制區塊產生條件),交易處理能力和容量問題一直無法很好的處理。

2015年底,Joseph Poon 和 Thaddeus Dryja提出一個閃電網絡(lightning network)“閃電網絡”的論文(The Bitcoin Lightning Network: Scalable Off-Chain Instant Payments)中文版:https://wenku.baidu.com/view/f3bd55ea763231126fdb1150.html

閃電網絡-可能是影響最大的技術之一

閃電網絡的出現被認爲是繼中本聰大神的創世論文(比特幣:一種點對點的電子現金系統)後對區塊鏈影響最大的一個技術。之前比特幣優試圖通過區塊擴容(1m-2m-4m-8m),隔離見證等方式增加交易的處理能力,但是都不是一個完美的方案,既然鏈中處理艱難,那麼在鏈下處理,閃電網絡爲這個設想提供了一個可擴展的微支付通道網絡。

閃電網絡通過點對點直接支付或者網絡路由的方式間接支付,實現一種離線支付功能。閃電網絡關鍵技術:RSMC(Recoverable Sequence Maturity Contract)、HTLC(Hashed Timelock Contract)。

RSMC:RSMC爲網絡中交易的雙方之間的微支付通道定義了最基本的工作方式,

下圖簡要說明:

閃電網絡-可能是影響最大的技術之一

首先通道中有一部分的資金,在通道中記錄雙方的資金明細,通道建立後:A0.6、B0.4,這個時候A支付B 0.1,狀態變成A0.5、B0.5,雙方簽名同意上一版本明細作廢,一段時候後A再次支付B0.1,狀態變成A0.4、B0.6,雙方簽名同意上一版本明細作廢,這都是在通道中執行的操作,在通道關閉前,A向區塊鏈出示雙方簽名同意的賬戶資金明細分配,B在一段時間沒有異議,那麼通道關閉雙方的明細最終變成:A0.4、B0.6。

當然這種方式裏還有一個獎罰機制,通道的中主動要求終止通道的資金到賬幣對方晚,通道中最初的雙方資金的明細可以認爲是結算準備金,這種方式有效控制風險,每一筆交易不能超出結算準備金的限制。

HTLC:RSMC可以認爲只支持簡單的小額支付,但HTLC支持了有條件的資金支付,這使得餘額的分配方式會變得更加複雜,通過下圖解釋:

閃電網絡-可能是影響最大的技術之一

通過HTLC可以認爲A、B直接通過事先約定的協議來支付,A0.6、B0.4,這時候約定到某區塊高度,並且B出示一個X值,這個值經過HASH運算,與事先約定的值相同,那麼久轉賬0.1,A0.5、B0.5,再過一段時間到某區塊高度,並且B出示一個Y值,這個值經過HASH運算,與事先約定的值相同,那麼久轉賬0.1,A0.4、B0.6,事先對雙方BTC值做了凍結,這些操作都會在區塊鏈下進行,雙方簽字認定後,作廢之前的認定,最終需要A、B任何一方公開最終的餘額的方式才能終止通道。如對閃電網絡中的網絡架構需要深入瞭解可參考:http://www.8btc.com/ln-rn-corda

閃電網絡-可能是影響最大的技術之一

閃電網絡則通過HTLC來實現,首先假設現在有多個用戶A,B,C,D,詳見下圖:

閃電網絡-可能是影響最大的技術之一

A要支付給D一筆費用,那麼A無法直接到達D,之間必須經過B和C,這樣就構成了A\B B\C C\D三條微通道,雙方之間都和HTLC合約,那麼B先向A出示一個正確的值X,X經過HASH運算,於約定一致即可交易,同理C和B、D和C也一樣,如果X值計算不通過,那麼則這筆交易就會退回,約定之前的時間,在規定時間內,如果整個驗證都正常,那麼A就正常支付給D一筆費用,當然後節點間交易也可能產生一定的交易費用給B和C,整個過程技術架構並不複雜,和傳統的中心化交易系統相比,不需要中介轉移費用,整個交易也是透明,可追溯,不可更改。

相關文章