
通證通研究院× FENBUSHI DIGITAL 聯合出品
文:宋雙傑,CFA;程東鋒
文:宋雙傑,CFA;程東鋒
導讀
導讀
摘要
文:宋雙傑,CFA;程東鋒
摘要
文:宋雙傑,CFA;程東鋒
導讀
導讀
狀態通道是一種比較熱門的擴容方案,以太坊基金會近期披露的3000萬美金的年度資金預算,有1900萬美金用於包括狀態通道和Plasma在內的以太坊2.0的開發。狀態通道有望推進區塊鏈的大規模落地商用。
目錄
區塊鏈不可能三角是指非中心化特性、安全性、擴展性三者不可能同時得到很好的滿足。
目錄
狀態通道解決方案通過將鏈下交互和鏈上清算隔離開,能夠在保障一定程度的非中心化和資產安全性的同時,實現速度更快、費用更低的交易。狀態通道作為一種鏈下擴容方案,從一般到特殊分為通用狀態通道、狀態通道和支付通道三個層次。
狀態通道面臨的主要問題包括路由問題、通道平衡問題、節點離線問題以及保證金鎖定問題。
相比於鏈上擴容方案,狀態通道巧妙地將鏈上和鏈下的職能分開,採用該方案無需改變公鏈結構,結合了鏈上的安全性和非中心化特性以及,鏈下的擴展性,但從整體生態來說,由於鏈上鍊下通信過程中可能存在的問題,狀態通道依然屬於安全性、非中心化和擴展性的一種新平衡。相比於其他鏈下擴容方案,狀態通道的隱私性較好,可做到即時性,尤其適合於固定雙方的高頻互動,其劣勢在於需要中間節點“墊付”資金、要求節點實時在線或需引入第三方來監督。
目錄
風險提示:中介節點壟斷、安全漏洞
目錄
1 狀態通道概述
2 狀態通道的三個層級
2.1 通用狀態通道
2.2 狀態通道
2.3 支付通道
3 狀態通道需攻克的關鍵問題
3.1 路由問題
3.2 通道平衡問題
正文
正文
3.4 保證金鎖定問題
二級標題
4.1 與鏈上擴容方案的對比
正文
正文
二級標題
狀態通道(State Channel)是區塊鍊鍊下(off-chain)擴容方案之一,目前有眾多知名項目都採用了狀態通道技術方案。
二級標題
1 狀態通道概述
區塊鏈的所有節點執行相同的計算、存儲相同的數據,這樣一種冗餘的架構在保障了安全性和非中心化的同時,也導致區塊鏈處理交易的速度非常慢,且費用昂貴。
狀態通道中的狀態指的是區塊鏈賬本當前的樣子,包括賬戶名稱(或UTXO模型的地址)、餘額(或UTXO模型下的未花費交易輸出)、合約數據等。狀態通道是在兩方或多方之間開闢一條鏈下通道來進行狀態交換,以實現較低的手續費和即時到賬等特性。
①交易方在鏈上鎖定一定量的資產,在區塊鏈上記錄並開闢狀態通道;
二級標題
②在通道內進行相互交易和狀態更新,但不提交到鏈上;
③當任一方想要關閉通道時,提交最終狀態到區塊鏈上進行清算。若另一方有異議,可在規定時間內申請鏈上仲裁。
當某一方試圖欺詐,提交有利於自己的非最終狀態上鍊時,另一方可以通過提交帶有時間戳的最新狀態向鏈上申訴,坐實後欺詐者會面臨被沒收抵押物的懲罰。但這要求狀態通道的用戶實時在線,如果某一方長時間離線,鏈上清算會強制執行,從而可能造成損失。這種情況下一般會引入第三方來監督是否有欺詐現象發生,但這需要設計出合理的第三方經濟激勵機制。
二級標題
狀態通道方案比較適合參與方在相對較長的時間裡需多次交換狀態、對單次轉賬的交易手續費比較敏感等場景。例如棋牌類遊戲、物聯網智能支付(M2M)、博彩平台、直播打賞等。
二級標題
2 狀態通道的三個層級
狀態通道作為一種鏈下擴容方案,從一般到特殊主要分為通用狀態通道(Generalized State Channel)、狀態通道(State Channel)和支付通道(Payment Channel)三個層級。
通用狀態通道是模塊化、標準化的狀態通道開發框架,實例化之後即成為狀態通道或支付通道。開發人員無需很熟悉狀態通道的相關技術細節也可以很容易地開發基於狀態通道的應用,用戶也可在不執行任何鏈上操作的情況下在通道內安裝、運行和終止DApp。
2.2 狀態通道
二級標題
狀態通道是在鏈下進行狀態交互的通道。通過將鏈上的圖靈完備智能合約放到鏈下執行,來實現狀態交換和鏈下擴容的目的。例如基於狀態通道開發的圍棋遊戲,就是在鏈下不斷進行狀態的交換。
典型的項目有Perun Network(支持鏈下智能合約的執行)、FunFair(基於狀態通道的對賭遊戲)。
支付通道屬於狀態通道在支付領域內的具體應用。交易雙方在狀態通道內可多次進行賬務往來,直到通道關閉時上鍊清算。鏈下轉賬快速無手續費,當一方嘗試在上鍊清算時進行欺詐,會有仲裁和懲罰機制來確保雙方的資產安全。
二級標題
典型的項目有閃電網絡(BTC的狀態通道支付網絡)、Raiden(以太坊版的閃電網絡)、Trinity(Neo版的閃電網絡)Liquidity Network(基於NOCUST協議的支付通道網絡)。
二級標題
3 狀態通道需攻克的關鍵問題
3.1 路由問題
為了將支付通道擴展為支付網絡,在已開闢的狀態通道上通過路由節點建立兩個陌生節點的連接無疑是比較經濟的。正如六度人脈理論闡釋的那樣,我們可以藉助六度人脈和世界上其他任何人建立聯繫。目前主要有如下三種路由方案:
3.1.1 哈希時間鎖合約(HTLC,Hashed-Time Lock Contract)
代表項目:閃電網絡
發送方向接收方發送BTC到1/2多重簽名地址,如果接收方不能在合約規定的時間內通過“簽名+哈希密文”的方式將BTC解鎖,那麼BTC就會退還給發送方。
如圖所示,A想通過B、C向D發送1個BTC。 D作為接收方,首先生成一個隨機私鑰r(相當於鑰匙)和公鑰R(相當於鎖),然後將R發送給A。
A和B首先搭建了哈希時間鎖合約,R就是其中的“鎖”,這裡的“時間”是3天,“哈希密文”就是只有D才知道的私鑰r。這個合約意味著只要B能在3天之內獲得私鑰r來解鎖R,就可以得到A在智能合約裡發送的1個BTC,否則這1個BTC就會退還給A。
B需要獲得私鑰r來解鎖R,按照同樣的思路,B和C的智能合約規定,只要C能在2天之內獲得私鑰r來解鎖R,就可以得到B在智能合約裡發送的1個BTC,否則這1個BTC就會退還給B。
最後C和D的智能合約也是如此,只要D能在1天之內用私鑰r來解鎖R就可以獲得這1個BTC。相當於D是用私鑰r換取了C“墊付”的1個BTC,C拿到私鑰r後再用它解鎖並換取了B“墊付”的1個BTC,之後B用r解鎖了A的1個BTC。
也就是說,D首先生成了“鎖”和對應的“鑰匙”,然後鎖依次傳到A、B、C;D收到BTC後,“鑰匙”依次傳到C、B、A。這樣幾個節點無需相互信任就實現了從A到D的安全轉賬。實際操作中,中間節點會收到額外的服務費作為經濟激勵(這也意味著經過的中間節點越多,手續費越高)。
代表項目:Perun Network
3.1.3 元通道(Meta Channel)
如圖所示,A、B都已經與I開闢了狀態通道,分別為通道X和通道Y。現在A、B向中間節點I通過智能合約發出申請,建立A和B的虛擬通道Z(虛線所示)。
A在X通道鎖定了Z(A)個通證,對應的I在Y通道也鎖定了Z(A)個通證;
B在Y通道鎖定了Z(B)個通證,對應的I在X通道也鎖定了Z(B)個通證。
鎖定之後相當於在A、B之間建立了一個虛擬通道Z,A、B在該通道內對應的可用額度分別是Z(A)、Z(B)。 A如果想向B轉賬1個通證,I的左邊會增加1個通證,與此同時右邊會減少1個通證,減少的1個通證轉給了B,達成的效果類似於武俠小說裡的“隔山打牛”,A通過I作為“跳板”向B轉賬了1個通證。虛擬通道也可以進一步擴展形成更大的網絡。
與哈希時間鎖合約方案相比,該方案的中間節點無需牽涉到每筆交易中來,只需通過智能合約自動執行,因此更具隱私性和低延遲性,但是需要中間節點鎖定足夠數量的通證,以為虛擬通道兩端提供“中介服務”。比如在上面的例子中,I節點至少需要鎖定Z(A)+Z(B)個通證。
3.1.3 元通道(Meta Channel)
代表項目:Counterfactual
該方案與虛擬通道類似,只是結構稍有差異。比如Counterfactual,是將通用狀態通道進行實例化後分別建立A和I、B和I的代理狀態通道,在此基礎上建立A、B的支付通道,實現和虛擬通道相同的效果。
3.2 通道平衡問題
在狀態通道網絡中,採用傳統計算機網絡的最短路徑的路由策略,會造成通道的不平衡狀態,反過來又會使得路由策略失效,尋路遇到“死胡同”便無法有效傳遞價值。如圖表8所示A、B、C三個節點兩兩組成的雙向狀態通道,採用最短路徑使得節點在某一通道的可用通證變為0,雙向通道變成了單向通道。左上圖是平衡狀態,對應左下圖所示雙向通道。中上圖和右上圖的通證集中到了一邊,分別對應中下和右下的單向通道。
Celer Network提出了背壓(BackPressure)路由算法,在每個時間切片內衡量局部網絡的擁堵程度和通道失衡度,然後按照背壓權重最大的方向進行路由轉移,減少網絡擁堵的同時實現通道平衡。通過對77個節點組成的254個狀態通道組成的支付網絡進行測試後發現,背壓路由算法和閃電網絡的最短路徑路由算法相比,性能提高了15倍,通道利用率提高了20倍。
Liquidity Network提出了一個允許在鏈下重新平衡支付通道的Revive協議。該協議通過使一組支付通道節點執行一組交易,來重新平衡每個節點在多個通道的通證資產量,防止單向通道形成。如下左圖所示的樹形網絡結構無法做到重新平衡,而Revive所採用的右圖所示的網絡包含環狀結構,可以實現節點在多個通道的通證分佈從集中重新變得均勻。例如,B在和D組成的通道裡有200個通證,而在和E組成的通道裡有0個通證,對於右圖可以通過(B,D,E,B)環狀結構進行重新調配,使得B和D、B和E組成的兩個通道裡各有100個通證。
3.3 節點離線問題
這種情況下人們想到通過把監測任務外包給第三方加以解決,例如閃電網絡的監督者(Monitors)、Pisa的看管者(Custodians)、Celer Network的狀態保衛網絡(State Guardian Network)。
隨著鏈下擴容的發展和大規模商用,通過設計合理的第三方經濟激勵機制,將為layer-2的服務提供商帶來機遇。
二級標題
3.4 保證金鎖定問題
3.1章節提到的路由方案,無論是哈希鎖定合約,還是虛擬通道、元通道,都需要中間節點“墊付”資金,或鎖定保證金。網絡規模越大、平均的轉賬金額越大,整個網絡鎖定的保證金也越多,由此產生的機會成本也越高昂。
下圖為Celer Network的經濟模型,主要由流動性資金支持拍賣機制(LiBA,Liquidity Backing Auction)、流動性資金擔保挖礦機制(PoLC Mining,Proof of Liquidity Commitment Mining)和鏈下狀態守護者網絡三部分構成。其中PoLC Mining機制是Celer網絡流動性資金的關鍵源頭,簡單來說就是通過質押擔保合約從流動性資金提供商那裡收集閒散資金,類似於銀行從儲戶那裡獲得資金,再通過LiBA機制為狀態通道服務供應商提供流動性資金,類似於銀行放貸。
4.1 與鏈上擴容方案的對比
附註:
附註:
因一些原因,本文中的一些名詞標註並不是十分精準,主要如:通證、數字通證、數字currency、貨幣、token、Crowdsale等,讀者如有疑問,可來電來函共同探討。
本文為通證通研究院( ID:TokenRoll )原創。未經授權,禁止擅自轉載。轉載請後台回復關鍵詞【轉載】