
Cobo Ventures :鏈下擴容深度解析
TechFlow Selected深潮精選

Cobo Ventures :鏈下擴容深度解析
如何在保證去中心化和安全性的前提下,提高區塊鏈的吞吐量和交易速度?
作者(按照首字母排序):Ellaine Xu, Hettie Jiang, June Wang, Walon Lin, Yiliu Lin
目錄
1. 擴容的必要性
2. 擴容方案的類別
3. 鏈下擴容的方案
4. 總結展望
1. 擴容的必要性
區塊鏈的未來是一個宏大的願景:去中心化、安全性和可擴展性;但通常區塊鏈只能實現其中兩個,同時滿足這三個要求被稱為區塊鏈的不可能三角問題(如下圖所示)。
多年來,人們一直在探索如何解決這一難題,如何在保證去中心化和安全性的前提下,提高區塊鏈的吞吐量和交易速度,即解決擴容問題,是當前區塊鏈發展過程中討論的熱點話題之一。
讓我們先籠統地定義區塊鏈的去中心化、安全性和可擴展性:
-
去中心化:任何人都可以成為節點參與區塊鏈系統的生產和驗證,節點數量越多,則去中心化程度越高,從而確保網絡不受一小群大型中心化參與者的控制。
-
安全性:為了獲取區塊鏈系統控制權所付出的成本越高,則安全性越高,那麼鏈就可以抵抗較大比例的參與者對其的攻擊。
-
可擴展性:區塊鏈處理大量交易的能力。

比特幣網絡的第一次重大硬分叉就是源於擴容問題。隨著比特幣的用戶數量和交易量的增多,每個區塊上限為1MB的比特幣網絡開始面臨擁堵問題;2015年開始,比特幣社區就擴容問題存在分歧,一方是以Bitcoin ABC為代表的支持擴大區塊的擴容派,另一方是以Bitcoin Core為代表的小區塊派,認為應當使用隔離見證Segwit方案去優化主鏈結構。2017年8月1日,Bitcoin ABC自行開發至8MB的客戶端系統開始運行,導致了比特幣歷史上第一次重大硬分叉的出現,同時也由此誕生了新幣種BCH。
同樣,以太坊網絡也是選擇犧牲了一部分可擴展性,用來保障網絡的安全性和去中心化;雖然以太坊網絡並未像比特幣網絡一樣通過限制區塊大小來限定交易量,而是變相轉變為對單一區塊可容納的燃料費設置上限,但是目的都是為了實現Trustless Consensus並確保節點的廣泛分佈(無論取消還是提高限額都會淘汰很多帶寬、存儲和計算量不足的較小節點)。
從2017年的CryptoKitties,DeFi summer、再到後來GameFi和NFT等鏈上應用的興起,市場對吞吐量需求不斷增加,但即使是圖靈完備的以太坊每秒也只能處理15~45筆的交易(TPS),這導致的結果是交易成本不斷增加,結算時間變長,大部分Dapps難以承受運行成本,整個網絡對於用戶而言也變的又慢又貴,區塊鏈擴容問題亟待被解決。理想狀態下的擴容方案是:在不犧牲去中心化和安全性的前提下,還能儘可能提高區塊鏈網絡的交易速度(更短的finality time)和交易吞吐量(更高的TPS)。
2. 擴容方案的類別
我們按照“是否改變一層主網“作為標準,把擴容方案分為鏈上擴容和鏈下擴容兩大類。

2.1 鏈上擴容
核心概念:通過改變一層主網協議達到擴容效果的解決方案,目前的主要方案是分片。
鏈上擴容有多種方案,此篇文章不進行展開,以下簡要列舉兩種方案:
-
方案一是擴大區塊空間,即增加每個區塊打包的交易數量,但這會提高對高性能節點設備的要求,提高節點的加入門檻,降低了「去中心化」程度。
-
方案二是分片,將區塊鏈賬本分成若干部分,不再是每個節點參與所有記賬,而是由不同分片即不同節點負責不同記賬,並行計算可以同時處理多個交易;這樣可降低節點計算壓力和加入門檻,提高交易處理速度和去中心化程度;但這意味著全網算力被分散,會降低整個網絡的「安全性」。
改變一層主網協議的代碼可能會產生難以預料的負面影響,因為底層任何細微的安全漏洞都會嚴重威脅整個網絡的安全性,網絡可能會被迫進行分叉或中斷修復升級。例如,2018年的Zcash的通脹漏洞事件:Zcash的代碼是基於比特幣0.11.2版本代碼修改的,2018年一位工程師發現其底層代碼存在高危漏洞,即代幣可無限增發,隨即團隊花了8個月的時間進行秘密修補,漏洞修復後才公開這一事件。
2.2 鏈下擴容
核心概念:不改變現有一層主網協議的擴容解決方案。

鏈下擴容方案又可以細分為Layer2和其他方案:

注:表格內的術語定義來自以太坊官網,內容由Cobo Ventures總結梳理。
下面我們將從發展時間線、技術原理、優缺點和應用對比等方面展開介紹目前主流的鏈下擴容方案。
3. 鏈下擴容的方案

3.1 State Channels
3.1.1 概要
狀態通道規定只有在通道打開、關閉或解決糾紛時,用戶才需要與主網進行交互,並把用戶與用戶的交互放在鏈下進行,以此來降低用戶交易的時間和金錢成本,並且實現交易次數不受限制。
狀態通道是簡單的P2P協議,適合“基於回合的應用程序”,例如,兩人國際象棋遊戲。每個通道都由主網上運行的多籤智能合約管理,該合約控制存入通道的資產,驗證狀態更新,並仲裁參與者之間的爭議(根據帶有簽名和時間戳的欺詐證明)。參與者在區塊鏈網絡部署合約後,存入一筆資金並鎖定,雙方簽名確認後,通道正式開通。通道允許參與者之間進行不限次數的鏈下免費交易(只要他們的轉賬淨值不超過存入的代幣總額)。參與者輪流發送狀態更新給對方,等待對方的簽名確認。一旦對方簽名確認,這筆狀態更新就算完成。正常情況下,雙方同意的狀態更新不會上傳主網,只有在出現爭議或關閉通道時,才會依賴主網確認。需要關閉通道時,任一參與者可在主網提出交易請求,如果退出請求獲得全員一致簽名批准,則鏈上立即執行,即智能合約根據通道最終狀態下每個參與者的餘額,分發剩餘的鎖定資金;如果其他參與者沒有簽名批准,則所有人需等待“挑戰期”的結束才能收到剩餘資金。
綜上,狀態通道方案可以大大減少主網計算量,提升交易速度,降低交易成本。
3.1.2 時間線

上圖時間線展示了State Channels的發展和演變的主要里程碑。
-
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 技術原理

Source: L. D. Negka and G. P. Spathoulas, "Blockchain State Channels: A State of the Art" in IEEE Access, vol. 9, pp. 160277-160298, 2021, doi: 10.1109/ACCESS.2021.3131419.
圖1展示的是傳統鏈上的工作流程:Alice和Bob與部署在主網上的智能合約進行交互,用戶通過向鏈上發送交易來改變智能合約的狀態。缺點是會帶來上面討論的時間和成本問題。

Source: L. D. Negka and G. P. Spathoulas, "Blockchain State Channels: A State of the Art" in IEEE Access, vol. 9, pp. 160277-160298, 2021, doi: 10.1109/ACCESS.2021.3131419.
圖2展示的是大多數狀態通道協議遵循的一般工作流程:樂觀情況下,Alice和Bob需要執行與之前相同的操作,但這次他們使用狀態通道,而不是與鏈上合約進行交互。
第一步,Alice和Bob通過從其個人EOA存入資金到鏈上合約地址(交互1,2),這些資金被鎖定在合約中,直到通道關閉時才將餘額返回給用戶;二人簽名確認後,二人之間的狀態通道正式開通。
第二步,Alice和Bob通過該通道理論上可在鏈下開展不限次數的交易(藍色虛線),參與者通過加密的簽名消息相互通信(而不是與區塊鏈網絡通信)。雙方用戶都需要對每筆交易進行簽名,以防止雙花作惡。通過這些消息,他們提出自己賬戶的狀態更新,並接受對方提出的狀態更新。
第三步,如果Alice想關閉通道結束和Bob之間的交易,Alice需要向合約提交自己賬戶的最終狀態(交互3),如果Bob簽名批准,合約則會根據最終狀態將鎖定的資金釋放返回對應用戶(交互4,5)。如果Bob未響應簽名,合約則會在挑戰期結束後將鎖定的資金釋放返回對應用戶。

Source: L. D. Negka and G. P. Spathoulas, "Blockchain State Channels: A State of the Art" in IEEE Access, vol. 9, pp. 160277-160298, 2021, doi: 10.1109/ACCESS.2021.3131419.
圖3顯示的是悲觀情況下狀態通道的工作流程:起初,兩個參與者存入資金(交互1,2),然後開始交換狀態更新(藍色虛線)。
假設在某個時間點,Bob在他的輪次中不響應Alice發送來的狀態更新簽名(交互3),此時,Alice可以通過向合約提交自己最後一次的有效狀態來發起挑戰(交互4),這個有效狀態也包含了Bob之前的簽名,從而證明最後一筆交易已經收到Bob的批准,最後狀態已經收到Bob的確認。
然後,合約允許Bob在一段時間內通過將下一個狀態提交給合約進行響應;如果Bob響應,則二人可以繼續在狀態通道內進行交易;如果Bob在該時間段內沒有響應,則合約自動關閉狀態通道並將資金返回給Alice(交互5)。
3.1.4 優缺點

3.1.5 應用
- 比特幣閃電網絡
概述:
閃電網絡是比特幣網絡的小額支付通道,其整體技術演變經歷:2/2多籤構建單向支付通道,增加RSMC(Revocable Sequence Maturity Contract)後可構建雙向支付通道,再增加HTLC(Hash Time Lock Contract) 後可連接支付通道拓展到多人支付,最終構建支付網絡即閃電網絡。通過鏈下小額支付通道,然後藉助中間人構成交易網絡,可以解決比特幣網絡擴容問題。閃電網絡的整體使用遵循著“存款(建立通道)→ 閃電網絡交易(更新通道狀態)→ 退款/結算(結束通道)” 的流程;理論上閃電網絡每秒可以處理一百萬筆交易。
時間線:
-
2015年2月,Joseph Poon和Thaddeus Dryja發佈了閃電網絡白皮書的草稿;
-
2016年1月發佈正式版白皮書併成立了Lightning Labs;
-
2018年3月15日,Lightning Labs發佈第一個閃電網絡主網版本Lightning Network Daemon (LND) 0.4版本。
-
2021年初,閃電網絡的公共容量(TVL)只有約4000萬美元,約不到10萬用戶使用閃電網絡。
-
2021年6月,薩爾瓦多宣佈採用比特幣作為法定貨幣,9月發佈基於閃電網絡的錢包Chivo。
-
2022 年,Cash App和包括OKX、Kraken、Bitfinex在內的26個加密貨幣交易平臺宣佈支持閃電網絡,實現即時且便宜的的BTC存取款和轉賬功能。
-
2022年10月,Lightning Labs發佈了基於Taproot的新協議——Taro protocol(alpha版本),目前正在測試網上進行測試,未來將可用於在比特幣網絡上鑄造、發送和接收資產,並通過閃電網絡執行即時、大容量和低費用的交易。
-
2022年11月23日,根據1ml.com,閃電網絡共有76,236個支付通道,通道資金5049 $BTC($81.8M)。
生態發展:

