# 鏈下擴容深度解析## 1. 擴容的必要性區塊鏈的未來願景是去中心化、安全性和可擴展性,但通常只能實現其中兩個,這就是區塊鏈的不可能三角問題。多年來,人們一直在探索如何在保證去中心化和安全性的前提下,提高區塊鏈的吞吐量和交易速度,即解決擴容問題。讓我們先定義區塊鏈的去中心化、安全性和可擴展性:- 去中心化:任何人都可以成爲節點參與區塊鏈系統,節點數量越多,去中心化程度越高。- 安全性:獲取區塊鏈系統控制權的成本越高,安全性越高,鏈就可以抵抗較大比例參與者的攻擊。 - 可擴展性:區塊鏈處理大量交易的能力。比特幣網路的第一次重大硬分叉就源於擴容問題。隨着用戶數量和交易量增多,1MB區塊上限的比特幣網路開始面臨擁堵問題。2015年起,比特幣社區就擴容問題存在分歧,最終導致2017年8月1日比特幣歷史上第一次重大硬分叉,誕生了新幣種BCH。同樣,以太坊網路也選擇犧牲了一部分可擴展性,來保障網路的安全性和去中心化。雖然以太坊沒有像比特幣那樣限制區塊大小,但變相對單一區塊可容納的燃料費設置上限,目的都是爲了實現Trustless Consensus並確保節點的廣泛分布。從2017年的CryptoKitties,DeFi summer,到後來GameFi和NFT等鏈上應用興起,市場對吞吐量需求不斷增加,但以太坊每秒仍只能處理15-45筆交易。這導致交易成本增加,結算時間變長,大部分DApps難以承受運行成本,整個網路對用戶變得又慢又貴,區塊鏈擴容問題亟待解決。理想的擴容方案是:在不犧牲去中心化和安全性的前提下,盡可能提高網路的交易速度和吞吐量。## 2. 擴容方案的類別我們按照"是否改變一層主網"作爲標準,把擴容方案分爲鏈上擴容和鏈下擴容兩大類。### 2.1 鏈上擴容核心概念:通過改變一層主網協議達到擴容效果的解決方案,目前的主要方案是分片。鏈上擴容有多種方案,此篇文章不展開,簡要列舉兩種:- 方案一是擴大區塊空間,即增加每個區塊打包的交易數量,但會提高對高性能節點設備的要求,降低"去中心化"程度。- 方案二是分片,將區塊鏈帳本分成若幹部分,由不同節點負責不同記帳。這可降低節點計算壓力和加入門檻,提高交易處理速度和去中心化程度;但意味着全網算力被分散,會降低整個網路的"安全性"。改變一層主網協議可能產生難以預料的負面影響,因爲底層任何細微的安全漏洞都會嚴重威脅整個網路安全。### 2.2 鏈下擴容 核心概念:不改變現有一層主網協議的擴容解決方案。鏈下擴容方案又可以細分爲Layer2和其他方案:- Layer2:在主鏈之上構建的第二層網路- 側鏈:獨立的區塊鏈,與主鏈並行運行 - Plasma:一種特殊的側鏈- Validium:數據可用性在鏈下的擴容方案## 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正式發表閃電網絡白皮書,提出比特幣閃電網絡擴容方案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未響應籤名,合約則會在挑戰期結束後將資金返回對應用戶。#### 3.1.4 優缺點優點:- 即時確認 - 高吞吐量- 低成本- 隱私性好缺點:- 需要鎖定資金 - 參與者需持續在線- 難以處理多方交易- 不適合復雜智能合約- 集中化風險- 用戶體驗差#### 3.1.5 應用比特幣閃電網絡:- 比特幣網路的小額支付通道,通過鏈下小額支付通道和中間人構成交易網路,解決比特幣網路擴容問題。- 2015年2月白皮書草案發布,2018年3月主網版本發布。- 截至2022年11月,閃電網絡共有76,236個支付通道,通道資金5049 BTC。- 生態包括支付、錢包、節點管理、瀏覽器擴展等100多個應用。以太坊雷電網絡:- 基於以太坊的小額支付通道,與閃電網絡類似。- 2017年成立,2020年5月首個主網客戶端上線。- 目前未獲得廣泛採用,原因包括使用門檻高、更先進擴容技術出現等。Celer Network:- 本質上是一個增加了激勵層的閃電網絡。- 2018年成立,2019年7月以太坊主網上線。- 已轉變爲支持跨鏈的L2擴容聚合平台,推出了DeFi協議Layer2.finance、信息跨鏈協議Celer IM和資產跨鏈橋cBridge等產品。### 3.2 Sidechains#### 3.2.1 概要側鏈的概念首次於2012年被提出,是爲了加快比特幣交易而出現的一種區塊鏈形態。側鏈可以使用更復雜的合約,或通過改善共識機制(如PoS),或區塊參數讓側鏈符合特定作用。側鏈的交易結果最終在傳送回主鏈時,會記錄在驗證者端。這種區塊鏈模式並非新的區塊鏈形態,而是附着於主鏈上並協助主鏈解決問題的基礎建設。#### 3.2.2 時間線- 2012/01:比特幣側鏈概念在聊天室中被提出- 2014/10:比特幣側鏈論文初次發表:Symmetric Pegged和Asymmetric Pegged- 2017/04:POA Network基於以太坊Proof of Authentication共識的側鏈測試網上線- 2017/10:Matic Network啓動- 2017/12:POA Network主網上線- 2018/01:Skales測試網上線- 2018/10:xDai Chain測試網上線- 2020/06:Skale主網上線- 2020/06:以太坊側鏈Matic PoS Chain主網上線- 2021/02:Matic Network更名爲Polygon Network- 2021/02:Axie Infinity遊戲側鏈Ronin主網開始運行- 2021/12:xDai Chain與Gnosis Dao合並成Gnosis Chain- 2022/03:POA Network合並入Gnosis Chain#### 3.2.3 技術原理側鏈的技術原理包括兩種主要的跨鏈技術:Symmetric Pegged:- 主鏈和側鏈的驗證者實時記錄對方當前的狀態- 使用雙向SPV技術進行信息傳遞 - 主鏈token轉到側鏈時,產生只有側鏈驗證者可解鎖的特殊輸出- 需要等待confirmation period和contest period,以避免雙花攻擊Asymmetric Pegged:- 側鏈驗證者需實時監控主鏈活動- 主鏈到側鏈的轉帳(forward transaction)由側鏈主動記錄- 側鏈到主鏈的轉帳(backward transaction)需引入Certifiers機制 - Certifiers記錄關鍵信息並通過聚合籤名傳回主鏈側鏈機制總結:- 主鏈→側鏈:主鏈鎖定資產,側鏈生成wrapped asset- 側鏈→主鏈:側鏈銷毀wrapped asset,主鏈解鎖資產側鏈資產安全性取決於側鏈的共識機制。如果有人在側鏈上憑空創造資產,可能會有竊取資金的風險。#### 3.2.4 優缺點優點:- 可擴展性好- 高度定制化- 與主鏈安全互不影響 - 可實驗新功能缺點:- 安全性較弱- 跨鏈操作復雜- 流動性分散- 需要獨立的激勵機制- 中心化風險#### 3.2.5 應用xDai(現Gnosis Chain):- 2018年9月主網上線- 採用PoSDAO驗證模式- 2021年11月與Gnosis DAO合並- 目前TVL約$53M,有35個進行中的項目Polygon:- 2017年Matic Network成立,2021年2月更名Polygon- 2020年6月主網發布Matic PoS Chain和Matic Plasma Chain- 目前轉向全棧L2解決方案- 擁有37k+ DApp,1.8B總交易數,135M+用戶Ronin:- 2021年3月主網上線,專
鏈下擴容全解析:State Channels、Sidechains和Plasma三大技術詳細對比
鏈下擴容深度解析
1. 擴容的必要性
區塊鏈的未來願景是去中心化、安全性和可擴展性,但通常只能實現其中兩個,這就是區塊鏈的不可能三角問題。多年來,人們一直在探索如何在保證去中心化和安全性的前提下,提高區塊鏈的吞吐量和交易速度,即解決擴容問題。
讓我們先定義區塊鏈的去中心化、安全性和可擴展性:
比特幣網路的第一次重大硬分叉就源於擴容問題。隨着用戶數量和交易量增多,1MB區塊上限的比特幣網路開始面臨擁堵問題。2015年起,比特幣社區就擴容問題存在分歧,最終導致2017年8月1日比特幣歷史上第一次重大硬分叉,誕生了新幣種BCH。
同樣,以太坊網路也選擇犧牲了一部分可擴展性,來保障網路的安全性和去中心化。雖然以太坊沒有像比特幣那樣限制區塊大小,但變相對單一區塊可容納的燃料費設置上限,目的都是爲了實現Trustless Consensus並確保節點的廣泛分布。
從2017年的CryptoKitties,DeFi summer,到後來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未響應籤名,合約則會在挑戰期結束後將資金返回對應用戶。
3.1.4 優缺點
優點:
缺點:
3.1.5 應用
比特幣閃電網絡:
以太坊雷電網絡:
Celer Network:
3.2 Sidechains
3.2.1 概要
側鏈的概念首次於2012年被提出,是爲了加快比特幣交易而出現的一種區塊鏈形態。側鏈可以使用更復雜的合約,或通過改善共識機制(如PoS),或區塊參數讓側鏈符合特定作用。側鏈的交易結果最終在傳送回主鏈時,會記錄在驗證者端。這種區塊鏈模式並非新的區塊鏈形態,而是附着於主鏈上並協助主鏈解決問題的基礎建設。
3.2.2 時間線
3.2.3 技術原理
側鏈的技術原理包括兩種主要的跨鏈技術:
Symmetric Pegged:
Asymmetric Pegged:
側鏈機制總結:
側鏈資產安全性取決於側鏈的共識機制。如果有人在側鏈上憑空創造資產,可能會有竊取資金的風險。
3.2.4 優缺點
優點:
缺點:
3.2.5 應用
xDai(現Gnosis Chain):
Polygon:
Ronin: