長期以來,閃電網絡只是被應用於比特幣的點對點支付,由於缺乏智能合約,且沒有代幣激勵,一直被廣大Crypto用戶所疏遠。但是,閃電網絡作為最符合中本聰思想的比特幣拓展方案之一,如果能有機的融入智能合約場景,或將開啟全新的比特幣拓展範式。
近期,BEVM Core Builder—Gavin在其推特上公佈瞭如何給閃電網絡增加智能合約功能,以及如何使用閃電網絡給比特幣二層增加逃生艙機制的設計思路,並透露BEVM團隊已經正式推出該方案。
本文將延續該思路,圍繞閃電網絡的基本原理,以及閃電網絡和比特幣二層的結合展開思考。
一、閃電網絡的基本原理
閃電網絡(Lightning Network,以下簡稱LN)是最古早的比特幣二層拓展方案之一,其主要應用場景在於實現快速且低成本的比特幣點對點支付。
閃電網絡的技術核心是狀態通道,狀態通道是中本聰在比特幣白皮書提到的比特幣拓展方案。比特幣開發者Joseph Poon 和 Thaddeus Dryja基於狀態通道發佈了閃電網絡的相關論文,最終,由Lightning Labs、Blockstream、ACINQ 等團隊開發落地,並受到Jack Dorsey等一眾比特幣OG的支持和追捧。
狀態通道應用於閃電網絡,實現了快速的、近乎零成本的點對點支付功能。
現在,我們先梳理下狀態通道的基本運作原理:
當交易雙方建立狀態通道進行交易,只有第一筆(建立狀態通道)和最後一筆交易(關閉狀態通道)會在比特幣鏈上進行,剩餘的所有交易都在比特幣鏈外進行,也就是在狀態通道內進行。
在狀態通道內進行的比特幣交易(可以理解為此時的BTC並非比特幣一層的BTC,而是在狀態通道這個“比特幣二層上的 BTC”),交易快速便捷,成本幾乎為零,這裡交易雙方的賬本會出現實時變化的“BTC資產負債表”,而且每次交易都需要簽名,以保障交易的合法性和準確性。
當雙方任意一方關閉狀態通道,系統就會把最新的“BTC資產負債表”提交到比特幣一層去驗證,這個驗證一般會設置7天的驗證期,或者叫“檢舉期”,本質就是雙方在這7天內都可以發起檢舉,時間到期後,A、B雙方將根據最新的‘BTC資產負債表”拿到屬於自己的BTC數量。如果雙方都能及時確認,則交易可以立即完成。
(以太坊的二層拓展方案OP-Rollup就是仿照了狀態通道的原理,所有交易在二層進行,然後再向以太坊一層提交驗證,同時有7天的挑戰期)
我們舉例說明:
假設有A、B兩個LN節點要使用狀態通道進行BTC交易,具體步驟如下:
1、A、B兩個LN節點建立狀態通道。
A、B雙方都需要向狀態通道存入預先設定的BTC數量,比如,A存入10個BTC,B存入5個BTC,此時,會生成一個新的比特幣多籤地址,A、B雙方鎖定的BTC數量就在C地址體現出來(C地址是AB雙方生成的多籤地址,類似一個無私鑰的智能合約地址)。
此時A、B雙方的“BTC資產負債表”是:
A:10BTC
B: 5BTC
C:15BTC
2、當A和B之間開始交易,A、B的“BTC資產負債表“開始更新
假設,第一筆交易,A執行簽名向B發送1個BTC,
BTC資產負債表更新為:
A :9BTC
B :6BTC
C :15BTC
第二筆交易,B執行簽名向A發送5個BTC
BTC資產負債表更新為:
A:14BTC
B:1BTC
C:15BTC
以此類推,隨著A、B雙方的不斷交易,BTC資產負債表不斷更新(本質就是二層賬本不斷更新,只是還沒有回到一層驗證)
3、關閉狀態通道
A、B雙方任意一方都可以隨時關閉狀態通道
假設,關閉狀態通道時,BTC資產負債表是:
A:12BTC
B:3BTC
C:15BTC
在關閉狀態通道的同時,最新的“BTC資產負債表”將被提交到比特幣一層,同時,啟動為期7天的驗證,假設,A、B雙方都無異議則交易完成。假設,任意一方沒有及時驗證確認,7天到期後,按照“BTC資產負債表”來分配A、B雙方應該得到的BTC數量。
以上,就是狀態通道的基本運作原理。
總結就是:狀態通道採用互相簽名+時間鎖的機制設計,在沒有第三方託管的情況下,可以安全的實現比特幣的點對點支付,同時,通過鏈外交易+主鏈驗證的方式來實現快捷、低成本的交易。
二、閃電網絡+Taproot Consensus的創新組合
瞭解了閃電網絡也就是狀態通道的基本原理後,可以再看下狀態通道的升級設計,也就是把狀態通道和比特幣二層以及智能合約融合,這裡將誕生更多創新的場景。
我們以BEVM提出的閃電網絡+Taproot Consensus為例,來描述這個創新的場景。
Taproot Consensus是BEVM這個比特幣二層的解決方案,BEVM網絡的眾多節點基於施諾爾簽名和MAST會在比特幣一層生成一個Taproot合約地址,這個比特幣地址由BEVM網絡共識維護,類似於以太坊二層在以太坊一層創建的ETH託管合約地址。
這個Taproot合約地址可以成為一個閃電網絡節點(LN節點),我們命名為 LN節點B。
任意一個比特幣用戶或者機構都可以運作一個閃電網絡節點,我們命名為LN節點A。
這樣,BEVM的Taproot合約地址(LN節點B),可以和任意一個比特幣用戶或者機構(LN節點A)建立狀態通道,從而在狀態通道內,以無需信任的方式進行任意形式的交易。
注意!此刻,真正安全可信、用戶友好的比特幣二層拓展的方便大門徹底打開了!!!
我們來看下,到底發生了什麼?
某比特幣機構(LN節點A)和BEVM的比特幣Taproot合約地址(LN節點B),建立狀態通道,此時會生成一個多籤合約地址C。
假設,LN節點A(比特幣機構)鎖定1000BTC,LN節點B(BEVM的Taproot合約地址)鎖定10BTC,則此時的“BTC資產負債表”顯示:
A:1000BTC
B:10BTC
C:1010BTC (C是A和B共同生成的多籤合約地址)
因為,BEVM的比特幣Taproot合約地址是狀態通道的節點之一,也是C地址的多籤地址之一,代表BEVM在比特幣一層的合約地址擁有1010個BTC的管理權限,因此,BEVM鏈上則可以1:1顯示出1010個BTC。而A在BEVM鏈上的地址,則可以在BEVM鏈上進行任意形式的智能合約操作,在每次鏈上操作前,狀態通道內的A、B的“BTC資產負債表”也發生相應的變化。
比如,A使用BEVM鏈上的借貸協議,抵押100個BTC借出100萬美金的USDT,當執行這個交易前,A需要簽名把100個BTC轉入B的狀態通道地址
此時,A、B的“BTC資產負債表”將發生如下變化:
A:900BTC
B: 110BTC
C:1010BTC
再比如,A使用BEVM鏈上的DEX,把100BTC賣出600萬USDT,當執行這個交易前,A需要簽名把100個BTC轉入B的狀態通道地址。
此時,A、B的“資產負債表”將再次發生變化:
A:800BTC
B: 210BTC
C:1010BTC
A是比特幣機構的LN節點,B是BEVM的Taproot合約地址的LN節點,B可以在任意時候進行簽名結算A花費的BTC。此時,B如果沒有異議,則交易確認,結算完成。
如果A對結算有質疑,可以在7天檢舉期內發起挑戰,Time Lock到期後,交易自動確認,結算完成。
即使在最極端的情況下,比如,BEVM網絡癱瘓,A依然可以在Time Lock到期後,取回自己未花費BTC,這裡是滿滿的安全感。比特幣用戶再也不用擔心自己的BTC會丟失或者因為鏈的問題而無法拿回資產。
某種程度上講,這是一個已經落地的“比特幣二層逃生艙機制”。
總結一下:
BEVM團隊提出的閃電網絡+Taproot Consensus這一解決方案,本質上是把比特幣用戶或者機構作為一個閃電網絡節點(而且比特幣機構也可以用多籤地址作為節點),把BEVM鏈本身作為另一個閃電網絡節點,兩個閃電網絡節點建立狀態通道,這樣,比特幣就可以安全無憂的流通到比特幣二層,因為,在二層流通花費的BTC本質上是流通在狀態通道里。
這一方案兼具了閃電網絡的原生性和正統性,同時,拓展了狀態通道的應用場景,讓BTC不僅可以支付,還可以進行鏈上借貸、Swap等任意智能合約操作。
更重要的是,用戶使用閃電網絡參與比特幣二層鏈上活動完全沒有安全焦慮。
三、“比特幣二層逃生艙機制”解決比特幣用戶的安全焦慮問題
長期以來,比特幣用戶尤其比特幣大戶對一切鏈上行為充滿安全焦慮,凡是涉及到跨鏈,涉及到智能合約,涉及到鏈上交互都充滿了安全質疑。比特幣大戶寧願把比特幣存在冷錢包,放棄任何收益,也不願意把BTC放到鏈上。
公開數據可查:目前已經上鍊的BTC,排名第一的WBTC總量15.4萬,排名第二的TBTC總量約3500個,再加上其他比特幣二層鏈上的BTC,總量不超過21萬,也就是不足比特幣總量的1%。
安全焦慮是阻擋比特幣二層大規模發展的第一攔路虎。
而BEVM團隊提出的閃電網絡狀態通道和比特幣二層智能合約的融合,或許能解決這個問題。
如上文所述,任意比特幣用戶可以和BEVM鏈通過狀態通道建立交易,用戶想花費多少,就簽名多少;不花費,則不簽名;不簽名,比特幣則永遠在自己手裡。也就是說,比特幣用戶對自己的比特幣花費完全自控。
即使,比特幣二層網絡進入癱瘓或者關閉,在設定的Time Lock到期後,BTC也會自動退回到用戶的原地址,完全不受鏈及智能合約等外界因素影響。
這無疑解決了比特幣用戶的最大痛點,也為比特幣二層的大規模發展掃清了”攔路虎”。
四、閃電網絡+智能合約,解決了閃電網絡發展之路的兩大難題
閃電網絡+智能合約的機制設計,不僅能解決比特幣用戶的安全焦慮問題,還對閃電網絡的發展起到了促進作用。
在閃電網絡近10年的發展過程中,有兩個問題一直困擾著開發者。
第一,如何給閃電網絡增加智能合約功能,從而讓BTC在閃電網絡內不僅可以做支付,還可以做借貸、Swap、衍生交易等複雜應用。這個問題的本質是“如何以去中心化的方式給BTC賦予具備可編程的智能合約功能”。
第二,如何讓閃電網絡具備拜占庭容錯機制,從而解決點對點網絡帶來的效率及安全性問題。
BEVM團隊提出的閃電網絡+Taproot Consensus的解決方案,針對這兩個問題給出了自己的答案。
1、閃電網絡不再侷限於點對點支付,而是可以拓展到可編程智能合約場景
BEVM團隊提出的閃電網絡+Taproot Consensus的解決方案,有兩個核心設計。
首先,Taproot Consensus本身是Bitcoin SPV節點、施諾爾簽名、MAST三大比特幣原生技術的有機融合,本身可以保障比特幣二層(BEVM網絡)和比特幣主網的數據一致性。
其次,引入閃電網絡的設計,則可以把BEVM鏈本身作為閃電網絡節點,從而讓BTC可以自由流通在狀態通道內,進一步通過Taproot Consensus把流通在狀態通道內的BTC可以使用任意智能合約應用,從而,讓BTC不再侷限於支付,而是可以實現包括借貸、Swap、Staking、衍生交易等多種複雜場景。
這一創新設計是對閃電網絡的極大拓展,對於閃電網絡的長期發展也將起到重大促進作用。
2、用BFT共識網絡作為閃電網絡節點,解決閃電網絡的去中心化容錯問題
眾所周知,閃電網絡是一個點對點網絡,但不是一個拜占庭容錯的去中心化網絡。
拜占庭容錯的去中心化網絡依靠BFT網絡共識來運行,用戶只需要信任BFT網絡共識,並不需要信任任何一個單點或者個人,用戶只需要掌握在鏈上生成的私鑰,就可以在鏈上執行任意交易,本質上和用戶交易的是一個BFT共識網絡,而非個人。
但是,點對點網絡,交易雙方是個人或者單點,這高度依賴每一個參與節點的專業性和即時響應能力甚至節點運維能力。單點的響應能力和誠實度,決定了交易的效率和安全度。
我們舉例說明,A和B在閃電網絡建立狀態通道進行交易,假設A是一個不夠專業的節點,而B是一個專業但不誠實的節點。假設,在完成交易前,B向鏈上提交了不誠實的賬單,因為,A對閃電網絡驗證不夠專業,在7天檢舉期內A沒有及時發起挑戰,則A將面臨資產丟失或者雙花的風險。閃電網絡對參與雙方的專業性要求是極高的。
以上,是閃電網絡在發展過程中,經常遇到的實際性問題,這也是閃電網絡近些年發展滯慢的重要原因之一。
但是,BEVM團隊提出的方案是,使用BEVM鏈本身作為閃電網絡節點,與用戶交易的不再是一個單點或者個人,而是一個靠BFT共識驅動、靠1000個節點驗證運行的區塊鏈網絡,鏈本身是靠共識機制來保障可信,用戶則不必擔心和不誠實的節點進行交易而帶來的麻煩和風險,這將在很大程度上解決閃電網絡的去中心化容錯問題。
總結:
BEVM團隊提出的閃電網絡+Taproot Consensus的解決方案,至少解決了比特幣生態發展過程中的三個問題:
1、通過設計出“比特幣二層逃生艙機制”,解決比特幣用戶長期以來的鏈上安全焦慮問題
2、通過給閃電網絡賦予智能合約功能,突破了閃電網絡只能做比特幣支付的限制,從此,比特幣通過閃電網絡也可以具備可編程的智能合約能力
3、通過把BEVM鏈作為閃電網絡節點,用BFT網絡共識取代單個節點,大大緩解了閃電網絡的去中心化容錯問題
原文鏈接:https://bevm-blog.webflow.io/post/how-to-design-an-escape-hatch-for-bitcoin-l2-using-the-state-channel