如上圖所示,BTC閃電網絡生態從下到上依次為:底層的BTC網絡—核心基礎設施—各種Dapps。
核心基礎設施包括:
-
閃電網絡解決方案:個人和企業可以運行、連接到閃電網絡的軟件程序,其中所佔市場份額最大的是閃電實驗室Lightning Labs。
-
節點和流動性服務:因為用戶獨立運行自己的節點較為複雜,需要提供對用戶較為友好的界面,幫助管理閃電支付渠道。
核心基礎設施之上是各種支付和金融服務以及應用程序,例如,Strike建立在LND解決方案之上允許用戶買賣BTC,在Twitter上使用BTC打賞創作者和允許Shopify商家接受BTC等。
截止2022年11月,基於比特幣閃電網絡的Dapps已增漲至超20個類別和100多個應用,應用類別主要包括比特幣閃電網絡支付、錢包、節點管理、瀏覽器擴展程序、播客和流媒體等。當前與節點基礎設施相關的技術基礎層已經基本成熟,錢包支持增加,金融服務和支付集成繼續增長,更多的娛樂應用在閃電網絡上構建,閃電網絡生態系統正在蓬勃發展。
- 以太坊雷電網絡
概述:
雷電網絡是基於以太坊的小額支付通道,與閃電網絡非常相似,都是通過建立狀態通道的方式來對鏈上交易進行拓展,目的是在以太坊上實現近乎即時、低費用和可擴展的ERC20代幣支付。
時間線:
-
2017年成立,創始人Heiko Hees曾是以太坊的核心開發者以及顧問。
-
2017年10月17日以荷蘭拍賣形式為其代幣$RDN發起了ICO,籌集了超過3000萬美元。
-
2020年5月第一個Raiden Light Client - Alderaan在以太坊主網上線,是基於Typescript的雷電網絡的實現;
-
2021年底,由於長時間缺乏開發進展、信息披露和用戶使用情況,多個交易所將$RDN摘牌,包括Bitkub,NiceHash和Binance。
目前這項技術未獲得廣泛採用,原因包含:
1)使用門檻過高:以太坊上的Gas費用過高時,開啟通道的成本過高,這成為採用Raiden網絡的一大障礙。
2)更先進的擴容技術出現:Raiden Network於2015年開始研發,當時是以太坊唯一的擴容方案。但目前出現了Rollup等更好的擴容方案,導致Raiden Network本身的用例受限。
生態發展:
目前雷電網絡的生態發展緩慢,團隊正在改造Raiden Network,使其運行在以太坊Layer2 Rollup網絡上,從而進一步降低創建State Channel的Gas費用;2022年5月團隊宣佈Raiden Network在Arbitrum上線,成為一個rollup native protocol,L2之上運行的L2;該方案把初始創建通道的費用降低了35%,使其更適用於高頻小額支付場景;雷電網絡未來將以Rollups為中心進行轉變,作為與Rollups共存的補充方案。
- Celer Network
概述:
Celer Network本質上是一個增加了激勵層(代幣$CELR)的閃電網絡,可通過鏈外擴展技術和激勵性經濟模型構建快速、易於使用、低成本和安全的高頻交互類型的區塊鏈Dapps,如電子競技平臺等。因為其用戶入場費和獎金的發放有極高的交互頻率,非常適合狀態通道技術的應用。
假設Alice和Carl之間通過狀態通道進行下棋遊戲,二人需要首先在主網存款創建通道,鏈下有一個管理遊戲規則的合約,並且該合約的地址會在有條件的支付中被引用,舉例,“如果合約判定Carl贏得遊戲,Alice將支付Carl1美元”;每個鏈下合約都有一個唯一可識別的鏈下地址,只有在需要時合約才在區塊鏈上進行部署,並且由內置的鏈下地址轉換器分配對應的鏈上地址,其他合約或對象可以明確的引用它。二人之間所有的遊戲狀態轉換(賬戶餘額)經雙方簽名確認,也都發生在鏈下,這些狀態在需要時(出現爭議時)可在鏈上驗證。通過Celer Network提供的鏈下地址轉換器OAT(Off-chain Address Translator),每一個鏈下地址可以唯一映射一個鏈上的智能合約;因此,Alice和Carl之間的遊戲,只要雙方持續合作,沒有爭議產生,整個遊戲(合約+狀態)都無需上鍊操作。

如上圖所示,Celer Network基於以太坊實現的鏈下擴容框架由三層組成,從下到上為:
-
cChannel:廣義狀態通道和側鏈套件
-
cRoute:鏈下支付路由,使用的創新路由算法DBR(Distributed Balanced Routing)提高了性能
-
cOS:鏈下應用程序的開發框架和運行環境
時間線:
-
2018年創立,團隊成員來自MIT、Princeton、UCBerkeley和UIUC的計算機博士。
-
2019年3月,代幣$CELR在幣安Launchpad發佈。
-
2019年7月,Celer Network在以太坊主網上線,發佈世界上第一個Generalized State Channel Network;同時上線電子競技遊戲平臺CelerX,CelerX是iOS和Android上第一個L2 Dapp,其用戶可以通過Celer Pay進行即時零手續費支付,暢玩各種技能類遊戲。
生態發展:
隨著區塊鏈生態系統朝著多鏈發展,狀態通道被賦予橋接Layer1和Layer2的新使命。Celer Network擴展了其廣義狀態信道網絡的核心技術,轉變為支持跨鏈的L2擴容聚合平臺,目前已推出的產品包含DeFi協議Layer2.finance,信息跨鏈協議Celer IM和資產跨鏈橋cBridge。cBridge已支持多達139種token和38條鏈。
2022年11月11日,MetaMask Bridges Beta集成cBridge,11月17日cBridge的總交易數達到1M,當日同時宣佈cBridge和Celer IM集成zkSync 2.0測試網。
3.1.6 應用比較

3.2 Sidechains
3.2.1 概要
側鏈的概念首次於2012年比特幣開發人員在聊天室中被提出,而第一篇關於比特幣的側鏈文章是由一位Blockstream的研究員撰寫並於2014年出版。
2014年的論文當中提出,側鏈是為了加快比特幣交易而出現的一種區塊鍊形態,可以使用更復雜的合約,或是通過改善共識機制(如PoS),或是區塊參數讓側鏈符合特定作用。側鏈的交易結果最終在傳送回主鏈時,會記錄在驗證者端。這種區塊鏈模式並非新的區塊鍊形態,而是附著於主鏈上並協助主鏈解決問題的基礎建設。
3.2.2 時間線

-
2012/01,比特幣側鏈的概念在聊天室中被提出
-
2014/10,比特幣側鏈的論文初次發表:Symmetric Pegged and 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 技術原理
在側鏈的技術原理當中,2014年的論文提到雙向錨定(Symmetric Pegged)與不協調錨定(Asymmetric Pegged)兩種方式讓側鏈可以與主鏈進行溝通。雙向錨定或不協調錨定的訊息傳遞只會在主鏈跟側鏈的代幣進行跨鏈時發生。由於側鏈用到了跨鏈技術,因此,下文會先行討論兩種最根本的跨鏈技術原理,然後討論側鏈技術在應用層面的優缺點。
- Symmetric Pegged
雙向錨定(Symmetric Pegged)是指主鏈上(Parent Chains)跟側鏈上的驗證者,彼此都實時記錄對方當前的狀態(區塊頭信息)。在信息傳遞時,雙向錨定會運用雙向SPV(Simplified Payment Verification)的技術。當主鏈的token要發送到側鏈上時,會產出一個special output(SPV-Locked Output),而只有側鏈上的驗證者可以用SPV證明解鎖。SPV技術是指只保留區塊頭信息,而從全節點獲取merkle proof來驗證交易的技術。
主要流程:
1.用戶將原生資產發送給SPV-Locked Output(一個特殊地址)。
2.等待confirmation peirod,結束後即可向側鏈提交SPV證明,側鏈可以依據此準備發出鏈上資產。
SPV證明用於驗證交易是否已經發生。它包括一個展示工作證明的區塊頭列表以及一個加密證明(Merkle proof),證明一個輸出(SPV-Locked Output)是在列表中的一個區塊中創建的。
3.用戶繼續等待contest period,以避免雙花攻擊。如果有人在此期間提交重組證明(reorganisation proof),其中包含了一個有更多總工作的鏈,而不包括創建SPV-Locked Output的區塊,則之前的SPV證明無效。
4.所有確認程序完成後,用戶即可在側鏈上使用新鑄的封裝資產。

- Asymmetric Pegged
Asymmetric Pegged是2014年最早提出側鏈的論文當中提及的第二個方式,主要分成forward端與backward端的交易。在Asymmetric Pegged中,側鏈的validators必需實時監控主鏈的活動,因此當主鏈需要將代幣打給側鏈時,側鏈可以主動記錄(forward transaction)。然而,當側鏈需要將代幣打回主鏈時,則會發生主鏈因為沒有記錄側鏈信息,而無法確認側鏈區塊狀態的問題。
因此,在這個狀況下Asymmetric Pegged就必須引入Certifiers的機制,將
-
Smart ContractID,EpochID與驗證者ID
-
Backward轉移的名單
-
驗證者取款名單
-
錯誤報告名單
-
聚合所有簽名

記錄在Certifiers當中,通常Certifiers都需要stake固定資產以確保Certifiers不會破壞系統,這些Certifiers就會負責驗證側鏈傳回的backward transaction,並經由aggregated signature簽名後送回主鏈。

然而隨著目前的技術演進,越來越多的側鏈會選擇使用第三方公證人(Proof of Authority, PoA)的機制,讓多個具名節點針對合約鎖定與釋放的通訊(主網的區塊頭信息)驗證,以確代幣鎖定與鑄造價值相等;或是使用Relayers建立中間層讓側鏈可以通過中間層確認主鏈的區塊狀態。
簡單來說側鏈的機制可以總結為:
-
資產從主鏈 -> 側鏈:主鏈鎖定資產,側鏈生成wrapped asset(由共識機制保證所有節點同意生成);
-
資產從側鏈 -> 主鏈:側鏈銷燬wrapped asset,主鏈解鎖資產。
可見,側鏈上資產的安全性,並非取決於主鏈,而是取決於側鏈的安全性,再進一步說是側鏈的共識機制。如果有人設法“憑空”在側鏈上創造了與鎖定在主鏈上的資產不符的資產,繼而在側鏈銷燬這些資產,再向主鏈提出解鎖並不屬於他們的資產,會有竊取資金的風險。
3.2.4 優缺點

3.2.5 應用
- xDai (現今更名為Gnosis Chain)
概述:
代幣$xDai的產生來自於以太坊上的$Dai被鎖定在代幣橋上,因為$xDai = 1USD,這使得xDai上的交易手續費容易被計算。xDai的驗證模式採用PoSDAO的模式,是通過質押的方式成為節點,質押者可以獲得固定的APR 15%,即$xDai的年通膨率為15%。
時間線:
-
2018年9月,xDai正式主網上線
-
2021年11月,Gnosis DAO上的GIP16投票通過併購xDai的提案
-
2022年4月,xDai與Gnosis正式合併且更名為Gnosis Chain(xDai與Gnosis合併的主要原因在於Gnosis這間公司希望可以基於xDai給自己生態系具備更多開發場景。)

Gnosis Chain目前的跨鏈的方式是部署節點在主鏈與側鏈上,而主鏈上的驗證者是通過committee選舉出來的certifiers,換言之Gnosis Chain目前是採用asymmetric pegged的模式並使用PoA的選舉完成。
生態發展:
目前Gnosis Chain的TVL在Defi Llama的排名為第二十,擁有~$53mil的TVL,讓人最熟悉的項目是Dark Forest。在Defi Llama的收錄中,目前Gnosis Chain共有35個進行中的項目,其中頭部項目分佈在Defi與跨鏈橋領域。
- Polygon
概述:
2017年,Matic Network成立。2020年6月同時主網發佈以太坊側鏈——Matic PoS Chain和Matic Plasma Chain(在3.3.5有詳述),2021年品牌升級為Polygon。其實Polygon被定義為是L2還是側鏈一直以來都存在較大的爭議,原因是雖然Polygon創始人認為他們是一種L2擴容方案,但因為Polygon擁有自己的驗證模型,其安全性與以太坊主網不同,另外技術上以太坊如果停擺,Polygon仍然可以運行,所以在此定義Polygon是一個側鏈。
但以Polygon的未來路線圖來說,創始團隊希望把Polygon逐漸往L2靠攏。2022年,Polygon在BD層面迅速與許多web2巨頭公司開展合作(如Reddit,Disney和Instagram)並且開啟Hermez zkEVM以及Polygon Zero的計劃,逐漸朝著路線圖上的目標邁進。
Polygon有四層:以太層、安全層、Polygon層、執行層。

-
以太層:該層是以太坊與Polygon溝通層,是信息交換的中間站,讓Polygon可以有質押、解決糾紛與傳遞消息。(relayer的官方性)
-
安全層:使用PoS的節點對Polygon保證安全,並收取費用
-
Polygon層:Polygon運行的最基礎必要層,用來運行區塊並進行交易整理與共識演算。
-
執行層:讀取與執行Polygon鏈中的移轉和交易,由執行環境進行。
時間線:
-
2017年 Matic Network成立。
-
2020年6月Matic Pos Chain 主網發佈。
-
2021年2月品牌更名為Polygon。
-
2022年 Polygon宣佈與Reddit,Instagram, Disney和Starbucks開展商業合作。
生態發展:
由於Polygon的低成本、EVM兼容與速度快的特性,Polygon在2021年發展迅速,開始在上面出現各種應用,目前的TVL從四月的$110million到現今已經$1.07billion。生態系已經有超過200個項目部署,但沒有太多的明星項目的誕生。
- Ronin
概述:
Ronin是一條因為Axie Infinity遊戲爆紅而產生的側鏈,在2021年3月時主網上線。Axie Infinity一開始部署在以太坊主網上,但因為以太坊高成本的交易手續費與時常擁堵的問題讓Axie Infinity的進一步發展受到限制,因此Axie Infinity就開發出專門的側鏈解決方案Ronin。
Ronin的主要特性為:快速與無縫交易,大幅度減少Gas Fee,會把得到的Gas Fee用來作為錦標賽獎金,資產可以退回以太坊主網與錢包訂製化的解決方案。在跨鏈橋被黑客攻擊前,Ronin有$1.4billion的鎖倉量,同時內建的NFT Marketplace也緊追在Looksrare後面,可以說是承襲了Axie Infinity能量的一條側鏈。目前上面的應用只有Katana DEX一個,作為Ronin上的代幣交換平臺。
Ronin的驗證機制是PoA(Proof of Authority),有別於PoS可以容納128個驗證節點,PoA至多隻能包含25個節點,相較起來量體更小。節點大部分為戰略性夥伴或是知名VC:如Binance,AnimocaBrands,SparqVenture,Ubisoft等。有別於PoS,PoA是以自身名譽為擔保進行的驗證模塊,更像是聯盟鏈通過權威型機構來進行認證,因此驗證速度與Gas Fee的re-allocate上可以有比較好的分配與調整。
時間線:
-
2021年3月Ronin主網上線。
-
2022年3月Ronin被黑客攻擊,黑客通過控制9個節點當中的其中5個節點(為Axie Infinity母公司)來不斷盜取資金,最終讓Ronin陷入整條鏈資產被掏空的困境。
-
2022年4月幣安領投並注入資產讓Ronin能夠重啟。
-
2022年8月Ronin增加3個PoA節點以提高安全性。
生態發展:
目前僅有Axie Infinity相關生態系會需要使用,被黑客攻擊前的DEX和Bridge基本都是為了Axie Infinity的遊戲內需而部署。
3.2.6 應用比較

