以太坊中場戰事,Rollup的實與虛
本文發布於歐易OKEx研究院。
摘要
自以太坊誕生以來,其低下的交易處理能力,導致以太坊網絡時常發生堵塞,且Gas費用高漲,嚴重地限制了以太坊生態的發展。為此,以太坊擴容問題一直被市場所關注,在DeFi大爆發的背景下,側鏈、狀態通道、Plasma等Layer 2擴容方案都無法滿足市場的要求, Rollup成為了時代的寵兒。
當然,Rollup並不是一種純粹的Layer 2方案,而是更像Layer 1和Layer 2的混合體:數據在鏈下進行計算並打包壓縮,隨後鏈上進行存儲。此外,為了解決數據的真實性和有效性,保障資產安全,Rollup推出了使用"有效性證明"的ZK-Rollup,以及沿用Plasma"欺詐證明"的Optimistic Rollup。
綜合而言,ZK-Rollup和Optimistic Rollup各有優劣,ZK-Rollup適用於支付、交易等非合約領域,成本低且速度快;而Optimistic Rollup因為OVM的存在,目前適用於智能合約應用領域;但隨著ZK-Rollup類項目推出圖靈完備的EVM,未來ZK-Rollup可能會取代Optimistic Rollup。
但是,Rollup的擴容上限取決於區塊Gas消耗量的上限,因此只能成為以太坊在未來短中期的擴容方案,以解決DeFi生態的燃眉之急,從長期看,要根本性地解決以太坊擴展性問題,還仰賴以太坊2.0分片技術的順利實現。
不過值得注意的是,Rollup協議可以捕獲價值,在經濟上具有可持續性。可以預見的是,Rollup項目發行的代幣將具有巨大的投資潛力。
經過近兩年的蛰伏,以太坊的Rollup擴容方案終於走到了要開花結果的黎明前夕:今年2月,Optimism宣布完成了A輪融資,並將於三月上線主網;來自Matter Labs的ZkSync,其主網也於去年上線,並將在今年推出支持圖靈完備的智能合約;此外,另一個受行業矚目的Rollup方案---Arbitrum,也將於今年上線主網。
- 表1. Rollup方案進展情況
|-------------------|---------------|-------------------|--------------------------| | Optimistic Rollup | Optimism | Uniswap, Compound | 2021年3月 | | ZK Rollups | Matter Labs | Curve, SuShiSwap | 2020年上線測試網,今年推出圖靈完備的智能合約 | | Arbitrum | Offchain Labs | Bancor Paraswap | 預計今年上線 |
資料來源:歐易OKEx研究院
在Rollup夜盡天明之時,市場也對其充滿了期待與追捧。但從實際情況看,很多投資者和以太坊用戶對Rollup的認知並不清晰,不過在總體上達成了共識:Rollup很重要,是以太坊的未來。
這句話的前半部分是對的,Rollup對當前的以太坊而言,確實是重要的;但後半部分卻是不準確的,Rollup並不是以太坊的未來。更切確地說,Rollup只代表了以太坊的中短期擴容方案,是以太坊解決網絡擁堵問題的中場戰事,從長期看,要根本性地解決以太坊擴展性問題,還仰賴以太坊2.0分片技術的順利實現。
想要正確地理解、預測Rollup的未來,把握其中的財富機會,我們還需要從Rollup的歷史脈絡、原理機制方面進行剖析。
1. 以太坊的擴容戰爭和Rollup的崛起
自以太坊誕生以來,其低效的性能就不斷受到市場的病垢:以太坊網絡的TPS(交易處理能力)約為15筆/秒,而Visa網絡則是2000筆/秒,雙十一期間支付寶更是達到50萬筆/秒。低下的交易處理能力,導致以太坊網絡時常發生堵塞,且Gas費用高漲,尤其是在2017年的大牛市,以及自2020年興起的DeFi(去中心化金融)浪潮期間這一現象尤為突出,嚴重地限制了以太坊生態的進一步發展。
圖1. 以太坊網絡日均交易筆數和Gas消耗量變化
資料來源:Etherscan,歐易OKEx研究院
解決區塊鏈網絡的擁堵,提升公鏈的可擴展性,逐漸成為行業關注的重點。各種區塊鏈的擴容方案也紛至沓來,主要包括兩大類:
鏈上擴容方案,也叫Layer 1方案,主要通過提高區塊鏈本身的交易容量來實現擴容。常見的Layer1方案有增大區塊容量(如BCH使用32M容量的大區塊),隔離見證(BTC,將數字簽名與交易數據分開,改變原區塊結構以實現擴容),分片技術(以太坊2.0,將主鏈的狀態和歷史記錄劃分到不同分片上實現擴容)。
鏈下擴容方案,也叫Layer2方案,主要通過第二層協議在鏈下執行大部分交易,以降低成本提高效率。目前主流的Layer2方案包括狀態通道、側鏈、Plasma。
圖2. 區塊鏈擴容主要方案
資料來源:歐易OKEx研究院
在以太坊發展早期,人們普遍認為側鏈(Sidechain)技術是解決區塊鏈擴容問題的最佳方案。所謂側鏈,即平行於主鏈的另一條獨立的區塊鏈,通過將部分交易以托管的方式轉移到側鏈,以此實現主鏈擴容,但這帶來兩個嚴重問題:首先,側鏈上的資金安全得不到保障,一旦黑客控制住了某條側鏈,就可以將側鏈上的資金盜走;其次,側鏈不能保證數據的可得性,只要黑客控制了側鏈,就可以拒絕分享底層交易數據,對主鏈安全性造成重大打擊。
圖3. 側鏈技術方案原理
資料來源:歐易OKEx研究院
為了解決側鏈存在的問題,並實現以太坊擴容,以太坊創始人Vitalik在2017年推出了名為"Plasma"的Layer 2擴容方案。Plasma的特別之處在於設計了一套欺詐證明機制:Plasma將特定的底層數據發送給用戶自己進行保管,解決了數據可得性問題;此外,Plasma有一個"退出期"設計,即便黑客取得側鏈的控制權並嘗試取款時,任何用戶都可以在"退出期"內提交證據來進行挑戰,如果挑戰成功,任何人都不能提取這筆資產,並且運營方也將被罰款,由此保證了數據的真實、有效和準確性,解決了資金安全性問題。
然而,Plasma解決了側鏈的問題,卻產生了新的問題:首先,用戶必須每兩周上線一次,以實現對Plasma鏈的監控,否則錯過了"退出期",黑客就可以取出資產;其次,用戶必須自己保存底層交易數據,以保證數據的可獲得性,但卻給用戶帶來巨大的存儲成本。因此,Plasma對用戶並不友好,體驗極差。在2018年的大熊市背景下,曾經被以太坊社區寄予厚望的Plasma方案也逐漸被拋棄。
事實上,即便沒有2018年的大牛市,Plasma也難以適應以太坊生態的發展---從2019年開始,DeFi逐漸興起,以Uniswap為代表的AMM更是成為其中的佼佼者。對於Uniswap上的流動性提供者(LP)而言,其存放在交易池中的資產,很容易發生改變,不可能滿足Plasma方案中對LP每次交易時都進行挑戰驗證的要求。事實上,大量的DeFi協議都可以在不經用戶同意下改變賬戶狀態,因此Plasma在DeFi時代是注定沒落的。
圖4. Layer 2擴容方案的演化發展
資料來源:歐易OKEx研究院
同樣地,狀態通道也存在側鏈和Plasma面臨的問題:狀態通道不能代表那些邏輯上沒有明確所有者的對象 (如 Uniswap),需要對象都是明確的資產所有者。
因此,在DeFi對於以太坊生態越來越重要的今天,無論是狀態通道、側鏈,還是Plasma,都無法滿足以太坊的現實需求。與其說是V神對Rollup起到了決定性的推動作用,不如說是時代選擇了Rollup。那麼Rollup的特殊之處在哪呢?
2. Rollup 原理解析
在解析Rollup之前,我們不妨了解Plasma的擴容方式:在鏈下,由Plasma運營者將等待批量處理的交易彙總起來,生成一個梅克爾樹(Merkle Tree),樹中每個葉子可以代表一筆交易資產的信息,如果沒有交易,則葉子值為0。隨後,Plasma將梅克爾樹的樹根發送給主鏈上鏈,同時將梅克爾樹的分支發送給用戶保管。
因此,主鏈實際上只保存了梅克爾樹根的哈希值,而通過梅克爾樹根的引索,可以找到分支葉子中的具體交易信息,但這些具體的交易信息,而是由用戶在鏈下存儲,因此節省了鏈上區塊大量的空間,實現了主鏈的擴容。
圖5. Plasma擴容原理
資料來源:Plasma白皮書,歐易OKEx研究院
但正如前面所言,由用戶在鏈下保存具體的交易信息,在數據可用性上打了折扣,也不適用於DeFi應用。為此,以太坊社區提出了一種新方案:將交易數據壓縮並放在鏈上,這就是Rollup(聚合)方案。
具體而言,Rollup將交易數據進行壓縮編制成梅克爾樹,並存儲在鏈上;同時在智能合約中保存梅克爾樹的樹根(狀態根)。Rollup的運營方可以將發布一批彙總交易(Batch),該交易即壓縮過的交易集合,而且包含之前的狀態根和新狀態根 (處理交易之後的新梅克爾樹根)。智能合約會對狀態根進行檢查並更新,由此實現資產的轉移。
當然,從上我們可以看出,Rollup並不是一種純粹的Layer 2方案,而是更像Layer 1和Layer 2的混合體:數據在鏈下進行計算打包,但在鏈上進行存儲。因此將Rollup稱為半鏈下擴容或semi-layer 2方案更為合適。
圖6. Rollup擴容原理
資料來源:Vitalik. An Incomplete Guide to Rollups,歐易OKEx研究院
用一個形象的比喻,現在我們要保存很多電影,Plasma類似於我們將電影存儲在電腦上,然後只在U盤上保存一個目錄文件,根據這個目錄文件的指引,我們可以方便地找到任何一部電影在電腦中的位置;而Rollup的方法則是先將電影進行壓縮,隨後再全部保存到U盤中。這樣一來,我們就可以在U盤中存儲更多的電影。
那麼Rollup是如何實現壓縮的呢?---主要是對交易的參數進行壓縮,主要包括Nonce,Gasprice,Gas,To,Value,Signature,如下表所示:
- 表2. Rollup壓縮方式
|-----------|---------------|----------------------| | 參數 | 原存儲容量(字節) | Rollup下的存儲容量(字節) | | Nonce | >3 | 0 | | Gasprice | >8 | 0-0.5 | | Gas | 3 | 0-0.5 | | To | 21 | 4 | | Value | >9 | >3 | | Signature | >68 | >0.5 | | From | O | 4 | | 總存儲容量(字節) | >112 | >12 |
資料來源:Vitalik. An Incomplete Guide to Rollups,歐易OKEx研究院
在過去,一筆交易需要占用112字節的存儲空間,現在只需要12字節的空間,一個字節大約花費16 Gas;而在以太坊上,Gas上限是1250萬,我們假設Rollup需要花費50萬Gas,那麼在Rollup上,其交易處理能力是:
(區塊Gas消耗量上限 -- Rollup Gas消耗量)/ 每字節的Gas消耗量/一筆交易字節數/出塊時間 =(12,500,000 -- 500,000)/ 16 / 12 /14= 4464 筆/秒
目前在以太坊上進行一次轉帳需要消耗約21,000 Gas,這意味著如果全部用來轉帳,那麼以太坊的最大交易處理能力為:區塊Gas消耗量上限/ 單筆轉帳Gas消耗量/出塊時間 = 12,500,000 / 21,000 /13 = 45筆/秒
這意味著Rollup在轉帳場景下降以太坊的TPS提升了100倍。同樣地,根據Vitalik的計算,在ERC20轉帳、Uniswap運用場景,可實現同條件下以太坊TPS擴展100-400倍。
前面的分析一直很順利,但我們忽略了一個與側鏈技術類似的重要問題:如何防止Rollup運營方偽造數據進行盜取資產呢?以太坊社區提出了兩個方案:使用"有效性證明"的ZK-Rollup,以及沿用Plasma"欺詐證明"的Optimistic Rollup。
3. ZK-Rollup VS Optimistic Rollup
首先我們看實現有效性證明ZK-Rollup方案。ZK-Rollup即採用 ZK-SNARK (簡明的非交互式零知識證明,zero-knowledge succinct non-interactive argument of knowledge)來保證交易的安全性。
"零知識證明(ZKP)"是由 S.Goldwasser、S.Micali 及 C.Rackoff 在 20 世紀 80 年代初提出,指證明者能在不向驗證者提供任何有用的信息的情況下,使驗證者相信某個論斷是正確的。
一個經典的例子:有一個缺口的環形長廊 ,出口和入口距離非常近(在目距之內),但走廊中間某處有一道只能用鑰匙打開的門,Alice 要向 Bob 證明自己擁有該門的鑰匙。採用零知識證明,則 Bob 看着 Alice 從入口進入走廊,然後又從出口走出走廊,這時Bob沒有得到任何關於這個鑰匙的信息,但是完全可以證明Alice擁有鑰匙。
圖7. 零知識證明案例
資料來源:歐易OKEx研究院
從上我們可以看出,ZKP具有計算的不對稱性。在ZK-Rollup的方案中,由Rollup運營方投入大量資源以執行ZK-SNARK計算並放在彙總交易(batch)中,而智能合約(驗證方)可快速低成本低證明交易安全性。因此ZK-Rollup有諸多好處:能在保護隱私的同時簡潔快速地驗證數據的真實有效性;但其缺點是計算量大,技術難度高且難以支持虛擬機。
在前面的Plasma方案中,我們已經介紹過其設計的"欺詐證明"機制,可實現交易數據的真實、有效和準確性,保證了資產的安全。Optimistic Rollups正是沿用了該機制:這類 Rollup 會追蹤所有歷史狀態根以及每個 batch 的哈希值。如果任何人發現某個 batch 的後狀態根不正確,都可以向區塊鏈發布一個證明,證明該 batch 計算錯誤。智能合約會對證明進行驗證,並且對該 batch 及其之後的 batches 進行回滾。
Optimistic選擇了Plasma的欺詐證明機制,即意味著有像Plasma一樣漫長的"退出期"(約一周時間),這極大地降低了資金的利用效率,但好消息是,隨著DeFi生態的成熟,可以有大量的流動性提供者為用戶在"退出期"內提供資金,可有效解決資金利用抵消的問題。此外最重要的是,Optimistic Rollup也繼承了Plasma的OVM,這意味著可在Optimistic Rollup網絡部署兼容以太坊EVM的智能合約,這一點對DeFi尤為重要。
- 表3. ZK-Rollup和Optimistic Rollup性能對比
|----------------|---------------------------------------|----------------------------------------------| | 特性 | Optimistic rollups | ZK rollups | | 每batch的固定gas消耗 | 約40,000(輕量交易,主要只是改變狀態根的值) | 約500,000(驗證ZK-SNARK所需計算量較大) | | 提款期 | 約一周(提款存在延遲,需要留出時間提交欺詐證明,如果發生欺詐需要取消提款) | 極快(只需要等到下個batch) | | 技術複雜度 | 低 | 高(ZK-SNARK是一種非常新的技術,並且數理複雜) | | 通用性 | 易達成(通用的EVM rollups即將登陸主網) | 較難達成(使用ZK-SNARK證明的通用EVM執行相較簡單計算證明難度更大) | | 每筆鏈上交易的gas消耗 | 較高 | 較低 | | 鏈下計算成本 | 較低(儘管需要大量全節點重新進行計算) | 較高(專門針對通用計算的ZK-SNARK證明可能會很昂貴,比直接運行計算可能要貴數千倍) |
資料來源:Vitalik. An Incomplete Guide to Rollups,歐易OKEx研究院
綜合而言,ZK-Rollup和Optimistic Rollup各有優劣,ZK-Rollup適用於支付、交易等非合約領域,成本低且速度快;而Optimistic Rollup因為OVM的存在,目前適用於智能合約應用領域;但隨著ZK-Rollup類項目推出圖靈完備的EVM,未來ZK-Rollup可能會取代Optimistic Rollup。
4. Rollup 的未來與財富機遇
從上面我們可以看出,相較於其他Layer2 方案,Rollup能更好地保證數據的安全性和數據的可得性,然而Rollup真的是以太坊的未來嗎?
並不是,從Rollup的擴容方案可以看出:區塊Gas消耗量的上限即是Rollup方案的上限。這類似於早高峰時乘坐地鐵,為了使地鐵車廂(區塊)能裝更多的人,我們可是再擠更多的人進車廂(壓縮)。然而,再怎麼壓縮,也是有上限的。在未來隨著區塊鏈應用的不斷發展,我們僅僅會為了最多擴容100倍而滿足嗎?所以從長期看,以太坊擴容的未來還是取決於以太坊2.0分片技術的順利實現。
然而,根據以太坊官方的規劃,以太坊2.0分片的實現可能要等到2030年了。但即便在目前,由於DeFi的大熱,以太坊早已擁擠不堪,Gas費高企。幾年前的狀態通道、Plasma等Layer 2方案無法滿足DeFi的要求,分片技術又是一個遙遠的目標。正是"往者不可諫,來者也不可追",Rollup自然而然成為了在短中期應對以太坊擴容方案的最佳方案,成為邁向以太坊2.0的中場接力手。
當然,Vitalik主推Rollup的另一個原因在於:Rollup協議可以捕獲價值,在經濟上具有可持續性。
先談經濟價值,Rollup可以緩解以太坊的擁堵,降低Gas費。節約出來的成本,其中的部分就可以轉化為Rollup協議的收入(如收費和MEV[1]的方式),並具有經濟上的可持續性。
那麼Rollup為什麼可以捕獲價值呢?這與Rollup的特殊性有關:數據放在主鏈上,僅僅是在鏈下進行數據計算。這種介於Layer1和Layer2的混合方案,使得Rollup成為主鏈上一個特殊Dapp應用,因此Rollup項目是可以在主鏈上發行基於該Rollup協議的代幣,能通過代幣來捕獲協議的價值。
可以預見的是,在未來幾個月Rollup大爆發後,將會有眾多Rollup發行項目代幣,那些願意將協議經濟價值附著在代幣上的項目,其代幣將具有很大的投資潛力。
[1] 注:MEV即礦工可提取價值,是指礦工(或驗證者、排序器等)通過在其生產的區塊內任意包含、排除或重排序交易等能力所獲得利潤的一種度量。












