點擊此處下載PANews App ,隨時隨地閱讀更多區塊鏈即時快訊和深度好文。
作者:Web3er Liu,CatcherVC
原文標題:CatcherVC Research:深度解讀Optimism擴容方案
本文重點
出於對安全和去中心化的考慮,ETH區塊Gas上限和出塊時間無法大改;
Layer2擴容的實質是造一條TPS更高的鏈,把這條鏈的信息掛到以太坊上;
Optimism的市場增值空間極大,其TPS上限可達1600,但吞吐量的實際利用率不到千分之一,未來發展潛力巨大;
由於未開放對等節點,Optimism本地Sequencer出塊後,甚至要1小時才可以驗證其正確性,延時過長;
當前的Optimism和Arbitrum均由官方運行出塊節點,存在嚴重的中心化問題,其立足根基更多在於項目方的“信用”,而非“程序正義”本身;
Optimism在進行EVM等效性升級後,其“欺詐證明”機制無法使用,官方稱將於未來解決該問題。
前言
隨著ETH合併正式邁入進程,Layer2和Rollup在區塊鏈行內逐漸成為顯學。究其本源,Layer2的目的是提高系統每秒處理的交易數量(TPS),並降低Gas費。前者是整個Layer2擴容的最核心要點,後者則是提升Layer2交互體驗的關鍵。
依照其定義,TPS= 一段時間內處理的交易筆數/ 耗時,套用在區塊鏈領域,若忽略分叉或區塊重組等情況,可粗略視TPS=平均每個區塊包含的交易筆數÷出塊時間。對普通公鏈而言,提升TPS面對的是區塊擴容和出塊時間問題,同時,TPS的實際值還牽涉到公鏈採用的Gas機制,無論是ETH還是BSC和Polygon都不出其右。
但提升區塊Gas容量或縮短出塊時間都會破壞安全性,究其根源,以太坊擴容要面對的是“不可能三角”問題,要如何提高效率,又保障安全和去中心化,始終處在紙上談兵、懸而未決的階段。
對此,以Optimism和Arbitrum為代表的Layer2憑藉高效率、低Gas的旗號快速崛起,頗為矚目。在靠著精妙敘事吸引各路資本、靠著超低Gas收穫廣大用戶的同時,其固存的中心化問題卻日漸明晰,引起越來越多的關注與質疑。
本文將以重要細節揭示在確保去中心化的前提下,Layer1擴容所面臨的困境,以及典型的高效Layer2項目存在的重大問題。
以太坊的Gas機制
決定以太坊效率的關鍵因素之一是其所採用的Gas機制。在以太坊系統中,Gas是一種計量形式,反映了不同操作的複雜度。就像汽車行駛需要消耗汽油一樣,在以太坊上交易會產生Gas消耗。一筆最簡單的ETH代幣轉賬,Gas消耗為2.1萬。其他類型的操作,如普通的ERC—20代幣轉賬,或更複雜的合約交互,可產生幾萬甚至數十萬的Gas消耗。
以太坊的單個區塊有Gas上限,限定了一個區塊內全部交易指令可消耗的Gas總量,這就好比冰箱塞滿後就不能再裝東西。在去年的EIP-1559實行前夕,單個區塊的Gas上限約為1500萬,粗略算來最多可容納714筆ETH代幣轉賬,若將平均出塊週期13秒置入TPS計算式,則EIP— 1559前以太坊的理論TPS上限是55。
但現實中很多交易是Gas消耗較高的合約交互,會大幅佔用區塊的Gas容量,實際的以太坊TPS均值被壓低到20,擁堵不堪,這使得大量潛在的交易需求被排擠在鏈外。由於單筆交易的手續費=Gas Used×Gas Price,而Gas Used由系統決定,可視為常量,用戶發起交易後要付出比別人更高的Gas Price,才能率先被系統響應。最終,因係統特性產生的的供需缺口造就了高昂手續費,讓無數人叫苦不迭。
歸根結底,ETH本質上是關於交易權限的拍賣平台,Gas Price就是競標者的出價,交易權限的歸屬由供需雙方通過競價機制撮合達成。這種設計契合區塊鏈的自由市場原則,卻埋下了內捲的種子。
縱觀以太坊的歷史,每逢有“加密貓”“5.19”一類的熱點事件激發交易需求,ETH鏈就會出現激烈的Gas War現象,誰付出的Gas Price越高誰的交易先上鍊,劇烈的價格戰讓GasPrice水漲船高,不能支付高昂手續費的用戶被拒之門外,這使以太坊成為名副其實的“貴族鏈”,引發了無數爭端,也讓EIP—1559一度成為許多人眼中的“救星”。
但從事實來看,在去年備受矚目、對區塊的Gas機製做出大幅調整的EIP-1559,其核心作用也只是讓Gas Price的浮動範圍更可控,並降低ETH的通脹率及拋壓,而非直接壓低Gas Price或取締Gas競價機制。
雖然該提案將ETH區塊的Gas上限提升至3000萬,但只要新區塊的實際Gas消耗超過1500萬,下一個區塊內的Gas Price就會在系統調節下逐級漲價,這個過程可以持續多個區塊的時間,直到GasPrice極高,攔住絕大多數人,讓新區塊可收納的交易數驟減,Gas消耗量回落至1500萬為止。
觀察統計數據,可以發現在EIP-1559施行的前後6個月內,以太坊的每日Gas 消耗僅有不到10%的提升。考慮到這6個月內出塊週期穩定在13~13.5秒,則ETH每日出塊6500~6650個,每個區塊的Gas容量始終穩定在1500萬上下,並無明顯變化。
由於EIP-1559沒有真正改變區塊的Gas含量,以太坊的TPS沒有被改善,手續費居高不下,大量的潛在用戶仍滯留在以太坊系統外。
根據相關數據,當前的ETH擁有近2億個獨立地址,每日處理的交易筆數僅有100多萬筆;相比之下,Gas費較低的BSC(BNB Chain)每日處理的交易筆數高居500萬以上,其獨立地址數卻不到1.5億個。粗略估算下,ETH網絡最多滿足了約15%的交易需求。
出塊週期
從另一個角度看,由於TPS=每個區塊包含的交易筆數÷出塊時間,出塊週期也是關係到TPS的關鍵。同時,出塊週期中的幾個階段可映射以太坊業務邏輯中的不同組分,這正是Layer2擴容思想的關鍵點。
需要強調的是,以太坊是由大量服務器節點組成的系統,其業務邏輯包含執行、共識、多方存儲3個部分。其中,
【執行】泛指對交易事件等指令進行處理,得到結果;
【共識】指所有節點都認可執行的結果;
【多方存儲】指多個節點都存儲相同的內容,並可供外界讀取。
在部分資料中,也將【共識】稱為【結算】,將【多方存儲】稱為【數據可用性】,這些叫法實質是互通的。
而一個出塊週期由以下步驟構成:
首先,礦池節點間通過【工作量證明】選出一個優勝者,由其來完成【執行】交易的過程,製作新區塊;
【工作量證明】需要暴力窮舉隨機數,消耗大量算力,這些任務由礦池內的礦機完成,耗時較長;
優勝的礦池節點會按照Gas Price的高低,從等待上鍊的交易事件中抓取一批來【執行】,得出結果,然後把交易信息和結果一併納入新區塊;
之後,新區塊會被傳播給所有的以太坊節點,內容會被檢查。具體而言,檢查區塊的節點會讀取其內容,把裡面的交易再執行一遍,看出塊礦池提交的數據是否正確。這就實現了【共識】;
最後,若新區塊通過檢查,節點們會收錄新區塊,完成【多方存儲】。
所以,一個新區塊會被複製超過2000份,存儲在全網的以太坊節點裡。更具體的說,所有的礦池節點、所有的全節點都會存儲一份。通過這種形式,以太坊節點間近似實現了“一致性”。
綜上,以太坊的一個完整出塊週期,包含【工作量證明】+【執行】+【共識】+【多方存儲】4個階段。其中,【工作量證明】和【共識】階段耗時最長。由於以太坊的礦池和全節點合起來超過2000個,這些節點要達成【共識】會產生大量的通訊時間;而【工作量證明】是具備彈性的時間填充工具,其設計初衷就是為了讓出塊週期穩定在15秒左右(現出塊週期約為13秒)。
為何要讓出塊週期固定在13秒?這是出於對安全性和去中心化的考量後,所得出的較優解。由於以太坊節點眾多,且物理位置分散,出塊太快會增大節點間信息差,破壞【共識】;比如,如果將以太坊出塊週期降至0.1秒,而將信息傳播至美國和歐洲的不同節點時,存在1秒的時差,那麼美國和歐洲的節點間就會存在10個區塊的信息差異,這就違背了區塊鏈的設計理念。
如果強行將區塊擴容,也會加劇不同節點間的信息差。比如,若將ETH區塊的Gas容量提升10倍,則每個區塊包含的交易數量會提升10倍,不同節點間可產生的信息差也會增加10倍。
按照相關資料,直到以太坊完成POS轉型前,其出塊週期都會穩定在13秒,轉型POS後,出塊週期也只會縮短1秒,穩定在12秒。如此算來,POS轉型最多會讓以太坊的TPS提升10%,有如杯水車薪。
目前,在保證安全性和去中心化程度不變的前提下,ETH的區塊Gas容量與出塊時間基本達到理論上的極限,已無太大優化空間。
OP Rollup擴容方案
如前文所述,出於周全考量,以太坊的區塊容量和出塊週期無法做出太大變動,其TPS基本維持在20以下,近兩年來從未有太大改善。
對此,ETH官方以外的擴容方案走上了不同的道路。 BSC、Polygon等完全獨立於ETH的公鏈對區塊參數做出了修改。以BSC為例,目前其區塊Gas容量上限為8000萬,可達ETH的2.7倍;同時,BSC將參與共識的節點數量壓縮至20幾個,僅為ETH的1%,極大壓縮了節點達成共識的時間,出塊週期縮短到了3秒。這雖然將TPS上限提高到了以太坊的10倍以上,但卻與ETH網絡“百煉成鋼”的安全性完全割裂,去中心化程度也遠低於ETH。
以Rollup為代表的Layer2則秉持不同的理念。雖然其本質也是以太坊之外的公鏈,但仍在很大程度上依附於以太坊的安全性。比如,OP Rollup(Optimistic Rollup)會把Layer2的區塊鏈副本壓縮存儲至以太坊主網,同時:
Layer2本地的出塊週期僅保留【執行】交易的階段;
【工作量證明】被取消;
【多方存儲】功能被轉移至以太坊網絡;
【共識】過程由Layer2的驗證者節點完成,但並不包含在Layer2本地的出塊週期內。
Optimism的原理
以OP Rollup方案中最典型的Optimism為例,其4個最重要的模塊分別為Sequencer(序列器)、Verifier(驗證者)、CTC(交易鏈)、SCC(狀態鏈)。其中,Sequencer和Verifier是有硬件實體的Layer2節點,兩者基本構成了Layer2的節點網絡;CTC 和SCC是部署在以太坊上的合約,這4個模塊組成了Optimism的核心架構。
Sequencer是一個中心化的礦池節點,負責在Layer2本地出塊。 Optimism取締了【工作量證明】過程,由唯一的Sequencer擔任礦工,且不會立刻讓其他節點做【共識】驗證,這節省了大量時間。目前的Sequencer執行完交易馬上就能敲定區塊,本地出塊時間甚至只需1秒,從根源上提高了TPS。
但是,Sequencer具備很強的中心化特徵,它實際上製造了一條獨立於以太坊的側鏈,若沒有【共識】和【多方存儲】流程,必然缺乏安全保障。為了解決這個問題,Optimism在其早期文檔中指出,Sequencer必須質押一定量的資產,並且:
每隔幾分鐘,Sequencer節點會把本地區塊的壓縮版本存儲至ETH主網;這些內容包括交易數據的摘要,以及交易發生後的狀態根StateRoot。這個過程就是Rollup(打包);
交易數據的摘要被存入ETH上的CTC(交易鏈)合約,對應的狀態根存入SCC(狀態鏈)合約。這會產生兩筆交易事件,此過程中,以太坊系統只負責【多方存儲】內容,不會去檢驗正確性;
Layer2的Verifier(驗證者)會自動讀取Sequencer存儲至以太坊的內容,對其進行審查,這個步驟與以太坊的【共識】類似。
當前的Optimism和Arbitrum均由官方運行Sequencer節點,存在嚴重的中心化問題。
CTC和SCC是Optimism官方部署在以太坊上的合約,兩者以Batch(批次)的結構,分別記錄了Layer2交易數據的摘要,以及每筆交易執行後Layer2狀態樹的根哈希值。從外觀看,CTC和SCC就像兩個賬單列表。
Layer2的Verifier(驗證者)會自動讀取CTC和SCC這兩個合約中的記錄,盡量拼湊出Sequencer本地的區塊內容,並進行驗證。
若Verifier發現Sequencer提交的數據有問題,便可發起質疑(挑戰),並提交自認為正確的版本,挑戰成功便可改寫CTC與SCC中的錯誤數據,並獲取一定量的代幣獎勵;
Sequencer若被挑戰成功,確認有不誠實行為,則受到一定懲罰,其質押的資產會被扣除一部分;若質押餘額低於劃定的閾值,則Sequencer被強制除名,不再有出塊資格;
以上便是“欺詐證明”機制,指Verifier可披露Sequencer的欺詐行為。
Verifier和Sequencer之間達成的【共識】具有嚴重滯後性。一筆交易提交後會立刻被Sequencer執行,但Verifier獲取狀態根、對結果進行最終驗證卻可以在1小時之後。
Optimism在2021年11月進行了EVM等效性升級,其Sequencer和Verifier客戶端取締了舊版OVM虛擬機,基於舊版OVM設計的“欺詐證明”程序無法運轉,而新版的“欺詐證明”程序尚未發布。
按照此前技術文檔,Optimism將挑戰的窗口時間設置為7天,若7天內沒有Verifier發起挑戰,則Sequencer發布的內容被敲定,無法再改寫。
從本質來看,Optimism是由Layer1和Layer2上的軟硬件實體組合成的跨域交互系統,其獨特的業務邏輯是在以太坊上構造Layer2區塊的映射版本。由於需要跨域傳輸信息,Optimism的Sequencer和Verifier需要運行以太坊客戶端Geth的山寨版:L2geth,通過該軟件,Sequencer方可實現橫跨Layer2和Layer1的交互。
Optimism的Gas機制及其細節
在Gas費問題上,由於Optimism業務流程有向以太坊存儲數據的步驟,其每筆交易的Gas費=Layer1部分+Layer2部分,而Arbitrum和Metis等其他OP Rollup方案也不外如此。
其中,Layer2部分主要涉及Sequencer節點執行交易的費用。由於Sequencer的TPS上限極高,且當前Optimism的用戶較少,其本地Gas Price超低。計算公式為:L2 Gas費=L2 Gas Used×L2Gas Price。
據OP官方披露,一筆交易的Layer2部分僅佔0.4%,剩餘99.6%的Gas開銷來自於Layer1部分。 [1]
將其轉化為簡單的算式: 0.4%×執行費用+ 99.6%×存儲費用。
不難看出,交易的執行費用已經被大幅縮小了。
所以,執行步驟越複雜的交易(期權等),在Optimism上可節省的成本越多。比如,以太坊上一次要100美元的期權操作,在Optimism上只需要1.5美元左右,僅為1/60;以太坊普通轉賬要3美元,Optimism可能要0.3美元,為1/10。
而Layer1部分的Gas費,公式=比例係數×(固定開銷+存儲開銷)。其中,固定開銷來自於打包數據和跨域傳輸的過程,存儲開銷是在ETH上存入數據產生的Gas,比例係數則由Optimism官方設定,主要是為了預留出一部分資金,防止ETH主網Gas價格激增,無法把數據順利存上鍊。
若想深入理解,可以觀察Rollup(打包)和存儲的具體步驟:
在將一批交易數據存儲至以太坊前,Sequencer會壓縮內容,然後將這批交易組合成Batch(批次),傳輸給ETH網絡節點。
每個Batch可包含幾百筆交易數據,就像區塊一樣。發布Batch的時間週期由Sequencer動態調整,目前約為3~10分鐘左右。
所以,打包和傳輸Batch的過程必然有工作量,這會消耗一定的計算資源,固定開銷可以填補這部分成本。目前,Optimism上每筆交易的固定開銷Gas為2100。 Optimism官方表示,隨著未來用戶規模擴大,每個Batch收納的交易數量增加後,固定開銷將進一步下調。
而在Layer1上存儲Batch時,Sequencer會以文本數據Calldata的形式向CTC合約傳入Batch信息,一般而言,文本數據只用於存儲,不會被用於執行運算。比起普通的合約調用,這一步大量節省了Gas。
一般每隔幾分鐘,Sequencer就會向CTC傳輸一個交易Batch,其體驗就像在以太坊上構建由交易Batch構成的鍊錶。之後,Sequencer又會將交易Batch對應的狀態根Batch存入SCC(狀態鏈)合約,該過程與上面提到的類似。
以上過程會消耗Gas,具體的Gas消耗量視存儲的內容多寡而定。不同的交易類型會產生不同的數據量,存儲費用也不盡相同。
OPtimism的理論TPS上限究竟能達到多少?
要探究Optimism的理論TPS上限,我們應當設想一種臨界狀態:
Sequencer本地出塊速度遠高於以太坊主網,那麼Layer2原生內容和Layer1 副本內容之間一直有信息差△。隨著Layer2用戶增多,實際TPS激增,Layer2和Layer1間信息差△可以被擴大;
當Optimism逼近其理論TPS上限時,Layer2和Layer1間每秒的信息差△可以非常大。所以,此時Optimism必須盡快向以太坊主網提交數據,不惜一切代價同步數據;
最終,Sequencer發起的指令,佔用了以太坊區塊的全部Gas,也即以太坊上全部可用的資源,都為Optimism所用,每一個以太坊區塊裡收納的都是Sequencer提交的數據;
以EIP-1559後每個以太坊區塊的Gas上限為3000萬來計算,若Optimism本地執行、向以太坊提交的也都是最簡單的轉賬操作,則此時Optimism的TPS上限約為1600左右【2】。
綜上所述,Optimism的TPS上限至少為以太坊的16倍。考慮到目前Optimism用戶太少,實際TPS甚至不到以太坊的3%,其發展空間最大可達現在的500倍。
對以上內容進行整理,結合實際調查,在此歸納得出:
Sequencer節點自己製造了一條TPS極高的區塊鏈,這便是擴容之源。雖然效率極高,但因其高度中心化,Sequencer可能作惡或宕機;
為了增強安全性,Optimism要求Sequencer質押一定資產,並要求Sequencer在ETH主網上披露Layer2區塊關鍵信息,Verifier會自動讀取,檢查準確性;
由於存儲在ETH上的交易數據是被壓縮過的,且以太坊節點不負責具體執行這些交易,不負責驗證數據的正確性,這可以大量節省Gas。目前,在Optimism上執行複雜的期權操作,Gas費可低至以太坊的1%。
Verifier和Sequencer之間達成的【共識】具有嚴重的滯後性。一筆交易提交後會立刻被Sequencer執行,但Verifier獲取狀態根、對結果進行最終驗證卻可以在1小時之後。由於延時過長,可存在多種類別的攻擊場景,這對Optimism的安全性是潛在的威脅。
Verifier受到的激勵= 挑戰成功的代幣獎勵-節點運行成本。發布“欺詐證明”且挑戰成功是一個不可預測的事件,概率不高,所以Verifier受到的激勵不強,此類節點的數量不易擴充,共識和安全性仍然弱於以太坊。
如前文所述,擴充Verifier最有效的方式是增強激勵,或者開放對等節點網絡。對於尚未發行代幣也未開放對等節點的Optimism而言,難以像Metis那樣通過自己發行的代幣激勵驗證者。所以,當前的Optimism在如何擴容驗證節點規模、增強驗證的時效性上,均面臨著不小的挑戰。
值得注意的是,目前Optimism和Arbitrum等OP Rollup的Sequencer節點均由官方提供,所以,Sequencer懲罰機制是否有效,尚且存在爭議;目前Optimism和Arbitrum的安全性更多來自於項目方的“信用”,而非“程序正義”本身;
頗為重要的是,Optimism在2021年11月進行了EVM等效性升級,其Sequencer和Verifier客戶端取締了舊版OVM虛擬機,基於舊版OVM設計的“欺詐證明”程序無法運轉。而新版的“欺詐證明”程序尚未投入運行,目前挑戰機制無法生效。
結語
儘管如今的Optimism炙手可熱,表現出巨大的發展前景和增值空間,但如前文所說,其仍面臨著過度中心化的問題。 GavinWood曾說:“真正的去中心化和安全性比高效率更有價值。”如果無法及時讓用戶參與網絡維護,那麼所謂的Layer2將和傳統金融平台毫無區別。
在靠著理想化敘事製造擴容願景的同時,已經“大而不倒”的Optimism該如何走向去中心化之路,兌現“欺詐證明”機制和多Squencer輪換的設想,還有待時間去考證。但可以確定的是,從長期看,只有真正的去中心化可以在歷史的風沙之中屹立不倒,永世長存。
參考文獻
《The Road to Sub-dollar Transactions Part 1: Slashing Fees by 30%》
《一文了解Layer2的四大解決方案交易成本對比》