3.3 Plasma
3.3.1 概要
- Plasma
Plasma本身指的是一個構建可擴展Dapp的框架,開發者可以使用其提供的工具進行開發。Plasma是作為側鏈的演化方案出現的,旨在將用戶對側鏈Operator的信任降至最低,即使Operator作惡,Plasma也可以防止用戶資金被盜。Plasma的基本原則是,如果Plasma鏈上出現安全故障,所有用戶的資產仍可以撤出Plasma鏈並退回到主網。
Plasma鏈
Plasma鏈,也被稱為“子鏈”,是依賴於另一個區塊鏈(稱為“根鏈”/“主鏈”/“主網”)構建的獨立運行的區塊鏈,具有獨立共識機制;每個“子鏈”具有一個部署在根鏈上可以自定義的智能合約;不同的子鏈在根鏈對應不同的合約,因此,我們可以將不同的子鏈用於不同的任務。在POS共識機制下,任何人在主網Plasma合約裡質押代幣可成為該Plasma鏈的Operator;通常Plasma鏈處理交易的節點很少,往往是項目方自己運營1個節點(Operator),這會帶來新的中心化問題。
Plasma鏈上再部署合約,可構建子子鏈,這些不同的子鏈可形成一層一層樹狀的Plasma網絡(如下圖);Plasma利用MapReduce算法,可將大的計算任務拆分成小任務,再分配給各個子鏈計算,最後一層層彙總後向上提交結果,從而可以快速、低成本處理大量複雜的計算。

Plasma合約
Plasma合約是指在根鏈如以太坊上運行的智能合約,用於處理用戶資金進出Plasma鏈,負責跟蹤Plasma鏈的狀態承諾(State Commitments),並通過提交欺詐證明懲罰作惡行為。
Plasma合約內的數據結構包含:
1) 合約所有者(在初始化時設置)
2)Plasma鏈區塊列表:每個區塊的Merkle root和Merkle root提交的時間
3)用戶提交的退出Plasma鏈的交易請求列表:包含了提交者地址、UTXO位置(Plasma區塊編號,txindex,outindex)
關係
Plasma合約起著橋樑的作用,允許用戶在以太坊主網和Plasma鏈之間移動資產。用戶可以將資金從根鏈轉移到子鏈,再由子鏈處理複雜的計算,從而節省Gas費用。在子鏈部署的DApp不必與根鏈直接交互,子鏈的狀態更新只需提交塊哈希Merkle Root給根鏈,這樣根鏈只接收最小數量的數據,且只有在遇到爭議時才需要計算,可大大減少根鏈的計算量。

3.3.2 時間線

-
2017/08,Plasma首次在Vitalik和閃電網絡作者之一Joseph Poon寫的白皮書Plasma: Scalable Autonomous Smart Contracts中被提出。
-
2018/01,Vitalik提出第一個正式的Plasma應用Plasma MVP,採用UTXO模型和Proof-of-Authority共識機制。
-
2018/03,Vitalik提出Plasma Cash,旨在解決Plasma MVP中的大規模退出問題。為了使得用戶證明自己擁有代幣的所有權更加容易,所有代幣都用NFT表示。
-
2018/06,Dan Robinson提出Plasma Debit,與Plasma Cash類似,不同點在於每個Token是用戶和Operator之間的一個支付通道,通道可以像Token一樣被轉移,整個設計類似一個大的Lightning hub。
-
2018/11,BANKEX Foundation提出Plasma Prime,希望利用RSA accumulators解決Plasma Cash中存在的大量歷史證明的問題。但目前還沒有正式全面的文檔來解釋Plasma Prime,仍處於構思階段。
-
2018年底,ETH的價格觸底,在加密領域的樂觀情緒消失的背景下,Plasma Cash雖然比Plasma MVP有所改進,但仍並不是以太坊承諾的Visa級解決方案,其MapReduce算法構想的“區塊鏈樹”看起來也難以實現,因此大部分為Plasma Cash開發客戶端的公司都停止了工作,目前開發進展都處於半成品狀態,看起來Plasma已死。
-
2019年起,以太坊社區開始探索一種新的二層擴容方案“Rollups”,具體內容我們在下文Rollups部分展開。

3.3.3 技術原理
三個核心思想:
-
鏈外執行:Plasma的假設是主網不需要驗證所有交易,任何不需要從智能合約移入或移出資產的操作都可以在鏈外處理,所以Plasma應用的大部分工作都在主網之外處理。Plasma鏈經常使用單個Operator來執行交易,無需等待其他節點的同意,這樣可以降低成本並提高速度,在犧牲一部分去中心化的前提下提高可擴展性。
-
狀態承諾:狀態承諾是一種存儲Plasma鏈狀態壓縮版本的加密方式。在Plasma中,狀態承諾是指一個Plasma鏈區塊內所有交易組成的默克爾樹(Merkle Tree)的根哈希值(Merkle Root)。Merkle Root能夠快速地驗證一筆交易是否包含在一個區塊中(通過Merkle Proof),因此Operator可以通過上傳Merkle Root來承諾當前區塊狀態。雖然Plasma在鏈外執行交易,但是在主網上執行結算的,所以Operator需要定期在以太坊上發佈Plasma區塊的Merkle Root作為“狀態承諾”,以確認鏈外計算的最終狀態,實現鏈外執行鏈上清算。這種依賴於主網驗證的機制確保了Plasma繼承了主網的部分安全性。
-
退出機制:如果用戶想從Plasma鏈撤出資金時,需要向主網的Plasma合約證明有可提取且數額正確的資金,用戶可以提交Merkle Proof作為證明,Merkle Proof可以由Operator提供,不過Operator有作惡風險。
使用流程如下圖所示:

1.存款:要使用Plasma鏈,用戶首先需要在以太坊的Plasma合約中存入ETH或任何ERC-20代幣。當用戶存入資金時,將在Plasma鏈上創建一個區塊,該區塊僅包括一筆交易,同時負責監控Plasma合約的Plasma Operator會在Plasma鏈創建相同金額的資產發送到用戶在Plasma鏈上的地址,用戶在Plasma鏈上收到資金後可以在Plasma鏈上交易。
2.交易:用戶在Plasma鏈上通過簽署加密消息來確認每筆交易,然後該交易以及對應的簽名會發送給Plasma鏈的Operator進行打包。
3.Operator: Operator將接收的交易打包進Plasma鏈區塊,一旦Operator收到足夠多的交易來填充一個區塊,這些交易將組成一個Merkle樹,Operator提交Merkle根作為對該區塊的狀態承諾到以太坊主網,因為只提交數據量小且數據大小恆定的Merkle根,可以大大減少提交到主網產生的Gas費用。此外,Operator提交主鏈的Plasma鏈區塊哈希值,如果被任一用戶挑戰成功,則Plasma鏈上的錯誤區塊會被回滾,而錯誤區塊的創建者會被懲罰。
4.退出
4.1 發起提款請求:
為了把資產從Plasma鏈提出,用戶需要向主網的Plasma合約發起退出交易,並和Merkle Proof一起提交(Merkle Proof可通過Operator獲取),Plasma合約會驗證Merkle Proof的有效性,以確保金額正確且沒有被雙花。
用戶同時還需要在提款請求中添加保證金,如果有挑戰者證明該用戶的退出請求無效,則筆保證金的一部分將被沒收作為獎勵給挑戰者。
4.2 挑戰提款請求:
雖然以太坊主網有Plasma鏈的狀態信息,但它無法驗證該信息是否正確。惡意用戶可能提出惡意提款請求,例如用戶在主網實際上沒有1000ETH,但聲稱在主網鎖定了1000ETH,並請求從Plasma提出1000ETH,或者嘗試提取他們已經花費的資產,並通過提供虛假證明來支撐這些虛假請求。
為了防止以上兩種作惡行為,Plasma引入了“挑戰期”(通常為一週)。在此期間內,任何人都可以向主鏈提交欺詐證明挑戰提款請求的有效性。例如,因為一筆歷史交易已被簽名,所以可證明作惡用戶的該筆資金在過去已經被花費,已無效。如果挑戰成功,則Plasma合約會拒絕作惡的提款請求,挑戰者將獲得獎勵。
然而,如果挑戰期內沒有任何人提供欺詐證明,用戶的提款請求將被視為有效,可以從以太坊的Plasma合約中提取資產,會造成Plasma鏈其他誠實用戶的損失,這是Plasma在安全性上的一大缺陷。
5.監控Plasma Chain(缺點)
用戶為了確保Plasma鏈上的資金安全,需要不時地監控Plasma鏈,通過運行一個軟件,定期自動同步下載Plasma鏈的數據,確保一切正確運行;數據同步頻率取決於Plasma智能合約裡設置的參數。
如果Plasma鏈上發生惡意行為,比如惡意Operator試圖竊取資金,那麼用戶的錢包將自動開始從Plasma鏈中提取資金來保障用戶的資金安全;由於用戶無法保障全程在線,類似閃電網絡的watchower委託人角色的設計就變得很有必要,但目前完整機制和激勵模型暫未出現。
3.3.4 優缺點

