比特幣閃電網路和雷電網路的運作原理是什麼

閃電網路起源於比特幣的擴容問題,是基於區塊鏈技術的去中心化系統。閃電網路將帶來極致的交易處理能力和近乎瞬時的交易確認,遠超目前的VISA系統。本文剖析了它背後的原理和技術細節。

小故事

艾特幣是菜鳥國的法定貨幣,菜鳥國只有一家中心銀行,所有的艾特幣交易都需要在這家銀行進行,哪怕是一分錢的交易。菜鳥國的人民為了轉一筆錢往往需要排很長時間的隊。國王很無奈,決定改革,於是在國內新建了幾百家分行,人民存在中心銀行的錢可以在分行進行交易,再也不用都擠到中心銀行去交易了。

閃電網路概述

比特幣自誕生起一直存在若干技術問題:論處理能力,目前全網只有7筆每秒;論時延,是大致10分鐘出一個塊;論交易最終性,一般建議將等待6個塊的確認視作交易最終化,大額交易則建議等待更多;論容量,目前已生成40多萬個區塊,約60GB數據量,且眼見的未來中只見增加不見減少。

在閃電網路出現前,雖然比特幣社區也試圖通過區塊擴容、隔離見證等技術在一定程度上增加交易處理能力,但這些方式並不能導致交易處理能力出現數量級的改善。至於前面提及的其他技術難題,現存的PoW機制是萬萬動不得的,需要等待多個區塊的確認也是不能觸碰的總結,更麻煩的是:交易處理能力和區塊鏈數據容量似乎是一對無可調和的矛盾。

思路決定出路,常規方法找不到出路,就逼得社區換一個思路考慮這個問題。代碼性能調優的經驗提示我們:優化編譯、改進演算法、調整數據結構等方式雖然很重要也很管用,但怎麼能比得上「根本不執行」的強悍?既然在比特幣區塊鏈中優化性能如此艱難,為何不儘可能將交易放到鏈外執行?

倚天一出,誰與爭鋒。以比特幣區塊鏈為後盾,在鏈下實現真正的點對點微支付交易,區塊鏈處理能力的瓶頸被徹底打破,時延、最終性、容量甚至隱私問題也迎刃而解,這就是比特幣「閃電網路」(LightningNetwork)的思路。

因為這個原因,社區甚至認為:「閃電網路」的論文(The Bitcoin Lightning Network: Scalable Off-Chain Instant Payments)對比特幣的重要性僅在中本聰的創世論文之下,排名第二。

閃電網路提供了一個可擴展的微支付通道網路。交易雙方若在區塊鏈上預先設有支付通道,就可以多次、高頻、雙向地通過軋差方式實現瞬間確認的微支付;雙方若無直接的點對點支付通道,只要網路中存在一條連通雙方的、由多個支付通道構成的支付路徑,閃電網路也可以利用這條支付路徑實現資金在雙方之間的可靠轉移。

閃電網路並不試圖解決單次支付的銀貨對付問題,其假設是單次支付的金額足夠小,即使一方違約另一方的損失也非常小,風險可以承受。因此使用時必須注意「微支付」這個前提。多少資金算「微」,顯然應該根據業務而定。

閃電網路技術本質

閃電網路的關鍵技術有三,後後依賴於前前,依次是:RSMC,HTLC和閃電網路。技術實現雖然複雜,但本質卻很簡單。

RSMC

閃電網路的基礎是交易雙方之間的雙向微支付通道,RSMC(Recoverable Sequence Maturity Contract)定義了該雙向微支付通道的最基本工作方式。

微支付通道中沉澱了一部分資金,通道也記錄有雙方對資金的分配方案。通道剛設立時,初值可能是{Alice: 0.4, Bob: 0.6},意味著打入通道的資金共有1.0 BTC,其中Alice擁有0.4 BTC,Bob擁有0.6 BTC。通道的設立會記錄在比特幣區塊鏈上。

假設稍後Bob決定向Alice支付0.1 BTC。雙方在鏈下對最新餘額分配方案{Alice:0.5, Bob:0.5} 簽字認可,並簽字同意作廢前一版本的餘額分配方案{Alice:0.4,Bob:0.6},Alice就實際獲得了0.5 BTC的控制權。

菜鳥課堂:秒殺VISA系統的閃電網路
表1 前後兩個版本的餘額分配方案

如果Alice暫時不需要將通道中現在屬於她的0.5 BTC用作支付,她可以無需及時更新區塊鏈上記錄的通道餘額分配方案,因為很可能一分鐘後Alice又需要反過來向Bob支付0.1BTC,此時他們仍然只需在鏈下對新的餘額分配方案達成一致,並設法作廢前一版本的餘額分配方案就行了。

如果Alice打算終止通道並動用她的那份資金,她可以向區塊鏈出示雙方簽字的餘額分配方案。如果一段時間之內Bob不提出異議,區塊鏈會終止通道並將資金按協議轉入各自預先設立的提現地址。如果Bob能在這段時間內提交證據證明Alice企圖使用的是一個雙方已同意作廢的餘額分配方案,則Alice的資金將被罰沒並給到Bob。

實際上,前面所說的「作廢前一版本的餘額分配」,正是通過構建適當的「舉證」證據並結合罰沒機制實現的。

為了鼓勵雙方儘可能久地利用通道進行交易,RSMC對主動終止通道方給予了一定的懲罰:主動提出方其資金到賬將比對方晚,因此誰發起誰吃虧。這個設計雖然增加了技術複雜度,但應該說是合理的。

