CatcherVC Research:深度解讀Optimism擴容方案
星球君的朋友们
2022-04-07 03:00
本文约8961字,阅读全文需要约36分钟
Optimism該如何走向去中心化之路,兌現「欺詐證明」機制和多Squencer 輪換的設想?

二級標題

二級標題

  • 二級標題

  • 本文重點

  • 出於對安全和去中心化的考慮,ETH區塊Gas上限和出塊時間無法大改;

  • Layer2擴容的實質是造一條TPS更高的鏈,把這條鏈的信息掛到以太坊上;

  • 前言

  • 前言

前言

二級標題

前言

隨著ETH合併正式邁入進程,Layer2和Rollup在區塊鏈行內逐漸成為顯學。究其本源,Layer2的目的是提高系統每秒處理的交易數量(TPS),並降低Gas費。前者是整個Layer2擴容的最核心要點,後者則是提升Layer2交互體驗的關鍵。

對此,以Optimism和Arbitrum為代表的Layer2憑藉高效率、低Gas的旗號快速崛起,頗為矚目。在靠著精妙敘事吸引各路資本、靠著超低Gas收穫廣大用戶的同時,其固存的中心化問題卻日漸明晰,引起越來越多的關注與質疑。

二級標題

二級標題

二級標題

以太坊的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,才能率先被系統響應。最終,因係統特性產生的的供需缺口造就了高昂手續費,讓無數人叫苦不迭。

但從事實來看,在去年備受矚目、對區塊的Gas機製做出大幅調整的EIP-1559,其核心作用也只是讓Gas Price的浮動範圍更可控,並降低ETH的通脹率及拋壓,而非直接壓低Gas Price或取締Gas競價機制。

圖片描述

image

(可以看到,Gas Price連續上漲了4個區塊的時間)

圖片描述

image

圖片描述

圖片描述

根據相關數據,當前的ETH擁有近2億個獨立地址,每日處理的交易筆數僅有100多萬筆;相比之下,Gas費較低的BSC(BNB Chain)每日處理的交易筆數高居500萬以上,其獨立地址數卻不到1.5億個。二級標題

二級標題

二級標題

出塊週期從另一個角度看,由於TPS=每個區塊包含的交易筆數÷出塊時間,出塊週期也是關係到TPS的關鍵。同時,出塊週期中的幾個階段可映射以太坊業務邏輯中的不同組分,這正是Layer2擴容思想的關鍵點。需要強調的是,以太坊是由大量服務器節點組成的系統,其業務邏輯包含

  • 執行、共識、多方存儲

  • 3個部分。其中,

  • 【執行】泛指對交易事件等指令進行處理,得到結果;

【共識】指所有節點都認可執行的結果;

【多方存儲】指多個節點都存儲相同的內容,並可供外界讀取。

  • 在部分資料中,也將【共識】稱為【結算】,將【多方存儲】稱為【數據可用性】,這些叫法實質是互通的。而一個出塊週期由以下步驟構成:首先,礦池節點間通過【工作量證明】選出一個優勝者,由其來完成

  • 【執行】交易的過程,製作新區塊;

  • 【工作量證明】需要暴力窮舉隨機數,消耗大量算力,這些任務由礦池內的礦機完成,耗時較長;優勝的礦池節點會按照Gas Price的高低,從等待上鍊的交易事件中抓取一批來

  • 【執行】,得出結果,然後把交易信息和結果一併納入新區塊;

  • 之後,新區塊會被傳播給所有的以太坊節點,內容會被檢查。具體而言,檢查區塊的節點會讀取其內容,把裡面的交易再執行一遍,看出塊礦池提交的數據是否正確。這就實現了【多方存儲】

圖片描述

image

圖片描述

圖片描述(以太坊節點數量及物理位置分類)4個階段。其中,【工作量證明】和【共識】階段耗時最長。由於以太坊的礦池和全節點合起來超過2000個,這些節點要達成【共識】會產生大量的通訊時間;而【工作量證明】是具備彈性的時間填充工具,其設計初衷就是為了讓出塊週期穩定在15秒左右(現出塊週期約為13秒)。

圖片描述

image

圖片描述

圖片描述

(以太坊節點物理位置分佈)

如果強行將區塊擴容,也會加劇不同節點間的信息差。比如,若將ETH區塊的Gas容量提升10倍,則每個區塊包含的交易數量會提升10倍,不同節點間可產生的信息差也會增加10倍。目前,在保證的前提下,ETH的區塊Gas容量與出塊時間基本達到理論上的極限二級標題

二級標題

如前文所述,出於周全考量,以太坊的區塊容量和出塊週期無法做出太大變動,其TPS基本維持在20以下,近兩年來從未有太大改善。

圖片描述

image

圖片描述

圖片描述

  • (BSC區塊的平均Gas上限)

  • 以Rollup為代表的Layer2則秉持不同的理念。雖然其本質也是以太坊之外的公鏈,但仍在很大程度上依附於以太坊的安全性。比如,OP Rollup(Optimistic Rollup)會把Layer2的區塊鏈副本壓縮存儲至以太坊主網,同時:

  • 二級標題

  • 二級標題

Optimism的原理