出於上述缺點,很多應用最初使用Plasma方案進行擴展,但後來又放棄而轉向Rollups方案。
3.3.5 應用
- Plasma Group → Optimism(Optimistic Rollup)
2017年,Plasma被正式提出後,三個以太坊核心開發者和研究者成立了一個非營利研究小組Plasma Group,致力於Plasma框架的研究。
2019年1月,Plasma Group發佈了一份Plasma Cash的說明書,一個月後又發佈了一種通用型Plasma架構嘗試將Plapps(plasma apps)在通用型Plasma鏈上部署。但隨著研究的深入,Plasma的缺點變得越發明顯,儘管技術團隊做了很多嘗試,通用型智能合約始終無法運行在Plasma上,使得Plasma的開發在2019年時陷入停滯。
2019年6月,John Adler提出了一種稱為“最小可行的合併共識”的設計,該設計實現了在以太坊上完全可驗證的鏈外共識系統,而無需零知識加密。之後,Plasma Group發佈了一個擴展版的合併共識設計,即現在被大家所熟知的:Optimistic Rollup。
2020年1月,在Paradigm和IDEO CoLab Ventures350萬美元的支持下,Plasma Group從一個非盈利的研究組織轉變為一家營利性初創公司,Optimism正式誕生,這也意味著團隊正式放棄研究Plasma,轉向專注於Optimistic Rollup的研究(具體內容見下文Optimistic Rollup部分)。
OMG Network → Boba Network(Optimistic Rollup)
OMG Network是最早提出「鏈下擴容」概念的以太坊擴容項目之一,也一度是該領域的龍頭項目。2013年,泰國金融支付企業SYNQA旗下的子公司Omise成立,主要業務是APP端在線支付。2017年,Omise成立了區塊鏈部門OmiseGO,同年發行$2500萬的$OMG代幣,發行總量1.4億枚。
2020年6月,OmiseGO更名為OMG Network後主網上線,使用More Viable Plasma技術來擴充以太坊網絡的容量;More Viable Plasma設計,是Minimal Viable Plasma的擴展,針對用戶和交易所之間的支付結算和價值交換進行了優化。隨後,Bitfinex宣佈支持OMG網絡進行USDT存款和取款。
2021年6月,Plasma路線式微後,OMG Network宣佈更名為OMG Foundation,與Enya公司合作一起推出Boba Network,併發布新代幣$BOBA。Boba是基於Optimistic Rollup的以太坊L2解決方案,從此OMG網絡不復存在,BobaNetwork繼承了OMG網絡的社區。(Boba Network的具體內容見下文Optimistic Rollup部分)
- Polygon (previously Matic Network) → 全棧L2解決方案
2017年,Matic Network成立。2020年6月主網同時發佈以太坊側鏈Matic PoS Chain和以太坊Plasma方案Matic Plasma Chain,後者採用Plasma的鏈下擴容方案,並在Plasma的基礎上做了一系列的改進。該擴容方案與以太坊主網通過Plasma橋進行跨鏈交互,允許用戶將資產從主鏈轉移到Plasma鏈,從而實現快速和低成本的交易。Plasma方案雖然比Matic PoS側鏈更安全,但缺點是用戶從Plasma網絡中提取資金需要更長的等待時間(7天),而Matic PoS側鏈僅需要約3小時;此外,Plasma鏈也不能運行通用的智能合約。
雖然Matic方案改進了Plasma More VP,但是仍然無法解決Plasma最根本的問題,包括無法確保鏈下數據可用性、大規模退出問題和用戶需要經歷挑戰期等,並且原Plasma研究團隊也都逐步轉向開發Rollup,這使Plasma方案的突破難上加難。
2021年2月,Matic品牌升級為Polygon,向以太坊鏈下擴容方案的聚合器轉變。同年5月,發佈核心組件Polygon SDK,一個用Golang語言編寫的模塊化和可拓展的框架,能夠與以太坊實現完全的兼容,開發者可以使用Solidity、Vyper等語言以及以太坊工具和庫等直接進行開發。這是一個模塊化、靈活的框架,支持開發者自定義構建自己的鏈下擴容方案如Plasma、Optimistic Rollups、zkRollups、Validium以及側鏈如Polygon PoS鏈,並且讓它們輕鬆跨鏈互通並可以直接共享以太坊的安全性和網絡效應。當前Polygon Plasma的擴容方案已逐漸被社區拋棄,Polygon將重心移至Rollup技術的開發。2021年Polygon通過收購Hermez和Mir Protocol一步到位集成ZK Rollups,朝著「全棧」鏈下擴容解決方案又近一步。(具體內容見下文ZK Rollups部分)
目前Polygon已逐步搭建起從DeFi、Gamefi到NFT等細分領域的多樣化生態體系,擁有37k+的Dapp,1.8B的總交易數和135M+的用戶。
總結:
Plasma是一種技術上的過度方案:受制於Plasma技術本身存在的問題,Plasma Group沒有等到上線基於Plasma的項目就轉入了Optimistic Rollup的研究;OMG Network和Polygon都在主網上線Plasma方案後的一年內,也分別快速轉入了基於Optimistic Rollups和ZK Rollups方案的開發;綜上,基於Plasma的應用乏善可陳。
3.4 Rollups
3.4.1 概要
早在2014年,Vitalik就提出了“將交易數據和狀態放在鏈上,而計算放在鏈下”的shadow chain的概念。這是Rollups的雛形,但在當時似乎沒有受到重視。由於Plasma受限的智能合約執行能力和大規模退出(mass exit)問題,以太坊研究者們開始尋找一種新的擴容解決方案 – Rollups。
2018年9月,V神提出用零知識證明來解決以太坊擴容問題。2019年6月,Consensys研究員兼Celestia聯合創始人John Adler在Ethereum Research上發文“Minimal Viable Merged Consensus”,提出了帶終止時間的欺詐證明的Optimistic Rollups擴容方案。隨著2019年12月以太坊Istanbul硬分叉,calldata存儲成本下降4倍,Rollups吞吐量大大提升,Rollups上生態和各種應用迅速發展了起來,而Rollups也成為了目前主流的二層網絡(Layer2)擴容解決方案之一。
3.4.2 技術原理
Rollups的核心思想是將計算過程和狀態存儲放在鏈下,而在打包上鍊的是狀態承諾和被壓縮的交易數據。
Layer1上會有一份智能合約,負責更新Rollup交易的狀態根(狀態承諾)和記錄壓縮後的交易內容。任何人都可以收集在二層網絡上的交易,聚合壓縮形成交易批次(batch)後,以calldata的形式發送給主鏈的合約。這個batch包括了壓縮後的交易集,前一個區塊狀態的默克爾根(Merkle root)和新狀態根(處理交易之後的狀態根)。主鏈合約收到batch後,會檢查前狀態根和合約上的狀態根是否匹配,如果匹配,就能證明Rollup狀態是前後連接的,合約就會更新自己的狀態根。
由於交易數據是壓縮後存儲在主網的智能合約的calldata裡的,任何人都可以從合約裡拿到交易數據,從而在鏈下重建二層網絡的狀態。用戶能隨時提供Merkle proof從而取走二層網絡的資產。因此,Rollups的安全性仍然是由一層的安全性保證的。

但Rollups是怎麼保證上傳的交易批次(batch)的正確性呢?換句話說,如何得知交易批次裡的後狀態根 (post-state root) 是正確的呢?如果某人能夠提交一個具備任意後狀態根的batch,而無需承擔任何後果,他們完全可以將Rollups中的所有代幣都轉移給自己。而這個問題,帶來了兩種解決方案以及其對應的兩種類型的Rollups:
-
欺詐證明(fraud proofs)→ Optimistic Rollups
-
有效證明(validity proofs)→ ZK Rollups
- 鏈下虛擬機
Rollups的計算和狀態存儲是在鏈下的虛擬機上完成的。這個虛擬機完成交易的計算和狀態的改變,同時也是Layer2應用的執行環境。
以太坊Layer2存在的主要目的是擴容Layer1,因此,Layer2需要儘可能地去提供和Layer1相似的執行環境。而這個相似程度就是由Layer2的虛擬機來決定的,也叫做EVM兼容性。EVM兼容意味著創建一個類似EVM的代碼執行環境,使以太坊開發者可以很容易地將智能合約遷移到EVM兼容的鏈上,而不必重寫代碼。
實現EVM兼容,最簡單的方案就是fork GETH,比如BNB鏈。但對於Rollups來說,他們還需要兼容證明的驗證(欺詐證明和有效證明)。Optimistic Rollups能做到比較好的EVM兼容性,比如Arbitrum的Nitro和Optimism的OVM。而對於ZK Rollups的協議來說,有效證明(零知識證明)很難做到EVM兼容,因為我們需要把智能合約的邏輯轉變成電路邏輯,而電路邏輯本身非常複雜且需要零知識證明相關知識。因此,目前所有生產級的ZK Rollups協議都是特定於應用的,如Loopring,ImmutableX,dYdX,zkSync1.0,zkSwap。
誰能打包區塊?
理論上來說,任何人都可以打包區塊並上傳給主鏈的合約,但為防止作惡,這個人需要在合約裡質押一筆錢。如果很多人同步打包交易,而只有一個區塊生成,這樣會消耗額外的計算和區塊資源。因此,為了提高交易速度,目前大部分Rollups項目都是用中心化的排序器(Centralized Sequencer)進行打包交易的;中心化排序器是最有效率的,但會出現單點故障問題。
此外,我們可以進行排序器拍賣,POS驗證節點隨機抽人或者通過DPoS投票的方式決定打包區塊的人。排序器拍賣能捕獲MEV價值,但不能解決單點故障的問題。POS和DPoS都需要鎖定資金,這會降低資金使用效率。
- 交易壓縮
壓縮技巧是Rollups實現可擴展性的關鍵之一。壓縮使得鏈上存儲的數據量減少,從而降低成本。
一筆簡單的ETH轉賬交易在以太坊需要~110字節,而在Rollups中只需要~12字節。其中一部分原因來自於編碼,還有一部分原因來自於巧妙的壓縮技巧。比如,我們可以在主鏈合約上存儲一個地址和索引的映射表,而20字節的地址就可以用3~4個字節的索引來替代了。此外,BLS集合算法可以將多個簽名壓縮成一個簽名,從而減少簽名大小(在ZK Rollups裡,零知識證明替代了簽名)。
下面這個圖片顯示了以太坊上一筆簡單交易的具體壓縮情況:

https://vitalik.ca/general/2021/01/05/rollup.html
- 交易成本
我們知道了通過交易壓縮可以減少Rollup交易在鏈上的存儲成本,那Rollup交易成本到底由什麼組成呢?
Rollups 交易成本 = L1 數據存儲成本 + L2計算處理成本
其中,L1存儲成本遠遠大於L2計算的成本,所以要節約成本,我們需要找到L1上性價比最高的存儲空間。以太坊上有三種數據存儲位置:memory,storage和calldata。calldata是一個不可修改的、非持久性的區域。calldata可以被用來保存函數的輸入數據。它不會改變以太坊網絡本身的狀態,因此calldata的存儲成本是最便宜的。為了減少成本,Rollups把交易數據存在L1合約的calldata裡。
Rollups要解決的核心問題就是如何在不降低安全性和去中心化下,儘可能地增大以太坊的吞吐量,從而減少用戶交易成本。從EIP的提案中,我們也可以看到以太坊在減少Rollups鏈上存儲成本上做出的努力:
-
EIP2028:calldata gas成本從68gas單位/byte減少到16gas單位/byte
-
EIP4488:calldata gas成本從16gas單位/byte減少到3gas單位/byte
-
EIP4844:data blobs:這是一個用戶定義的數據片斷,其承諾可以被EVM訪問。blobs由所有信標節點下載,並在一個相對較短(一個月)的延遲後刪除。Rollups的交易數據會被放在data blobs上,這將極大程度上減少L1存儲成本。
- 交易吞吐量
以太坊是有區塊大小限制的。每個區塊的目標大小為1,500萬單位的gas,如果網絡需求增大,區塊限制可以階梯性上升至3,000萬單位gas(2倍目標區塊大小)。這裡我們用常規的1,500萬區塊限制。目前以太坊的平均出塊時間是12~15秒,簡單的轉賬交易需要花費21,000單位gas,在接下來的計算中,我們假設以太坊出塊時間是15秒。
對以太坊主網而言,受限於區塊空間,理論TPS(每秒交易量)可以達到15,000,000(Gas Limit)/21,000/15=47.6。
對於Optimistic Rollups而言,我們需要把壓縮後的交易數據上傳到主網合約。前面提到,目前一筆Rollup轉賬交易大概是12個字節。目前的calldata gas成本是16單位/字節。那麼一個區塊就可以有15,0000,000/12/16=78,125筆交易。延續上文假設,以太坊出塊時間是15秒,那麼Optimistic Rollups每秒能處理78,125/15=5,208筆轉賬交易。
對於ZK Rollups而言,我們還需要考慮零知識證明在鏈上的驗證成本,大概是500,000 gas單位。同樣的邏輯,ZK Rollups每秒能處理(15,000,000-500,000)/12/16/15=5,034筆轉賬交易。
以上是一個相當樂觀的估計(理論吞吐量),因為Rollups不可能佔用以太坊的整個區塊,且不可能所有交易都是轉賬交易。但在同樣尺度下,我們可以看到,Rollups對交易速度的提升為100多倍。
目前而言,Rollups能實現的TPS極限是2,000筆交易左右。Rollups的實際吞吐量取決於一批交易能被壓縮成較小摘要的幅度。由於ZK Rollups不需要像Optimistic Rollups一樣上傳所有的交易內容,ZK Rollups的TPS往往高於Optimistic Rollups。
3.4.3 優缺點

3.4.5 Optimistic Rollups
3.4.5.1 概要
Optimistic Rollups(OPRUs)是Rollups的一種,依靠欺詐證明(Fraud proofs)來保證鏈下執行交易的正確性。正如它的名字,Optimistic Rollups上打包的交易被樂觀地假設為正確的,因此不用做額外功;只有發生爭議時,主鏈才會執行Rollups區塊上的每筆交易,確認是否發生了欺詐。
3.4.5.2 時間線

-
2018年8月,Offchain Labs(Arbitrum)在Usenix安全會議上發表論文,提出將交易由放在鏈下的AVM(Arbitrum Virtual Machines)來執行,而鏈上只保留虛擬機狀態的加密哈希值。這個方案的交易數據是在鏈下的,因此不算完全的Optimistic Rollup。
-
2019年6月,Celestia聯合創始人 John Adler在Ethereum Research上發佈了“最小可行的合併共識”的提議,揭開了Optimistic Rollup的序幕。不同於14年Vitalik提出的 Shadow Chain(L2狀態放在鏈上),這個方案中L2狀態是完全鏈下的。
-
2020年12月,Fuel Network主網上線,成為第一個上線的Optimistic Rollup,被用於支付應用。
-
2021年1月,Optimisim alpha主網軟啟動,採用了逐步開放主網的方式。同時,合成資產協議Synthetic宣佈在Optimism上線。
-
2021年8月,Arbitrum One主網發佈。這是一個完全的Optimistic Rollup解決方案,即交易數據會被放在鏈上的合約裡,允許任何人發起挑戰。
-
2021年9月,Boba主網發佈,計劃支持混合計算,使Solidity智能合約能夠與任何外部API互動。
-
2021年11月,Metis Andromeda主網上線,提供一個EVM等效的Optimistic Rollup,一個無代碼的中間層Polis以及去中心化自治公司(Decentralized Autonomous Companies,DAC)。
-
2021年12月,Optimism開放主網,允許任何人部署L2合約。
-
2022年8月,Arbitrum Nitro主網上線,帶來更低的手續費以及更好的EVM兼容性。
3.4.5.3 技術原理
Optimistic Rollups(OPRUs)採用欺詐證明,樂觀地默認所有交易的計算是正確的,除非有人提出爭議。在Aggregator上傳交易批次後,Optimistic Rollups會有一個7天左右的爭議窗口期。在此期間,任何人都可以對狀態轉換提出異議。只要其中有一人誠實,對錯誤的狀態變化發起挑戰,Optimistic Rollups協議的安全性就能得到保證。
Optimistic Rollups主要有以下兩個技術角色:

用戶流程