通道餘額分配方案的本質是結算準備金。在此安排下,因為要完全控制資金交收風險,每筆交易都不能突破當前結算準備金所施限制。

HTLC

RSMC只支持最簡單的無條件資金支付,HTLC(Hashed Timelock Contract)進一步實現了有條件的資金支付,通道餘額的分配方式也因此變得更為複雜。

通過HTLC,Alice和Bob可以達成這樣一個協議:協議將鎖定Alice的0.1 BTC,在時刻T到來之前(T以未來的某個區塊鏈高度表述),如果Bob能夠向Alice出示一個適當的R(稱為秘密),使得R的哈希值等於事先約定的值H(R),Bob就能獲得這0.1 BTC;如果直到時刻T過去Bob仍然未能提供一個正確的R,這0.1 BTC將自動解凍並歸還Alice。

由於到期時間T、提款條件H(R)、支付金額、支付方向的不同,同一個通道上可以同時存在多個活動的HTLC合約,加上唯一的通過RSMC協議商定的無條件資金餘額,餘額分配方式會變得相當複雜。假設雙方初始各存入0.5 BTC,一段時間後餘額分配可能這樣:

菜鳥課堂:秒殺VISA系統的閃電網路

表2 一段時間後的餘額分配方案

餘額分配方案是一種快照,只能整體刷新。接上表,如果Alice下一刻決定無條件向Bob支付0.1BTC,或者Alice在T1前向Bob出示了符合H(R1)的秘密,雙方將在鏈下交換並共同簽字認定新的快照,然後構建適當的「舉證」證據,結合罰沒機製作廢前一版本的快照。這些動作完全不出現在區塊鏈上。

引入HTLC後,任何一方仍然能通過在區塊鏈上公開最終餘額快照的方式終止通道。

閃電網路

基於HTLC可以實現終極目標「閃電網路」。

菜鳥課堂:秒殺VISA系統的閃電網路

圖1 閃電網路的支付路徑

如上圖所示,Alice想給Dave發送0.05BTC,但Alice和Dave之間並沒有微支付通道。但這沒關係,Alice找到了一條經過Bob、Carol到達Dave的支付路徑,該路徑由Alice/Bob, Bob/Carol和Carol/Dave這樣三個微支付通道串接而成。

Dave生成一個秘密R並將Hash(R)發送給Alice,Alice不需要知道R。R和Hash(R)的作用就像是古代調兵用的一對虎符。

Alice和Bob商定一個HTLC合約:只要Bob能在3天內向Alice出示哈希正確的R,Alice會支付Bob 0.052 BTC;如果Bob做不到這點,這筆錢3天後自動退還Alice。

同樣地,Bob和Carol商定一個HTLC合約:只要Carol能在2天內向Bob出示哈希正確的R,Bob會支付Carol 0.051BTC;如果Carol做不到這點,這筆錢到期自動退還Bob。

最後,Carol和Dave商定一個HTLC合約:只要Dave能在1天內向Carol出示哈希正確的R,Carol會支付Dave 0.05BTC;如果Dave做不到這點,這筆錢到期自動退還Carol。

一切就緒後,Dave及時向Carol披露R並拿到0.05 BTC;現在Carol知道了R,她可以向Bob出示密碼R並拿到0.051 BTC(差額部分的0.001 BTC成了Carol的傭金);Bob知道R後當然會向Alice出示並拿到他的那份0.052 BTC,差額部分的0.001 BTC成了Bob的傭金。

菜鳥課堂:秒殺VISA系統的閃電網路
圖2 閃電網路逐級提款

整個過程很容易理解。最終效果是Alice支付了0.052 BTC,Dave安全地拿到0.05 BTC,整個閃電支付網路為此收取的傭金成本是0.002 BTC。上述過程中的全部動作都發生在比特幣區塊鏈之外。

儘管閃電網路本身可以基於任何合適的傳統技術構建,閃電網路的支付通道也可能逐漸向少數大型中介集中,變成若干大型中介彼此互聯、普通用戶直連大型中介的形式,但這種方案仍然具有傳統中心化方案不可比擬的優勢,因為用戶現在並不需要信任中介,不需要在中介處存錢才能轉移支付,資金安全受到比特幣區塊鏈的充分保護。

閃電網路:

比特幣的交易網路最為人詬病的一點便是交易性能:全網每秒7筆的交易速度,遠低於傳統的金融交易系統;同時,等待6個塊的可信確認導致約1個小時的最終確認時間。

閃電網路的主要思路十分簡單 — 將大量交易放到比特幣區塊鏈之外進行。該設計最早是2015年2月在論文《The Bitcoin Lightning Network: Scalable Off-Chain Instant Payments》中提出。

雷電網路:

以太坊提高交易處理能力的方式主要有兩個,一個是分片技術(shard),另一個就是狀態通道技術(state channels)。雷電網路(Raiden Network)是狀態通道技術在以太坊上的實現。

以太坊的雷電網路類似於比特幣的閃電網路。雷電網路的基本理念是,用戶可以私下交換轉賬簽名消息,而不是所有的交易都放到的區塊鏈上處理。雷電網路通過以太坊網路中的點對點支付與保證金存款保留了區塊鏈系統所具備的保障機制。

雷電網路是對以太坊的擴展。雷電節點與以太坊節點一起運行,可以和其它雷電節點通信,實現轉賬,也可以和以太坊區塊鏈通信,管理保證金存款。

Total
0
Shares
發表回復
相關文章