# 鏈下擴容深度解析## 1. 擴容的必要性區塊鏈的未來願景是實現去中心化、安全性和可擴展性,但通常只能同時滿足其中兩個,這被稱爲區塊鏈的不可能三角問題。多年來,人們一直在探索如何在保證去中心化和安全性的前提下,提高區塊鏈的吞吐量和交易速度,即解決擴容問題,這是當前區塊鏈發展過程中的熱點話題之一。區塊鏈的去中心化、安全性和可擴展性大致可定義爲:- 去中心化:任何人都可以成爲節點參與區塊鏈系統的生產和驗證,節點數量越多,去中心化程度越高。- 安全性:獲取區塊鏈系統控制權所需成本越高,安全性越高,鏈就能抵抗較大比例參與者的攻擊。- 可擴展性:區塊鏈處理大量交易的能力。比特幣網路的第一次重大硬分叉就源於擴容問題。隨着用戶數量和交易量增加,1MB區塊上限的比特幣網路開始面臨擁堵。2015年起,比特幣社區在擴容問題上出現分歧,最終導致2017年8月1日比特幣歷史上第一次重大硬分叉,誕生了新幣種BCH。同樣,以太坊網路也選擇犧牲一部分可擴展性來保障安全性和去中心化。雖然以太坊沒有直接限制區塊大小,而是對單個區塊的燃料費設置上限,但目的都是爲了實現無信任共識並確保節點廣泛分布。從2017年的CryptoKitties到後來的DeFi、GameFi和NFT等應用興起,市場對吞吐量需求不斷增加。但即使是圖靈完備的以太坊每秒也只能處理15-45筆交易,導致交易成本上升,結算時間變長,大部分DApps難以承受運行成本,整個網路變得又慢又貴。因此,區塊鏈擴容問題亟待解決。理想的擴容方案是在不犧牲去中心化和安全性的前提下,盡可能提高交易速度和吞吐量。## 2. 擴容方案的類別我們可以按照"是否改變一層主網"作爲標準,將擴容方案分爲鏈上擴容和鏈下擴容兩大類。### 2.1 鏈上擴容核心概念:通過改變一層主網協議達到擴容效果的解決方案,目前的主要方案是分片。鏈上擴容有多種方案,本文不展開討論,簡要列舉兩種:- 方案一是擴大區塊空間,即增加每個區塊打包的交易數量,但這會提高對高性能節點設備的要求,提高節點加入門檻,降低去中心化程度。- 方案二是分片,將區塊鏈帳本分成若幹部分,由不同分片負責不同的記帳,並行計算可以同時處理多個交易;這可以降低節點計算壓力和加入門檻,提高交易處理速度和去中心化程度;但意味着全網算力被分散,會降低整個網路的安全性。改變一層主網協議可能會產生難以預料的負面影響,因爲底層的任何安全漏洞都會嚴重威脅整個網路安全。### 2.2 鏈下擴容 核心概念:不改變現有一層主網協議的擴容解決方案。鏈下擴容方案可以細分爲Layer2和其他方案:- Layer2:State Channels、Sidechains、Plasma、Rollups(Optimistic Rollups、ZK Rollups)- 其他方案:Validium、Volition## 3. 鏈下擴容的方案### 3.1 State Channels#### 3.1.1 概要狀態通道規定只有在通道打開、關閉或解決糾紛時,用戶才需要與主網交互,並把用戶間的交互放在鏈下進行,以此來降低交易時間和成本,實現交易次數不受限制。狀態通道是簡單的P2P協議,適合"基於回合的應用程序",如兩人國際象棋遊戲。每個通道都由主網上運行的多籤智能合約管理,該合約控制存入通道的資產,驗證狀態更新,並仲裁參與者間的爭議。參與者在部署合約後,存入資金並鎖定,雙方籤名確認後,通道正式開通。通道允許參與者間進行不限次數的鏈下免費交易(只要轉帳淨值不超過存入的代幣總額)。參與者輪流發送狀態更新給對方,等待對方的籤名確認。一旦對方籤名確認,這筆狀態更新就算完成。正常情況下,雙方同意的狀態更新不會上傳主網,只有在出現爭議或關閉通道時,才會依賴主網確認。關閉通道時,任一參與者可在主網提出交易請求,如果獲得全員籤名批準,則立即執行;否則需等待"挑戰期"結束才能收到剩餘資金。綜上,狀態通道方案可以大大減少主網計算量,提升交易速度,降低交易成本。#### 3.1.2 時間線- 2015/02:Joseph Poon和Thaddeus Dryja發布閃電網絡白皮書草案。- 2015/11:Jeff Coleman首次系統總結State Channel概念,提出比特幣的Payment Channel是State Channel概念中的子案例。- 2016/01:Joseph Poon和Thaddeus Dryja正式發表白皮書《The Bitcoin Lightning Network: Scalable Off-Chain Instant Payments》提出比特幣閃電網絡的擴容方案Payment Channel。- 2017/11:提出第一個基於Payment Channel框架下有關State Channel的設計規範Sprites。- 2018/06:Counterfactual提出詳細的Generalized State Channels設計,這是第一個完全與狀態通道相關的設計。- 2018/10:文章Generalised State Channel Networks提出State Channel Networks和Virtual Channels概念。- 2019/02:狀態通道概念擴展到N-Party Channels,Nitro是首個基於該想法建立的協議。- 2019/10:Pisa爲解決所有參與者需持續在線的問題,拓展了Watchtowers概念。- 2020/03:Hydra提出Fast Isomorphic Channels。#### 3.1.3 技術原理狀態通道的一般工作流程如下:1. Alice和Bob通過從個人EOA存入資金到鏈上合約地址,這些資金被鎖定在合約中,直到通道關閉時才返回給用戶;二人籤名確認後,通道正式開通。2. Alice和Bob可在鏈下開展不限次數的交易,參與者通過加密籤名消息相互通信。雙方都需要對每筆交易籤名,以防雙花作惡。通過這些消息,他們提出自己帳戶的狀態更新,並接受對方提出的狀態更新。3. 如果Alice想關閉通道,需向合約提交自己帳戶的最終狀態,如果Bob籤名批準,合約則會根據最終狀態將鎖定的資金釋放返回對應用戶。如果Bob未響應籤名,合約則會在挑戰期結束後將資金釋放返回對應用戶。在悲觀情況下,如果Bob在某個時間點不響應Alice發送來的狀態更新籤名,Alice可以通過向合約提交自己最後一次的有效狀態來發起挑戰。然後,合約允許Bob在一段時間內通過將下一個狀態提交給合約進行響應;如果Bob響應,則二人可以繼續在狀態通道內交易;如果Bob在該時間段內沒有響應,則合約自動關閉狀態通道並將資金返回給Alice。#### 3.1.4 優缺點優點:- 即時交易:無需等待區塊確認- 高吞吐量:鏈下交易次數不受限制- 低成本:只有開啓和關閉通道時需要支付鏈上費用- 私密性:鏈下交易細節不會被公開缺點:- 資金鎖定:在通道開啓期間資金被鎖定- 在線要求:參與者需要保持在線以簽署狀態更新- 可組合性差:不適合復雜的多方交互- 安全性依賴:依賴外部監控服務(如Watchtowers)來防止作惡#### 3.1.5 應用比特幣閃電網絡:- 基於比特幣網路的小額支付通道,使用2/2多籤構建單向支付通道,增加RSMC後構建雙向支付通道,再增加HTLC後連接支付通道拓展到多人支付,最終構建支付網絡。- 2015年2月提出白皮書草案,2016年1月發布正式版白皮書。- 2018年3月發布第一個主網版本。- 2021年El Salvador採用比特幣爲法定貨幣並發布基於閃電網絡的錢包Chivo。- 2022年共有76,236個支付通道,通道資金5049 BTC。- 生態發展:從底層BTC網路到核心基礎設施(解決方案、節點和流動性服務),再到各種支付和金融服務以及應用程序。以太坊雷電網絡:- 基於以太坊的小額支付通道,與閃電網絡類似。- 2017年成立,同年10月進行ICO。- 2020年5月第一個Raiden Light Client在以太坊主網上線。- 目前未獲廣泛採用,原因包括使用門檻高、更先進擴容技術出現等。- 正在改造爲運行在以太坊Layer2 Rollup網路上,降低創建State Channel的Gas費用。Celer Network:- 本質上是增加了激勵層(代幣$CELR)的閃電網絡,通過鏈外擴展技術和激勵性經濟模型構建高頻交互類型的區塊鏈DApps。- 適合電子競技平台等高頻交互場景。- 2018年創立,2019年3月代幣$CELR在幣安Launchpad發布。- 目前已推出DeFi協議Layer2.finance、信息跨鏈協議Celer IM和資產跨鏈橋cBridge等產品。#### 3.1.6 應用比較比特幣閃電網絡、以太坊雷電網絡和Celer Network在設計思路上相似,都是基於狀態通道的鏈下擴容方案。主要區別在於:1. 底層區塊鏈:比特幣閃電網絡基於比特幣,雷電網絡和Celer Network基於以太坊。2. 應用場景: - 閃電網絡主要用於比特幣小額支付 - 雷電網絡旨在支持以太坊上的ERC20代幣支付 - Celer Network目標更廣,支持高頻交互的DApps3. 技術特點: - 閃電網絡使用HTLC實現多跳支付 - 雷電網絡採用類似機制 - Celer Network增加了激勵層和狀態路由層4. 發展階段: - 閃電網絡已較爲成熟,生態發展良好 - 雷電網絡發展較慢,使用率不高 - Celer Network正在向多鏈擴容聚合平台轉型5. 代幣經濟: - 閃電網絡無原生代幣 - 雷電網絡和Celer Network都發行了自己的代幣### 3.2 Sidechains#### 3.2.1 概要側鏈概念首次於2012年在比特幣開發者聊天室中提出,2014年由Blockstream研究員撰寫第一篇相關文章。側鏈是爲加快比特幣交易而出現的一種區塊鏈形態,可以使用更復雜的合約,或通過改善共識機制(如PoS),或調整區塊參數使側鏈適合特定用途。側鏈的交易結果最終在傳送回主鏈時,會記錄在驗證
鏈下擴容方案解析:State Channels與Sidechains技術原理及應用對比
鏈下擴容深度解析
1. 擴容的必要性
區塊鏈的未來願景是實現去中心化、安全性和可擴展性,但通常只能同時滿足其中兩個,這被稱爲區塊鏈的不可能三角問題。多年來,人們一直在探索如何在保證去中心化和安全性的前提下,提高區塊鏈的吞吐量和交易速度,即解決擴容問題,這是當前區塊鏈發展過程中的熱點話題之一。
區塊鏈的去中心化、安全性和可擴展性大致可定義爲:
比特幣網路的第一次重大硬分叉就源於擴容問題。隨着用戶數量和交易量增加,1MB區塊上限的比特幣網路開始面臨擁堵。2015年起,比特幣社區在擴容問題上出現分歧,最終導致2017年8月1日比特幣歷史上第一次重大硬分叉,誕生了新幣種BCH。
同樣,以太坊網路也選擇犧牲一部分可擴展性來保障安全性和去中心化。雖然以太坊沒有直接限制區塊大小,而是對單個區塊的燃料費設置上限,但目的都是爲了實現無信任共識並確保節點廣泛分布。
從2017年的CryptoKitties到後來的DeFi、GameFi和NFT等應用興起,市場對吞吐量需求不斷增加。但即使是圖靈完備的以太坊每秒也只能處理15-45筆交易,導致交易成本上升,結算時間變長,大部分DApps難以承受運行成本,整個網路變得又慢又貴。因此,區塊鏈擴容問題亟待解決。理想的擴容方案是在不犧牲去中心化和安全性的前提下,盡可能提高交易速度和吞吐量。
2. 擴容方案的類別
我們可以按照"是否改變一層主網"作爲標準,將擴容方案分爲鏈上擴容和鏈下擴容兩大類。
2.1 鏈上擴容
核心概念:通過改變一層主網協議達到擴容效果的解決方案,目前的主要方案是分片。
鏈上擴容有多種方案,本文不展開討論,簡要列舉兩種:
方案一是擴大區塊空間,即增加每個區塊打包的交易數量,但這會提高對高性能節點設備的要求,提高節點加入門檻,降低去中心化程度。
方案二是分片,將區塊鏈帳本分成若幹部分,由不同分片負責不同的記帳,並行計算可以同時處理多個交易;這可以降低節點計算壓力和加入門檻,提高交易處理速度和去中心化程度;但意味着全網算力被分散,會降低整個網路的安全性。
改變一層主網協議可能會產生難以預料的負面影響,因爲底層的任何安全漏洞都會嚴重威脅整個網路安全。
2.2 鏈下擴容
核心概念:不改變現有一層主網協議的擴容解決方案。
鏈下擴容方案可以細分爲Layer2和其他方案:
3. 鏈下擴容的方案
3.1 State Channels
3.1.1 概要
狀態通道規定只有在通道打開、關閉或解決糾紛時,用戶才需要與主網交互,並把用戶間的交互放在鏈下進行,以此來降低交易時間和成本,實現交易次數不受限制。
狀態通道是簡單的P2P協議,適合"基於回合的應用程序",如兩人國際象棋遊戲。每個通道都由主網上運行的多籤智能合約管理,該合約控制存入通道的資產,驗證狀態更新,並仲裁參與者間的爭議。參與者在部署合約後,存入資金並鎖定,雙方籤名確認後,通道正式開通。通道允許參與者間進行不限次數的鏈下免費交易(只要轉帳淨值不超過存入的代幣總額)。參與者輪流發送狀態更新給對方,等待對方的籤名確認。一旦對方籤名確認,這筆狀態更新就算完成。正常情況下,雙方同意的狀態更新不會上傳主網,只有在出現爭議或關閉通道時,才會依賴主網確認。關閉通道時,任一參與者可在主網提出交易請求,如果獲得全員籤名批準,則立即執行;否則需等待"挑戰期"結束才能收到剩餘資金。
綜上,狀態通道方案可以大大減少主網計算量,提升交易速度,降低交易成本。
3.1.2 時間線
3.1.3 技術原理
狀態通道的一般工作流程如下:
Alice和Bob通過從個人EOA存入資金到鏈上合約地址,這些資金被鎖定在合約中,直到通道關閉時才返回給用戶;二人籤名確認後,通道正式開通。
Alice和Bob可在鏈下開展不限次數的交易,參與者通過加密籤名消息相互通信。雙方都需要對每筆交易籤名,以防雙花作惡。通過這些消息,他們提出自己帳戶的狀態更新,並接受對方提出的狀態更新。
如果Alice想關閉通道,需向合約提交自己帳戶的最終狀態,如果Bob籤名批準,合約則會根據最終狀態將鎖定的資金釋放返回對應用戶。如果Bob未響應籤名,合約則會在挑戰期結束後將資金釋放返回對應用戶。
在悲觀情況下,如果Bob在某個時間點不響應Alice發送來的狀態更新籤名,Alice可以通過向合約提交自己最後一次的有效狀態來發起挑戰。然後,合約允許Bob在一段時間內通過將下一個狀態提交給合約進行響應;如果Bob響應,則二人可以繼續在狀態通道內交易;如果Bob在該時間段內沒有響應,則合約自動關閉狀態通道並將資金返回給Alice。
3.1.4 優缺點
優點:
缺點:
3.1.5 應用
比特幣閃電網絡:
以太坊雷電網絡:
Celer Network:
3.1.6 應用比較
比特幣閃電網絡、以太坊雷電網絡和Celer Network在設計思路上相似,都是基於狀態通道的鏈下擴容方案。主要區別在於:
底層區塊鏈:比特幣閃電網絡基於比特幣,雷電網絡和Celer Network基於以太坊。
應用場景:
技術特點:
發展階段:
代幣經濟:
3.2 Sidechains
3.2.1 概要
側鏈概念首次於2012年在比特幣開發者聊天室中提出,2014年由Blockstream研究員撰寫第一篇相關文章。
側鏈是爲加快比特幣交易而出現的一種區塊鏈形態,可以使用更復雜的合約,或通過改善共識機制(如PoS),或調整區塊參數使側鏈適合特定用途。側鏈的交易結果最終在傳送回主鏈時,會記錄在驗證