-
用戶通過在主網合約上鎖定資產的方式,將錢存入二層網絡。
-
用戶向Aggregator發送L2交易。
-
Aggregator收集並排序交易(先進先出),執行交易,更新內部狀態,並將交易打包成batch,壓縮後提交給L1的合約。
-
Batch內容:壓縮的交易數據,前狀態根,後狀態根
-
L1合約檢查batch中的前一個狀態根是否與其當前的狀態根相匹配(確保L2狀態的連續性);如果匹配,則將狀態根切換到新的狀態根。
-
Validator可以從L1合約上下載交易數據,並在本地重建L2狀態並計算新的狀態根。
-
如果Validator發現本地的狀態根和Aggregator上傳的不一致,Validator可以發起挑戰。此時,Validator需要質押一筆錢,並且向主網Rollups合約提供有效的Merkle Proof。
-
如果主網Rollup合約驗證確實存在錯誤,主網合約就會對錯誤batch及其之後的batches進行回滾。作惡的Aggregator會受到懲罰,其押金將會被沒收,一部分押金會獎勵給挑戰者,一部分押金銷燬掉。反之,如果Aggregator是正確的,Validator挑戰失敗,質押的錢將會被銷燬。
-
如果一段時間(挑戰期)內沒有挑戰,之前打包好的batch將會在L1上被確認。
欺詐證明
驗證者從L1合約下載交易數據後,可以在本地重建(L2狀態的)merkle tree。驗證者可以通過比較本地和合約的merkle root(狀態根)確認是否存在作假行為。如果發現作假,驗證者需要向L1合約提供merkle proof,也就是圖中的綠色部分,從而發起挑戰。
-
如果有多個不對的batch,最好找最早的batch發起挑戰。因為,最早交易批次的錯誤會導致後續不正確的批次全部回滾,從而使後續區塊的挑戰失效。
-
如果一個batch的構建是正確的,那麼就永遠不可能創建一個顯示該batch無效的欺詐證明。

爭端解決(Dispute Resolution)
目前處理糾紛的方法是重新執行交易(re-executing transactions)和互動證明(interactive proving)。
重新執行交易依賴於L1來執行整個L2區塊的交易,實現即時驗證。因為需要執行一個L2區塊內所有交易,這種方式成本高。此外,重新執行交易需要單一區塊能容下整個L2的交易,這導致了L2的交易存在上限。採用此方式的有Optimism,Metis等。
互動證明通過不斷拆分存在爭議,來回移動爭議點以縮小爭議點來解決爭端。具體來說,Aggregator首先把爭議一分為二,Challenger(發起挑戰的Validator)選擇其中一個有爭議的。然後Aggregator再把這個爭議一分為二,直到找到最後的爭議點,後由鏈上的合約判斷勝負。由於拆分爭端這個過程是在鏈下進行的,L1只需要執行爭議點交易,而不是在鏈上重新處理全部交易,此方式通常手續費更低。但是,由於需要互動,此方式生成證明的時間更長,Challenger和Aggregator需要同時在線去完成多輪的爭議拆分。Arbitrum和Optimism Cannon(未上線)採用的都是互動證明。
值得注意的是,和重新執行交易相比,互動證明在L1上執行的數據更少,因此會有更高的吞吐量上限。
為什麼驗證者的挑戰期是7天
理論上來說,挑戰期越長,就更有可能檢查到錯誤併發起挑戰,因此係統也就越安全。
假設一個挑戰期是C個區塊長度,Rollup鏈上的價值(攻擊者在L2上能得到的最大值)是V。通常情況下,區塊越多(更多時間受到挑戰),攻擊者能夠獲得的利潤也就越小。因此,我們可以假設攻擊者利潤隨著區塊數量(C)的增加而指數下降,即攻擊者利潤 = V exp(-AC),其中A是一個常數,A值越大,區塊長度的增加帶來的利潤降低效果越明顯。
攻擊者往往是Aggregator,因為只有他們能發佈錯誤的狀態根,因此Optimistic Rollups需要Aggregator質押一筆錢才能打包交易。為了減少從經濟層面發起攻擊的可能性,這筆錢需要遠遠大於攻擊者能獲得的收益,使得攻擊者的損失遠遠大於收益。假設Aggregator質押金額是攻擊者價值的10倍(足夠大),那麼Aggregator的質押金額 = 10V exp(-AC) ,遠遠大於攻擊獲利。
但對於誠實的Aggregator而言,這帶來了質押的時間成本。我們把資本利率記作I,那麼Aggregator的時間成本 = 10V exp(-AC) I。挑戰時間越長(C值越大),Aggregator的時間成本就會越高,使得Aggregetor的運營成本上升。
對於退出用戶而言,過長的挑戰期會導致用戶提款週期變長,從而帶來不好的用戶體驗。假設每個區塊的平均取款比率為W,那麼每個區塊的提款金額是VM,每個時間點處於提款鎖定狀態的資金為CWV,利息CWVI。挑戰時間越長(C值越大),用戶取款的時間成本也就越高。
因此,最優的挑戰期應該是Aggregator質押的時間(運營)成本和取款用戶的時間成本總和(10V exp(-AC)I + CWVI)的最小值。求最小值就等於對C求導=0,得到C’=ln(10A/W)/A,其中C’是最優挑戰期。
計算
-
假設1:一個區塊時間後攻擊者能獲得高達99.99%的最大利潤,A=-ln(攻擊者利潤/V)/C,那麼A = -ln(0.9999) = 0.0001。
-
假設2:每天有1%的取款,每15秒一個block,一天有4*60*24=5,760個區塊,那麼w = 0.01/5760 ≈ 0.000002。也就是說每個區塊的平均取款比率 為 0.000002。
-
計算結果:C’ = ln(10*0.0001/0.000002) / 0.0001 = 62146 個區塊 = 10.79天。
由此可以得出,最佳的挑戰時間是10.79天左右,和大多數協議的7天挑戰時間差不多。核心思路就是聚合者(Aggregator)質押和取款用戶時間成本總和的最小值。
3.4.5.4 優缺點

3.4.5.6 應用
Arbitrum
概述:
Arbitrum是Offchain Labs開發的L2可擴展性解決方案:採用多輪交互式挑戰協議的 Optimistic Rollup。目前Arbitrum在以太坊主網上有兩條鏈:Arbitrum One(Optimistic Rollup)以及Arbitrum Nova(AnyTrust)。
時間線:
-
2018年8月,Arbitrum在Usenix安全會議上發表論文,提出將交易放在鏈下的AVM(Arbitrum Virtual Machines)來執行,而鏈上只保留虛擬機的狀態的加密哈希值。一個固定數量的驗證者群體將會被選擇來運行AVM。只要有一個誠實的驗證者,對不正確的鏈上狀態發起挑戰(互動證明),AVM就能正常運行。
-
2021年8月發佈Arbitrum One主網。這是一個完全的Optimistic Rollup解決方案,即交易數據將會被放在鏈上的合約裡,允許任何人發起挑戰。
-
2021年9月,Arbitrum Sequencer下線,持續了45分鐘。原因是Sequencer一次性收到太多交易而產生的BUG。雖然排序器中斷了,但是網絡未中斷,用戶還是可以繞開排序器直接向L1合約發送交易。
-
2021年10月,提出Arbitrum Nitro,即Arbitrum One的升級版本。Nitro會把AVM改成WASM(Web Assembly),同時把自制的EVM仿真器(emulator)換成了Geth,提高了EVM兼容性和處理速度。此外,他們用Go重寫了ArbOS,提供改進的batch處理和壓縮系統,從而減少交易成本。
-
2022年3月,提出Any Trust Chain,將交易數據放在鏈下,由DAC委員會保管。只有一定數量的委員會成員簽名或者交易數據在鏈上,主網合約才存batch哈希值。Any Trust鏈主要應用在遊戲賽道,可提供更低的手續費和更快的交易速度。
-
2022年8月,基於Anytrust技術的Arbitrum Nova主網上線。
-
2022年8月31日,Arbitrum Nitro主網上線,帶來更低的手續費以及更好的EVM兼容性。
技術特點:
1. 採用多輪交互式挑戰協議,可減少L1鏈上解決爭議的成本。
2. EVM等效:基於Geth構建的虛擬機,可以執行任何以太坊字節碼,Gas費用的計算也是等效的。
3. Rollup設計:驗證者需要對新的狀態質押,並提出區塊。這是一個額外的確認。更具體的說,驗證者需要去sequencerInbox合約中下載交易數據,在本地的虛擬機(WAVM)上執行交易,更新本地L2狀態,並通過對新的狀態質押,提出新的區塊,然後等待7天的挑戰期,最終確認區塊。
生態發展:
截止2022年11月,Arbitrum佔Layer2的市場份額52%左右,TVL$2.3B,位居第一。目前生態內TVL排行前三的項目是GMX,Stargate和Uniswap V3。其中比較有特色的項目有:
-
GMX是一個去中心化的現貨和永續合約交易所,通過發行指數基金的方式,使得基金持有者成為槓桿交易者的對手方。目前部署在Arbitrum與Avalanche網絡。
-
Dopex是一個去中心化期權平臺,通過期權池為交易方提供流動性。

Source: https://news.cryptorank.io/arbitrum-ecosystem-overview/
Optimism
概述:
Optimism,是OP Labs(前身Plasma Group) 開發的Optimistic Rollup項目,目前的主流Optimistic Rollups應用之一。
時間線:
-
2019年10月,Plasma Group和Uniswap聯合發佈Unipig.exchange測試版,一個基於Optimistic Rollup的DEX。
-
2020年1月,在Paradigm和IDEO CoLab Ventures350萬美元的支持下,Plasma Group 從一個非盈利的研究組織轉變為一家營利性初創公司,Optimism正式誕生,意味著正式放棄研究 Plasma,轉向專注於研究 Optimistic Rollup。
-
2021年1月,Optimism alpha 主網軟啟動,採用了逐步開發主網的方式。同時,合成資產協議Synthetic宣佈在Optimism上線。
-
2021年10月, Optimism發佈EVM等效主網。
-
2021年12月, Optimism開放主網,允許任何人部署L2合約。
-
2022年3月, Optimism提出一個新版的欺詐證明Cannon。這和Abitrum實現的方式十分類似,是一個多輪交互式的欺詐證明,解決單輪證明需要L1合約驗證所有交易帶來的成本高的問題。
-
2022年5月,Optimism 提出Bedrock,一個更便宜更快更先進的Optimistic Rollup架構。Bedrock會將共識和執行客戶端分離,使Optimism能夠無縫整合成本最小化的EIP-4844。
-
2022年6月, Optimism代幣OP發行。Optimism將治理權分給了Token house和Citizens’ house兩個群體。Token house持有代幣,能夠對作為治理基金一部分的項目獎勵的分配、協議升級等進行投票。Citizens’ house用不可轉讓的NFT代表公民身份,負責可追溯性的公共產品資金的分配。
技術特點:
-
Optimism採用了重新執行交易的方式處理爭端,後面會用多輪交互證明(Optimism Cannon)。
-
EVM等效:為了更好的EVM兼容性,Optimism首先fork了geth,將區塊生成和執行分開並定義了自己的L2區塊生成函數;其次,Optimism用一個具有更簡單指令集的VM把EVM包裝起來,並通過運行這個VM生成欺詐證明。
生態發展:
截止2022年11月,Optimism佔Layer2的市場份額29%左右,TVL$1.26B,位居第二。目前生態內TVL排行前三的項目是AAVE,Synthetix和Velodrome。其中比較有特色的項目有:
-
Synthetix是一個合成資產協議。通過去中心化預言機跟蹤資產價格,Synthetix可以在鏈上創造合成資產(數字貨幣和外匯)。
-
Perpetual Protocol是一種 DEX 衍生品協議,它開創了 vAMM 架構,不需要訂單薄,也能提供槓桿交易。目前,Perpetual Protocol 佔據 Optimism 60%以上的日交易量。
-
Lyra 是一種期權協議,旨在通過 Optimism 提供的快速交易確認時間和低 gas 費用來改善期權交易的體驗。

Metis
概述:
Metis是由Elena Sinelnikova、Kevin Liu和Yuan Su於2018年共同創辦的以太坊擴容解決方案。Metis開始於對Optimism的硬分叉,將Optimistic Rollup和DAO基礎設施結合起來,旨在為WEB3公司提供一個成本低、去中心化、可擴展性強的基礎設施,以滿足去中心化商業運營對隱私和存儲等方面的需求。
時間線:
-
2018年,Elena Sinelnikova、Kevin Liu和Yuan Su創辦Metis。
-
2021年4月,Metis Alpha測試網發佈,帶來第一個測試產品Prologue,以展示其Rollup設計的高速度和低成本。
-
2021年11月,Metis Andromeda主網上線,提供一個EVM等效的Optimistic Rollup,一個無代碼的中間層Polis以及去中心化自治公司(Decentralized Autonomous Companies,DAC)。
技術特點:
-
DAC,一個新的DAO結構,涵蓋許多開源工具(企業軟件, 薪資管理工具、信息傳遞平臺,IPFS去中心化存儲等),作為基本單元支持去中心化應用、社區和業務的運營和管理。
-
改進的Rollup設計:多虛擬機+Ranger+排序器池。多虛擬機並行可以支持不同DAC同時運行。Ranger是一個新引入的驗證者角色。代幣激勵使Rangers快速驗證新的區塊交易,從而縮減欺詐證明週期。排序器池(Sequencer Pool)是為了引進社區參與者加入區塊打包的過程,從而使協議更加去中心化。目前Ranger和Sequencer Pool還未上線。
-
Polis中間層:提供智能合約模板,方便WEB2開發者使用。