二級標題Optimism的原理以OP Rollup方案中最典型的Optimism為例,其4個最重要的模塊分別為

image

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(狀態鏈)合約。這會產生兩筆交易事件,此過程中,以太坊系統只負責【多方存儲】內容,不會去檢驗正確性;

image

Layer2的Verifier(驗證者)會自動讀取Sequencer存儲至以太坊的內容,對其進行審查,這個步驟與以太坊的【共識】類似。當前的Optimism和Arbitrum均由官方運行Sequencer節點,存在嚴重的中心化問題。

從外觀看,CTC和SCC就像兩個賬單列表。

image

Layer2的(注:狀態樹是一個數據庫,記錄鏈上地址的信息。獲取狀態樹根和交易數據摘要,便可拼湊出Layer2本地的區塊內容。一般而言,SCC合約中存儲的Layer2狀態根更為重要,獲取狀態根後,結合交易數據進行計算,便可知曉Sequencer是否擅自改寫了用戶地址餘額。)Layer2的

  • Verifier(驗證者)會自動讀取CTC和SCC這兩個合約中的記錄

  • Sequencer若被挑戰成功,確認有不誠實行為,則受到一定懲罰,其質押的資產會被扣除一部分;若質押餘額低於劃定的閾值,則Sequencer被強制除名,不再有出塊資格;

  • 欺詐證明欺詐證明欺詐證明

  • 欺詐證明”機制,指Verifier可披露Sequencer的欺詐行為。

  • Verifier和Sequencer之間達成的【共識】具有嚴重滯後性

。一筆交易提交後會立刻被Sequencer執行,但Verifier獲取狀態根、對結果進行最終驗證卻可以在1小時之後。

Optimism在2021年11月進行了EVM等效性升級,其Sequencer和Verifier客戶端取締了舊版OVM虛擬機,基於舊版OVM設計的“欺詐證明”程序無法運轉,而新版的“欺詐證明”程序尚未發布。由於需要跨域傳輸信息,Optimism的Sequencer和Verifier需要運行以太坊客戶端Geth的山寨版:L2geth二級標題

二級標題

二級標題在Gas費問題上,由於Optimism業務流程有向以太坊存儲數據的步驟,,而Arbitrum和Metis等其他OP Rollup方案也不外如此。

其每筆交易的Gas費=Layer1部分+Layer2部分

image

  • ,而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]

所以,執行步驟越複雜的交易(期權等),在Optimism上可節省的成本越多。比如,以太坊上一次要100美元的期權操作,在Optimism上只需要1.5美元左右,僅為1/60;以太坊普通轉賬要3美元,Optimism可能要0.3美元,為1/10。

圖片描述

image

圖片描述

圖片描述

  • (Optimism官方對手續費結構的解釋)

  • 若想深入理解,可以觀察Rollup(打包)和存儲的具體步驟:

在將一批交易數據存儲至以太坊前,Sequencer會壓縮內容,然後將這批交易組合成Batch(批次),傳輸給ETH網絡節點。Optimism官方表示,隨著未來用戶規模擴大,每個Batch收納的交易數量增加後,固定開銷將進一步下調。

圖片描述

image

(Sequencer向CTC傳入的數據,是一堆16進制數形式的字符)

圖片描述

image

(Optimism提交的狀態根Batch)

二級標題

二級標題

二級標題

  • OPtimism的理論TPS上限究竟能達到多少?

  • 要探究Optimism的理論TPS上限,我們應當設想一種臨界狀態:

  • 最終,Sequencer發起的指令,佔用了以太坊區塊的全部Gas,也即以太坊上全部可用的資源,都為Optimism所用,每一個以太坊區塊裡收納的都是Sequencer提交的數據;

  • 圖片描述

image

圖片描述

圖片描述

(W3.Hitchhiker團隊計算的各種Layer2方案理論TPS上限)

  • 綜上所述,Optimism的TPS上限至少為以太坊的16倍。考慮到目前Optimism用戶太少,實際TPS甚至不到以太坊的3%,其發展空間最大可達現在的500倍。

  • 為了增強安全性,Optimism要求Sequencer質押一定資產,並要求Sequencer在ETH主網上披露Layer2區塊關鍵信息,Verifier會自動讀取,檢查準確性;

  • 圖片描述

image

圖片描述

  • Verifier和Sequencer之間達成的【共識】具有嚴重的滯後性。圖片描述

image

圖片描述

  • 圖片描述

(Optimism的Sequencer上傳到Layer1的狀態根Batch,週期居然可以達到1小時)Verifier受到的激勵= 挑戰成功的代幣獎勵-節點運行成本。發布“欺詐證明”且挑戰成功是一個不可預測的事件,概率不高,所以Verifier受到的激勵不強,此類節點的數量不易擴充,共識和安全性仍然弱於以太坊。

  • 結語

  • 結語

結語

一級標題結語儘管如今的Optimism炙手可熱,表現出巨大的發展前景和增值空間,但如前文所說,其仍面臨著過度中心化的問題。

image

一文了解Layer2的四大解決方案交易成本對比

一文了解Layer2的四大解決方案交易成本對比

參考文獻

星球君的朋友们
作者文库