生態發展:
截止2022年11月,Metis佔Layer2的市場份額2.6%,TVL$90M,位居第五。目前生態內TVL排行前三的項目是Hummus Exchange,Hermes Protocol和NetSwap。其中比較有特色的項目有:
-
Hummus Exchange是一個單邊自動做市商,為Metis提供穩定幣交易。
-
Netswap是部署在Metis上的首個原生去中心化交易所(DEX)。
Boba Network
概述:
Boba Network(前OMG Network)是一個專注於計算的L2項目。Boba Network由Enya團隊創建。Boba Network開始於Optimism的分叉,其核心在於混合計算提供的Web3和Web2的互操作性。
時間線:
-
2021年5月,Boba Network發佈了公共測試網。
-
2021年9月,Boba Network主網發佈,為以太坊提供一個Optimistic Rollup解決方案。
-
2022年3月,Boba Network上線混合計算(Turing Hybrid Compute),使Solidity智能合約能夠與任何外部API互動。
技術特點:
-
自建的L1<->L2流動池,方便用戶快速退出和進入Boba Network。
-
混合計算:允許Solidity智能合約能夠與任何外部API互動。例如,獲取Twitter關注信息,調用鏈外的機器學習模型,或使用在鏈下運行的高級數據分析,再將計算結果返回給智能合約。Turing本身只是一個管道,而不是預言機。也就是說,Turing不保證計算結果的真實性,但是Turing將會把輸入和服務器回覆記錄在主網上,其他人就可以通過下載這些數據,去驗證這些數據的真實性了。
生態發展:
截止2022年11月,Boba Network佔Layer2的市場份額0.5%,TVL$20M,位居第十,從21年11月的高點$600M下滑了96%。目前生態內TVL排行前三的項目是OolongSwap,Synapase和Connext。OolongSwap是Boba Network上首個原生AMM去中心化交易所。Synapase和Connext都是跨鏈轉賬協議。
3.4.5.7 應用比較
在Rollups的設計上面,基於Optimistic Rollups的協議們大同小異。核心邏輯就是計算和狀態存儲放在鏈下,交易數據和狀態根放在鏈上,並通過欺詐證明確保狀態根的正確性。目前主流的Optimistic Rollups協議都是中心化的Sequencer在運行整個網絡,且均計劃在未來將這一角色去中心化。除了Arbitrum(白名單驗證者)外,上面提及的其他應用,欺詐證明的功能均在開發中。也就是說,目前中心化的Sequencer是可以發佈錯誤的狀態根,而無人能夠提供欺詐證明,從而導致資金被盜。
在EVM兼容和等效的開發工作中,可以看到Optimism、Arbitrum和Metis採用的方式趨同,都通過fork GETH致力於降低L1和L2的執行環境差異,避免因此帶來的風險,並且致力於使得Layer1的應用遷移到Layer2的體驗更加順滑。
Optimistic Rollups應用的核心區別點在於針對不同場景進行的差異化定位。Arbitrum和Optimism團隊技術積累深厚,開發的是以太坊通用場景的擴容方案。Metis和Boba Network均始於Optimism分叉,但對不同場景進行了對應的適配和調整。Metis為去中心化自主公司(DAC)做了一系列的工具,方便了公司的鏈上運營。Boba Network通過API提供web2和web3的互操作性,更適用於計算場景。

3.4.6 ZK Rollups
3.4.6.1 零知識證明

零知識證明是一種讓驗證者相信某些聲明為真,但不透露任何其他信息的方法。
零知識證明通常由兩個角色:證明者和驗證者。證明者計算並生成證明,卻不洩露任何知識;驗證者在不知道知識的情況下,驗證證明。
零知識證明的概念誕生於1985年MIT學者 Goldwasser、Micali 和 Rackoff 合作發表的論文The Knowledge Complexity of Interactive Proof Systems(即GMR85)。在這篇論文裡,零知識證明被定義為只證明問題的正確性而不傳達任何額外信息的證明,而交互性的證明方式可以減少為證明一個定理而必須交流的知識量。
交互式的零知識證明要求驗證者和證明者進行多輪交互而驗證證明的正確性。如何使驗證者能夠獨立完成驗證成了關鍵。1988年,Manuel Blum、Paul Feldman和Silvio Micali提出了第一個非交互式零知識證明。他們提出,如果證明者和驗證者有一個共享的隨機字符串,證明者可以不需要和驗證者交互,仍能說服驗證者他們對知識的瞭解。

此後的一段時間,零知識證明在學術界得到了進一步的研究,但在實際實施或使用方面卻很少。最早的實際用例之一就是2000年出現的用零知識證明來登錄網站而不向服務器洩露密碼信息的方案。
2011年,Groth提出了SNARK(Succinct Non-Interactive Arguments of Knowledge),把零知識證明帶入了實用領域(數字貨幣)。
2013年,Pinocchio(PGHR13)算法被提出,極大地減少了證明和驗證時間。第一個運用零知識證明的加密貨幣是14年推出的Zcash(最初叫Zerocash或Zerocoin),而Zcash最初使用的就是PGHR13算法。
2016年,Groth16被提出,該算法擁有常數級證明大小和常數級驗證時間,比PGHR13算法更快,是目前最為廣泛使用的算法。
2017年,Bulletproofs(BBBPWM17)被提出;該算法不需要可信設置,和Groth16相比,Bulletproofs證明大小更大和驗證時間更長,因此更適用於簡單關係;Monero就是使用的Bulletproofs。
2018年,ZK-STARKs由Starkware提出;該算法不需要可信設置,且當證詞(witness)的規模較大時,ZK-STARKs在生成和驗證證明方面比ZK-SNARKs更快;但缺點就是證明本身比較大,往往是kb級別。
2019年1月,Sonic問世;該算法需要可信設置,但是可以用於多個電路,且初始字符串可升級。證明大小恆定,驗證證明貴。理論上來說,可以多個證明一起驗證。
2019年5月,微軟研究中心發佈Spartan,一個無需可信設置的ZK-SNARKs,具有極快的證明和驗證時間(亞線性)。
2019年8月,Aztec提出PlonK,並且開展了176人參與的初始可信設置。PlonK是Sonic的改進版,證明時間縮短5倍。在L2項目中採用的最多是PlonK,比如Aztec,zkSync,zkSpace,Polygon Hermez。
2019年9月,Zcash團隊提出HALO算法,支持遞歸證明,無需可信設置,線性驗證時間(不簡潔)。
2020年9月,同樣是Zcash團隊提出的HALO2問世,HALO2是HALO和PlonK的結合版,有著更靈活的電路設計且更高效。Scroll目前採用的就是HALO2。
2021年3月,Nova(Spartan + Bulletproof)被提出,無需可信設置,支持更高效的遞歸證明,擁有目前最快的證明速度,但證明大小較大(線性)。
2022年1月,Polygon Zero提出Plonky2,它結合了PlonK和FRI,具有快速證明和無信任設置的特點,支持遞歸且驗證成本低。
2022年10月,Espresso Systems團隊發佈HyperPlonk。HyperPlonk是對PlonK的改進,使用了多線性多項式承諾(multilinear polynomial commitments),去掉了PlonK裡面的FFT部分,減少了證明時間(線性),但證明大小更大。
ZK-SNARKs
-
S-Succinct(簡潔):證明大小和驗證時間遠遠小於原始計算(語句)
-
N-Non-interactive(非交互):證明者和驗證者不需要為每一輪驗證來回通信,但證明者和驗證者需要完成初始設置階段。
-
A-ARguments(論據):具有極大計算能力的證明者可以通過生成錯誤的證明來欺騙驗證者。發生這種情況時,公鑰/私鑰加密也會被破壞。
-
K-Knowledge(知識):證明者需要知道一些秘密才能進行證明。
ZK-SNARKs是在區塊鏈領域廣泛應用的零知識證明系統。第一個使用零知識證明的區塊鏈應用是Zcash,一個用於隱私支付的數字貨幣。2014年成立,Zcash早期用的是Pinocchio算法,在2018年Sapling升級後使用Groth16。
傳統ZK-SNARKs(例如Groth16)有以下三個問題:
-
需要初始化可信設置。初始化可信設置會生成一個參考字符串(reference string)。如果這個字符串洩露,任何人都可以作假證明。
-
參考字符串只能被用在一個電路(circuit)裡面。因此單一初始設置不能被用於廣泛的計算。
-
參考字符串不能被升級。如果升級,需要重新生成參考字符串。
因此產生了兩種解決方案:透明設置(Transparent Setup)和通用設置(Universal Setup)。
透明設置會生成一個公有的參考字符串。在這種設定下,字符串的洩露不會對證明造成影響,但證明大小會很大,如Fractal和ZK-STARK證明能達到250KB,而Halo和SuperSonic的證明要小一些,不到10KB。
通用設置會創建一個結構化參考字符串。這個參考字符串需要可信設置,但可以被用於多個電路,通常被用於通用的協議或應用。此外,構建生成的參考字符串可以升級而無需重新完成初始可信設置,以便提高安全性。使用通用設置的算法有Sonic、PlonK和Marlin等。
3.4.6.2 概要
ZK Rollups是Rollups的其中一種。與Optimistic Rollups依靠欺詐證明不同,ZK Rollups通過有效證明(零知識證明)來證明二層網絡狀態變化的正確性。換句話說,零知識證明以密碼學的確定性證實了執行所有交易的結果等於Rollups的狀態變化。由於有效證明可在鏈上得到及時確認,因此用戶能更快的把錢從Rollups的合約中取出。和Optimistic Rollups相比,ZK Rollups有更快的交易最終確認時間(Transaction Finality)。
現在的ZK Rollups解決方案一般分為兩種:特定應用(Application-Specific)ZK Rollups和通用(General-purposed)ZK Rollups。
特定於應用的zk Rollups協議(如Loopring, StarkEx等)會設計專門的證明電路,因此證明效率高且用戶交易成本低。但是,特定電路使得不同DApps之間不能交互,而做不到應用之間的可組合性。此外,對於不同DApps,開發者需要單獨設計電路。這極大地增加了開發難度和週期。
另一個方案就是構建通用(General-purpose)ZK Rollups,例如Scroll, Polygon Hermez, Starknet,zkSync v2.0等。也就是說,做一個通用電路(zkEVM)去執行智能合約。這樣的做法,把複雜的電路設計工作留給了Rollup項目方,而程序員就可以直接使用Solidity編程,無需擔心設計電路的問題。但這樣做會帶來極高的額外損耗,例如只想驗證一個加法,用戶也需要運行整個電路。最近一些技術突破(比如多項式承諾,遞歸證明,硬件加速等)使得通用電路的證明成本大大降低,構建EVM通用電路的想法也就更加容易實現。

3.4.6.3 時間線

-
2018年9月,Vitalik首次提出用zk-SNARKs去驗證L2區塊實現擴容。
-
2020年2月,Loopring v3.0,第一個基於零知識證明的L2擴容協議上線。
-
2020年6月,由StarkEx驅動的去中心化交易所DeversiFi在以太坊主網上線了。同月,用於支付的zkSync v1.0 主網上線。
-
2021年2月,ZKSwap上線,一個基於ZK-Rollups技術的以太坊L2 DEX。
-
2021年3月,Hermez上線,一個支持ETH和ERC20轉賬的ZK Rollup。
-
2021年8月,Polygon宣佈收購Hermez,形成Polygon Hermez,計劃提供一個EVM字節碼層面兼容的ZK Rollup。
-
2021年11月,StarkNet在以太坊主網上線Alpha版本。StarkNet是一個開放的zkRollup,任何人都可以部署自己的智能合約,並且和其他智能合約進行交互。
-
2021年12月,L2 Labs推出ZKSpace,具有ZKSwap v3.0、NFTs和支付功能。
-
2022年6月,dYdX宣佈計劃離開Starkware並在Cosmos上開發自己的區塊鏈,其背後的原因之一是交易吞吐量限制(零知識證明生成的低效率)和L2短期內不夠去中心化(角色單一)。
-
2022年7月,Scroll宣佈開放pre-alpha測試網。
-
2022年10月,zkSync2.0主網baby alpha版本上線,但只用於安全和壓力測試。zkSync 2.0將會是一個通用的ZK Rollup,通過zkEVM更好地兼容以太坊現有生態應用。
3.4.6.4 技術原理
ZK Rollups通過鏈上驗證的零知識證明確認狀態變化的正確性。ZK Rollups能夠擴容的關鍵是零知識證明的簡潔性。由於驗證成本與被證明的交易數量成亞線性(sublinear)關係,驗證證明遠遠小於計算所有交易的複雜程度,因此ZK Rollups能極大的減少交易成本。
ZK Rollups有下述一個技術角色:

Relayers有時也叫Aggregators或Sequencers。一些項目(計劃)把打包交易和提供證明分兩種角色(Sequencers & Provers)來完成。其中,Sequencers負責彙總和打包交易;Provers負責生成證明。
把零知識證明外包給證明者網絡(Prover Network),可以允許更多設備參與零知識證明的生成(外加並行計算和聚合證明),零知識證明的生成速度能顯著提高,從而提高交易速度。此外,協議方也無需承擔證明設備的維護成本(但需要給證明者網絡經濟激勵),且去中心化程度提高。這一做法目前仍在研究和開發過程中,尚未實現。
用戶流程

-
用戶通過在主網上合約鎖定資產的方式,將錢存入二層網絡。
-
用戶創建交易,並把交易內容發送給中繼者。
-
在接受交易之前,中繼者會驗證交易的合法性(用戶是否有足夠的錢等)。
-
在收集到足夠的交易後,中繼者會對交易排序(先進先出),執行交易,更新L2狀態,將數據打包(Batch),並生成一個零知識證明,以calldata的形式一起上傳至主鏈上Rollup 合約。
-
Batch內容:前狀態根, 後狀態根,交易根,狀態變化,零知識證明
-
-
主鏈上合約
-
確認Batch內容的格式,不符合格式的內容則拒絕;
-
檢查Batch中的前狀態根是否與其合約當前狀態根匹配(確保區塊順序);
-
驗證上傳的零知識證明,確保證明的正確性;
-
驗證通過,把當前狀態根換成Batch裡面的後狀態根。
-
數據可用性
ZK Rollups並不需要把所有的交易數據都放在鏈上。由於鏈上驗證的零知識證明本身證明了狀態變化的正確性,用戶的狀態是得到L1保護的。儘管如此,我們還是需要把一部分的交易數據上傳至主網的Rollup合約。有了鏈上數據的可用性,任何跟蹤了ZK Rollups狀態的節點才能在鏈下重建二層網絡的狀態,進而打包交易,防止L2中繼者作惡(如資產凍結和審查)。如果中繼者(Relayers )下線,其他節點也能接力成為中繼者,使Rollup網絡繼續運行。
在ZK Rollups中,項目方是可以選擇上鍊的數據類型,如原始交易數據,每筆交易的狀態變化,一個交易批次的最終狀態變化。這三種均可使用戶(節點)重建二層網絡的狀態。選擇一個交易批次的最終狀態變化,能夠有效地壓縮鏈上存儲的數據(一個批次內的多筆交易後,某些狀態變化可能會相互抵消),從而減少Rollups鏈上存儲成本。
ZK-EVM
如同前文所述,ZK Rollups面臨的一個很大的挑戰就是EVM兼容性。由於以太坊本身良好的生態,為了實現更好的開發者體驗和可組合性,很多ZK Rollups項目(如zkSync v2.0,Polygon Hermez,Scroll等)都在尋求更好的EVM兼容。通過一定程度上犧牲效率,增加靈活性,實現遷移現有以太坊生態的代碼,支持現有以太坊生態的工具(開發者工具&代碼庫「Hardhat, Brownie」,錢包「Metamask」,分析工具「Nansen, Dune」等)。
我們一般把zkEVM分成三種層面的EVM兼容性:共識層,字節碼層和語言層:

目前來說,StarkNet和zkSync是語言層面兼容,而Polygon和Scroll是字節碼層面的兼容。在以太坊的路線圖裡,以太坊將整合一個共識級別的zkEVM。

3.4.6.5 優缺點

3.4.6.6 應用
StarkWare
概述:
StarkWare成立於2018年, 總部位於以色列。公司兩位聯合創始人Eli Ben-Sasson和Alessandro Chiesa也是ZCash創始人。其主要目標是進一步推廣以色列理工學院研發的zk-STARKs突破性區塊鏈隱私解決方案。
目前公司有兩個二層擴容產品分別是StarkEx和StarkNet。
StarkEx是為特定應用提供Volition的解決方案,比如dYdX、ImmutableX、DeversiFi 和 Sorare。Volition允許用戶對每種資產選擇對應的數據可用性模式:Rollup(鏈上數據)或 Validium(鏈下數據)。這是一個相對封閉的生態,支持ERC20,ERC721和ERC1155。
StarkNet是一個開放的ZK Rollups。任何人都可以部署自己的智能合約,並且和其他智能合約交互。
此外,StarkWare計劃將StarkEx平臺建立在StarkNet上,打造一個Layer 3的新概念,方便整個生態的相互操作。
時間線:
-
2018年5月,StarkWare成立。
-
2020年6月,StarkEx的第一個應用DeversiFi上線。DeversiFi是一個零知識證明驅動的數據在鏈下的(Validium)DEX。
-
2021年11月,StarkNet在以太坊主網上線Alpha 版本,團隊計劃在2022年下半年推出正式版。
-
2022年5月,StarkWare在Greenoaks Capital和Coatue Management領導的D輪融資中籌集了1億美元,估值80億美元。
-
2022年6月,StarkEx 4.5版本發佈。其中,Volition允許用戶對每種資產選擇對應的數據可用性模式:Rollup(鏈上數據)或 Validium(鏈下數據)。
-
2022年6月,dYdX宣佈計劃離開Starkware並在Cosmos上做自己的區塊鏈,其背後主要原因是零知識證明的效率,可定製化和去中心化(Sequencer)程度。
-
2022年7月,StarkNet計劃發行代幣。StarkNet代幣被用於治理,並作為網絡的支付和抵押資產。
-
2022年9月,編程語言Cairo 1.0提出,可為StarkNet帶來更好的可用性、安全性和便利性。
技術特點:
-
就編程語言而言,StarkEx和StarkNet使用的語言的都是Cairo。Cairo本身是和EVM不兼容的,但Starkware可以藉助Nethermind開發的warp轉譯器,將Solidity語言轉化成CarioVM的字節碼,然後運行在定製的智能合約虛擬機Cairo VM。這是語言層面的EVM兼容。Cairo本身對零知識證明更友好,生成證明效率高,但是EVM兼容差。
-
就零知識證明而言,Starkware用的零知識證明算法是STARK。STARK不需要可信設置且證明速度快,但證明大小比較大,導致計算和鏈上驗證成本較高。因此,Starkware引進了SHARP聚合證明的解決方案,該服務允許將來自多個應用的Rollups批量交易聚合為一筆交易證明,從而降低交易成本。
生態發展:
StarkEx上,目前有四個託管協議:dYdX、ImmutableX、DeversiFi 和 Sorare。
-
dydx是訂單簿式期貨DEX,目前的期貨DEX賽道龍頭。但dydx v4計劃在cosmos上部署,成為一條完全去中心化的POS鏈。
-
Immutable X推出了Layer2 NFT交易市場,服務於GameFi(Gods Unchained等)。
-
rhino.fi(前DeversiFi)是一個L2 DEX,為用戶提供便宜的DeFi服務。
-
Sorare是一款足球遊戲,於2021年7月上線。
StarkNet目前是以DApp白名單的方式上線主網alpha。目前的應用不多,已上線的有ArgentX錢包,計劃上線的有JediSwap, Zigzag Exchange等DeFi項目,Orbiter Finance等跨鏈橋項目,以及AAVE, zkLend 等借貸項目。

Source:https://mobile.twitter.com/ZK_Daily/status/1527597292634914816
zkSync
概述:
zkSync是基於零知識證明技術的Layer2擴容方案,由Matter Labs公司於2018年開始開發。Matter Labs首先實現了STARK證明,然後轉了RedShift,一個SNARK和STARK的結合,最後決定使用PlonK算法。zkSync 2.0帶來了zkEVM和zkPorter,在更好地兼容EVM的同時,將狀態數據放鏈下,極大地提升了交易速度。
時間線:
-
2018年,Alex Gluchowski成立Matter Labs。
-
2019年12月,Matter Labs團隊提出了zkSync,一個建立在以太坊上的ZK Rollup。
-
2020年6月,zkSync 1.0 主網上線,使用PlonK算法(通用電路),是第一個支持通用計算的zkRollup協議。這一階段,zkSync1.0只能用於支付功能。
-
2020年8月,zkSync 1.1上線,通過遞歸證明,將TPS從300提升到3000左右。同時,zkPorter被提出,是Matter Labs的Validium解決方案,將交易數據放在鏈下,從而極大地提高交易吞吐量(20,000 tps)。
-
2021年5月,zkSync 2.0測試網alpha上線,提出了自定義的zkEVM,使開發者能將Solidity轉換成zkEVM的字節碼,進而在zkEVM上運行。
-
2022年2月,zkSync2.0公共測試網上線。zkSync 2.0將會是一個通用的ZK Rollup,通過zkEVM更好地兼容以太坊現有生態應用。
-
2022年10月,zkSync2.0主網baby alpha版本上線,但只用於安全和壓力測試。
技術特點:
-
語言層面EVM兼容。zkSync創建了基於寄存器的虛擬機zkEVM,將Solidity轉換成LLVM IR(編譯器基礎設施)後再轉換成自制的VM指令。zkSync這種方法和Starkware的方案類似,都是語言層面的EVM兼容,理論上來說更靈活。zkSync最初創建了類似Cairo的Zink編程語言,但現在已經把工作重心放在Solidity編譯上,致力於給開發者帶來更好的EVM兼容體驗。
-
ZK算法使用PlonK。PlonK會產生一個通用的字符串,但是需要初始信任設置。此外,zkSync採用遞歸證明,可提高交易速度。
生態發展:
Zksync目前2.0主網已上線baby alpha版本。在1.0版本中,上線的項目有:1KXprotocol,這是一個將自動做市商(AMM)和去中心化交易平臺(DEX)結合、低滑點的 DeFi聚合平臺。還有Argent錢包,Zigzag去中心化交易所,跨鏈橋Orbiter,Mystiko Network(該協議目前仍處於測試網階段,可以被集成到跨鏈橋、L1和L2、錢包和Dapp,以保證用戶隱私)。隨著即將到來的zkSync2.0主網,正式上線的項目會越來越來多。

Polygon
概述:
Polygon(前Matic Network)是一個以太坊擴容解決方案聚合器。核心組件是Polygon SDK,便於開發者快速構建或連接L2。目前Polygon有3個ZK Rollup相關的產品:Miden,Hermez和Zero,都在開發和測試階段,預計2022年底或者2023年上線。
時間線:
-
2021年3月,Hermez上線,是一個支持ETH和ERC20轉賬的ZK Rollup。
-
2021年8月,Polygon宣佈收購Hermez,形成Polygon Hermez,計劃提供一個開源的EVM字節碼層面兼容的ZK Rollup。
-
2021年11月,基於zk-STARKs的ZK Rollup,Polygon Miden發佈。Miden創建了與EVM 兼容(語言層面)的基於ZK-STARKs的Miden VM,支持通用智能合約。
-
2021年12月,Polygon宣佈收購Mir Protocol,構建Polygon Zero。Polygon Zero利用 Plonky2(遞歸零知識證明系統,PlonK+FRI)的速度來實現可擴展性更強的且更去中心化的ZK Rollup。它提供了Rollup和Validium兩種模式,使用戶能夠獲得更高的吞吐量和更低的費用。
-
2022年10月,Polygon Hermez公眾測試網上線。
技術特點:
1.Polygon Hermez
-
Polygon Hermez實現了字節碼層面的EVM兼容。在執行交易時,Aggregator需要把EVM字節碼翻譯成另一套叫zkASM(Zero-Knowledge Assembly)的字節碼,而驗證者需要對zkASM的字節碼進行證明。此方法需要一個字節碼的翻譯器,在EVM升級時,Hermez需要手動更新來保持同步。
-
Polygon Hermez使用的是ZK-STARKs和SNARK結合的零知識證明系統。底層是ZK-STARKs,被用來證明每個子電路執行的正確性;SNARK(PlonK或Groth16)的證明大小更小,且驗證更便宜,因此被用來聚合生成的ZK-STARKs證明,最後上傳至主網合約。
-
此外,Polygon Hermez高度重視去中心化實現。Sequencer的共識機制從v1.0的POD(Proof-of-Donation)過渡到v2.0的POE(Proof of Efficiency),允許每個人都能參與L2的區塊打包,但仍擺脫不了算力競賽帶來的證明者中心化問題。
2.Polygon Miden
-
Polygon Miden創建了一個基於ZK-STARKs的虛擬機Miden VM來支持通用智能合約的執行。Miden VM會將Solidity代碼直接編譯成Miden Assembly(Miden VM的原生編程語言),實現語言層面EVM兼容。此外,Polygon Miden也在探索對其他語言進行編譯,如Move。
-
Miden VM的底層證明系統是Winterfell,一個高性能STARK驗證器,可以為任何交易生成STARK證明。使用ZK-STARKs的好處在於它無需可信設置,抗量子計算且證明生成和驗證速度快。
3.Polygon Zero
-
Polygon Zero使用Plonky2作為其零知識證明系統,PlonK和FRI的結合使零知識證明能在170mm內(商用電腦)完成。
-
Polygon Zero中,每筆交易都是一個零知識證明。因此很多交易可以同時生成證明,再通過遞歸形成一個最終的證明。也就是說,Polygon Zero能夠通過增多節點來橫向擴容。
生態發展:
目前Polygon旗下的三個ZK Rollups方案都在開發和測試階段,生態尚未成型。
Scroll
概述:
Scroll是由Ye Zhang在2021年3月提出的zk-rollup解決方案。Scroll主要想做兩件事,構建通用的ZK-EVM和去中心化的證明者網絡。
時間線:
-
2021年3月,Ye Zhang在Ethereum Research論壇上提出Scroll,通過結合兩種不同的零知識證明系統,以提高鏈上和鏈下的效率,從而實現通用的ZK Rollup。
-
2022年7月,Scroll宣佈開放pre-alpha測試網,有一些智能合約的預部署,比如Uniswap v2,但目前只對白名單用戶開放。
技術特點:
-
第一個版本的白皮書提出用兩種不同的零知識證明系統結合起來,以提高鏈上和鏈下的效率,從而實現通用的ZK Rollup。在和以太坊基金會交流後,Scroll決定和以太坊基金會Privacy Scaling Group合作完成zkEVM。此zkEVM直接在電路中實現每個EVM操作碼(進行過程中)。因此它的EVM兼容性是非常好的。
-
Scroll的zkEVM是字節碼層面的EVM兼容,支持原生EVM字節碼的執行。因此主網上的DApps & 開發者工具可以直接在Scroll上繼續使用,基本不需要改動。
-
Scroll擁有等級化零知識證明系統。第一層,有效的證明(電路優化,硬件優化)。第二層,驗證優化(簡潔的證明,EVM友好的驗證算法)。通過遞歸證明和並行計算的方式,提高交易速度,減少手續費。
-
此外,Scroll計劃分離打包者和證明生產者,構建外包的證明者網絡。然後通過不斷地迭代硬件設備(GPU->FPGA->ASIC),做到ZKP生產速度的提高;打包者的去中心化也在構想中。
-
Scroll是目前EVM兼容性做的最好的ZK Rollup項目之一。通過它的設計(zkEVM迭代,遞歸,並行計算,硬件加速),零知識證明的生成速度能夠達到很快(目前1m Gas需要6分鐘),從而更好地擴容以太坊L1。

生態發展:
Scroll目前還處於早期,生態尚未形成。
3.4.6.7 應用比較
對於ZK Rollups而言,擴容效果,EVM兼容性,安全性和生態是我們所認為的重點。目前來說,我們很難對不同ZK Rollups協議評價好壞,更多的是協議方面對不同使用場景和自身意願做出的不同解決方案。
目前,ZK Rollups擴容的主要瓶頸在於零知識證明的生成速度。隨著零知識證明算法的飛速發展(SNARK->STARK->PlonK->HALO2等),零知識證明的生成和驗證效率會不斷提高。一些新的技術突破(多項式承諾,遞歸證明,硬件加速等),也使得零知識證明系統進一步優化。我們相信在不久的未來,零知識證明生成速度的瓶頸將會得到改善。
由於EVM本身並沒有專門為生成零知識證明而設計,其中的一些操作的證明(如哈希函數Keccak-256,存儲證明等)會有很大的額外損耗。我們知道,為了儘可能做到EVM兼容而更好地使用和遷移現有應用和工具,我們就得接受EVM本身的ZK不友好性,但這會導致較低的證明生成效率。這就是Scroll在做的事情,為EVM每個操作碼設計電路,容忍一些ZK不友好操作,儘可能做到EVM兼容。
StarkWare和zkSync選擇了另一條路,打造對零知識證明更友好的虛擬機,來加速證明生成從而擴大交易吞吐量。但隨之而來的,是對EVM兼容性不高,項目遷移成本高,生態比較難起來。
所以說,這實際上是ZK友好和EVM兼容的權衡利弊。隨著以太坊本身往ZK友好靠攏,上述兩種方案也在往中間靠攏。
就Rollups本身的設計而言,Relayer的去中心化也是一個問題。如果我們把打包和生成證明分開,那就是Sequencer和Prover兩個角色,但都需要進行去中心化。
zkSync和StarkNet目前還沒有做到去中心化。他們的Sequencer和Prover都由官方團隊運營,打包交易和生產證明都是團隊負責,也沒有搭建好去中心化的礦工節點,社區還無法參與。除了中心化本身來帶的單點故障和信任問題,還有一個問題是,所有的算力都控制在團隊自己手裡,意味著團隊要租用機器來持續承擔這部分的成本。把Sequencer和Prover交給社區,並設置一定的經濟激勵,會是一個更好的做法。Polygon Hermez和Scroll均有把Sequencer和Prover去中心化的想法,但目前仍處於概念證明(PoC,Proof of Concept)階段。

3.4.7 OP Rollups vs. ZK Rollups

3.5 Validium
3.5.1 概要
Validium的機制和ZK Rollups非常相似,唯一的區別就是數據可用性:在ZK Rollups裡,數據是放在鏈上的合約中,而在Validium中,數據是交給鏈下的數據可用性委員會(Data Availability Committee,DAC)。
目前StarkWare的StarkEx和zkSync的zkPorter都會提供Validium的解決方案(但後面均轉向了Volition)。
3.5.2 技術原理
Validium核心思路就是將鏈下狀態的承諾(State root)放在主網上,通過主網驗證的零知識證明確保狀態的正確性,並通過鏈下的數據委員會,確保鏈下狀態的可用性。
數據可用性
StarkEx的DAC由8個有名望的組織組成,包含ConsenSys、Infura、Nethermind、Iqlusion和Cephalopod等。所有DAC成員需要對收到的鏈外數據(已加密)進行計算,並對新的狀態簽名,以確保他們收到了數據。而鏈上的合約只會接受帶有DAC成員簽名的交易批次。
StarkEx的安全性和一個POA(Proof of Authority)的網絡非常類似。如果沒有鏈上數據的可用性,Validium的Operator有拒絕用戶移動資產的能力。那麼用戶要是想移動資產,就需要給Operator一部分資金。如果遇到緊急情況(如Sequencer拒絕提交交易批次),DAC成員可以將數據重新上傳至鏈上,從而允許用戶從鏈上合約內取錢。
zkPorter賬戶的數據可用性將由zkSync代幣持有者(稱為守護者,Guardians)保障,他們將通過簽署區塊來跟蹤zkPorter端的狀態,以確認zkPorter帳戶的數據可用性。監護人使用zkSync代幣參與權益證明 (PoS),因此任何數據可用性故障都將導致他們的資產被燒燬,這為數據可用性提供了加密經濟保證。值得注意的是,守護者參與的PoS只是為了支持數據可用,也就是說,他們只能凍結用戶資產,而不能改變用戶資產。因此zkPorter的安全性,會高於側鏈的PoS。
Validium vs. ZK Rollups

3.6 Volition
3.6.1 概要
Volition是Starkware在2020年6月提出的一個鏈上與鏈下數據混合的擴容解決方案,允許用戶動態地選擇他們的數據存儲位置。如果數據在鏈上,就是ZK Rollup,可為用戶提供更高的安全性,但交易成本會更高;如果數據在鏈下,就是Validium,用戶會有更便宜的費用但更低的安全性。Volition將選擇權交給用戶,提供了更好的靈活性。
Volition數據可用性的選擇權可以是基於賬戶的,基於資產的,或基於單筆交易的。基於單筆交易可以帶來更多的靈活性,但實現起來會更復雜。
目前StarkEx,zkSync和Polygon Hermez都計劃或推出了各自的Volition解決方案。其中StarkEx的Volition解決方案是基於單個資產的選擇,zkSync的zkPorter是基於賬戶的選擇,而Polgon Hermez暫未詳細展開說明。
3.6.2 技術原理
Volition可以理解為ZK Rollup和Validium的結合體,給用戶提供不同安全性和交易費率的選擇。


4.總結展望
如何解決區塊鏈的不可能三角(可拓展性,安全性和去中心化)這一問題,一直是區塊鏈領域一大難題。隨著區塊鏈使用量的攀升,區塊鏈本身能承載的交易量和用戶交易成本成為了一個迫在眉睫的問題。以太坊每秒能處理的交易在12~15筆左右,而Visa每秒能處理2,000+交易。要想區塊鏈能更好地承載經濟和日常活動,區塊鏈就必須在保證一定安全性的同時想辦法擴容。
本文從發展時間線、技術原理、優缺點和應用四個方面詳細介紹了當前主流的鏈下擴容方案,並有以下觀察與想法:
-
鏈上擴容和鏈下擴容不是競爭關係,而是共生關係,且1+1>2。例如,結合分片技術和Rollups,以太坊能達到很好的擴容效果(20,000+ tps);以太坊路線圖上的許多措施都將為建立在其上的鏈下擴容方案提供更多的效率,隨著以太坊變得更好、更高效,建立在它之上的鏈下方案也會不斷進步。
-
不同的鏈下解決方案對應不同使用場景和需求。比如,State Channels由於手續費低,交易確認速度快,適合日常簡單支付場景。而Rollups更加適用於通用的複雜商業邏輯,如DeFi,GameFi等。
-
從鏈下擴容技術發展的時間線上,我們看到了兩條主旋律:一是應用場景的多元化(從簡單支持場景過渡到特定應用,再到通用場景),二是安全性假設的升級(從依賴鏈外共識到至少一人誠實「經濟激勵」再到現在依靠數學證明)。
-
Optimistic Rollups和ZK Rollups是目前主流的鏈下擴容解決方案。Opstimistic Rollups技術比較成熟,生態發展不錯,但仍存在安全性(大多數協議欺詐證明系統未上線)和去中心化程度低的擔憂。ZK Rollups可能會是鏈下擴容的目前可預判的最優解決方案,因為它本質上解決了一層性能不足的同時,還可以在保障安全(ZKP算法的保證)的前提下將交易處理外包給可擴展性較高的二層(只存儲狀態變化可以減少鏈上存儲需求)處理。這個解決方案几乎接近於完美的解決了不可能三角的難題,但是我們也能夠意識到ZK Rollups受限於ZKP的生成中大量的向量乘法、傅里葉變換等計算,使得它會非常耗內存,對硬件要求較高,所以實際當前實際應用的落地性還待改善;還有目前看到的使用ZKrollup協議的去中心化程度較低。這兩個問題是可以解決的。我們相信在不久的未來,ZK Rollups的潛力將會被完全釋放。
-
在ZK Rollups虛擬機設計中,EVM兼容性和ZK友好性的權衡只是一種選擇,並非好壞。Scroll和Polygon Hermez設計兼容性更好的VM是為了更好地承接以太坊現有生態和工具;Starkware致力於打造ZK友好的虛擬機,能極大程度提高零知識證明生成效率,帶來更好的用戶體驗(低手續費)。
-
目前,Rollups仍是輔助輪模式「training wheel」,存在一定的安全隱患。例如,Rollups合約的更新權限在項目方手裡,協議可能會有Bug。我們更多的是相信項目方,而非代碼本身。Vitalik在ETH Bogota演講裡提到的多重證明者系統(fraud provers + zk provers + governance threshold)會是一個不錯的解決方案。不同證明系統之間的低相關性,降低了多個證明系統同時陷入困境的概率,使得Rollups更安全。
-
鏈下擴容解決方案的生態建設和自身的基礎設施建設是相輔相成的。的確,BD能力和項目方和投資方背景能在前中期吸引更多的建設者,但從中長期的視角,協議自身素質(性能,安全性和去中心化程度)同樣甚至更重要。建設者們首先考慮的應該是協議能否承載應用的發展,接下來才是社會關係。協議自身素質會吸引優質的應用落地,而鏈上生態的繁榮也反哺協議,為其帶來價值。
-
當區塊鏈真正能達到很高的TPS時,我們需要一些殺手級DApps去承載這些額外的交易量。這個機會,可能在GameFi或者SocialFi。
-
使用相同技術的Rollups疊加(rollups on top of rollups)不會帶來大幅度的擴容,Layer3可以是特定應用的Rollups,也可以是Validium。目前很難決定,兩層還是多層的鏈下擴容結構更好。
-
隨著以太坊合併的完成,以太坊顯卡挖礦時代已經結束,但帶來了ZKP類硬件開發和挖礦的新機會。
-
通過將EIP-4337與Rollup技術結合,可以在賬戶抽象化中實現數據壓縮和降低gas成本的效果,更好地發揮賬戶抽象的優勢。
一方面,鏈上擴容方案近期迎來重大里程碑——北京時間2022年9月15日14:44,以太坊The Merge正式被激活,標誌著以太坊區塊鏈完成了由工作量證明(PoW)向權益證明(PoS)的過渡。PoS新時代的正式開啟,消除了過去以太坊對大量挖礦算力的需求,朝著鏈上擴容方案更近一步。然而,以太坊在合併之後,還遠遠未達到Vitalik Buterin所設想的最終形態,分片的鏈上擴容方案也還要等待多年。
另一方面,回顧鏈下擴容的方案的演變歷程,經歷了State Channels, Sidechains, Plasma,到如今的Rollups(ZK Rollups & Optimistic Rollups) ,未來的擴容方案可能有更多的形式,並不一定侷限於Rollups。
隨著NFT和遊戲市場的快速增長,即使在加密貨幣的熊市中,以太坊也需要準備好應對未來新的激增需求。其他陸續出現的新的L1雖然有著更高的TPS,但目前仍然難以達到以太坊所擁有的安全水平。未來Web3的大規模採用,即使是每秒10萬筆交易,也無法滿足全球需求,所以結合鏈上擴容和鏈下擴容將是以太坊成功的關鍵。隨著未來更多擴容方案的出現,會為更多web3爆款應用的誕生創造條件;我們相信不遠的將來,會迎來區塊鏈的大規模商業應用階段。
歡迎加入深潮 TechFlow 官方社群
Telegram 訂閱群:https://t.me/TechFlowDaily
Twitter 官方帳號:https://x.com/TechFlowPost
Twitter 英文帳號:https://x.com/BlockFlow_News














