撰文:Alfonso de la Rocha
編譯:Perry Wang

簡析以太坊擴容方案 Optimistic Rollup 陣營選手:Optimism、Arbitrum 與 Metis

今年上半年,加密貨幣市場的新一輪牛市、NFT 熱度的攀升伴隨 DeFi 熱潮的繼續發酵和 DeFi 樂高的不斷堆疊,讓以太坊價格不斷走高的同時,網絡使用量也連創新高。不過這也給以太坊生態系統中的 DApp 開發者帶來了許多「不太愉快」的後果,不堪重負的網絡導致 Gas 成本高企。正因如此,二層(L2)擴容解決方案一夜之間從「可以有」的功能轉變爲「最緊迫的需求」,以在性能和成本方面保障 DApp 能夠持續運行。

幸運的是,我們已經有幾個穩定的 L2 平臺和協議能幫我們完成這個任務。構建 L2 解決方案的基礎結構之一是 Optimistic Rollup。許多項目都是建立在這種技術之上,但是如何選擇最能滿足我們需求的、基於 Optimistic Rollup 的 L2 解決方案? 本文試圖回答這個問題,對基於 Optimistic Rollups 的三個有前途的 L2 解決方案進行了比較。我們馬上切入正題!

什麼是 Optimistic Rollup?

爲了能夠比較基於 Rollup 的不同 L2 解決方案,我們首先需要簡單介紹一下什麼是 Optimistic Rollup。Rollup 是將側鏈或鏈外交易捆綁(或「Rollup」)到單個交易中,然後提交到第一層(L1)的解決方案。爲了保護所有這些捆綁交易,並使它們可逐一單獨驗證,捆綁中會生成加密證明。

Rollup 能收到成效的一個要求是擁有某種與以太坊兼容的獨立區塊鏈,節點數量減少或具有高性能的附加功能,負責處理簽名驗證、合約執行等。交易隨後被捆綁提交到以太坊主鏈中,而獨立區塊鏈能夠驗證這些交易的有效性。L2 Rollup 側鏈負責驗證和合約執行,而 L1 專門存儲不可變的交易數據。

在 Optimistic Rollup 解決方案中,參與者對側鏈中所正在執行交易的有效性持「樂觀態度」。聚合器將側鏈交易提交到主鏈中不需要額外的計算。我們如何確定側鏈交易實際上是有效的? Optimistic Rollup 使用欺詐證明來確保所有交易都是合法的。如果有人注意到來自聚合器的欺詐交易,則可以通過發送欺詐證明來運行交易計算並驗證其有效性,來挑戰這一 Rollup。 這意味着,不像在 ZK-Rollup 等其他 Rollup 解決方案中那樣對每筆交易執行驗證,我們只在懷疑交易是欺詐時才執行證明計算。與 ZK-Rollup 解決方案相比,這顯著降低了 Gas 成本,併爲在交易吞吐量上實現 10 倍 乃至 100 倍的飛躍打開了大門。欺詐證明被證實後確定無效區塊,L2 中的鏈可以回滾並恢復到上一個不含欺詐的區塊。

相關解決方案的對比介紹

在對 Rollup 進行簡要介紹之後,我們擁有了對 L2 解決方案進行比較所需的所有基礎。爲了進行比較,我選擇了 L2 解決方案中的三個,在我看來,它們爲 DApp 開發者提供了一套更有趣的功能(我個人會考慮部署在自己應用中的功能)。

它們都(或多或少)共享相同的模塊:一個兼容以太坊的虛擬機(VM),用於在 L2 中運行用戶的 Solidity 合約; 排序器 / 聚合器負責對來自 L2 的交易集合進行批處理,然後在 L1 上提交; 一組 L1 智能合約,用於編排交互並提交來自 L2 的數據;對等交易方可以使用各種不同的欺詐證明,以駁斥聚合器提交的無效或僞造交易;並使用質押來協調 L2 系統的激勵和經濟活動。

儘管共享相同的模塊,但這三種解決方案在實現 Rollup 協議的方式上卻大不相同。 讓我們逐一詳細考察,以加快我們的比較速度。

Optimism:

Optimism 利用以太坊生態系統中的所有現有工具,並對其進行修改以實施他們的 Optimistic 協議和 L2 解決方案。

VM: 他們的 L2 VM 是 Optimism VM (OVM),是對以太坊 VM (EVM) 的修改變體,用適合 L2 合約執行的新操作碼替換了與情景相關的 EVM 操作碼。 VM 充當沙盒環境,保證確定性智能合約的執行,以及 L1 和 L2 之間的狀態轉換。

客戶端:Optimism 還修改了廣泛使用的以太坊客戶端 Geth,因此它可以用作 L2 鏈的客戶端。這一客戶端修改消息,以便其他 L2 客戶端能理解它們,並且它包括了爲構建 Rollup 而對交易進行排序和批處理所需的所有流程。

Rollup 構建:對其 Rollup 構建而言,Optimism 使用 Geth 客戶端作爲單一排序器。在 Optimism 中,交易數據被壓縮,然後發送到 L2 上的 Sequencer Entrypoint 合約。排序器負責「Rollup」這些「批處理」這些交易並將數據發佈到以太坊上,提供數據可用性,這種情況下即使排序器消失,也可以啓動新的排序器以從中斷的地方繼續。任何人都可以向 L1 發送新交易,且這些交易被添加到 L1 合約中,L1 合約作爲每個 L2 交易「只進行追加操作的日誌」。
驗證:對於排序器發佈的每筆交易,驗證者負責下載該交易並將其應用於其本地狀態。如果一切都匹配,驗證者什麼都不做,但如果不匹配,驗證者需要在鏈上提交所有有效的之前交易,並重新執行任何已發佈的狀態根,以表明已發佈的狀態根實際上是錯誤的。 如果欺詐驗證成功,則從 L1 中消除錯誤的狀態和批處理。

經濟模型:每個時間段 epoc 的批次排序器需要被稱爲債券管理器的智能合約標記爲已有抵押。要成爲已有抵押的排序器,需要在合約中質押固定數量的 ETH。 排序器每次被檢測到存在欺詐行爲時,其質押資產就會被削減。排序器所質押資產可以在存入 7 天后收回,該排序器的批處理從這一刻起宣告停止,不再可能進行驗證工作,因爲已不可能對其進行資產削減。如果欺詐被成功證明,提議者一定百分比 (X%) 的保證金將被銷燬,剩餘的 (1-X)% 將按比例分配給爲欺詐證明提供數據的每個用戶。這種經濟模型可以防止排序器的流氓行爲,但沒有解決可能出現的下面一種情況:驗證者向 L1 鏈嘗試發送大量不同批次的大量欺詐證明(強制帶來大量的 L1 計算)。

Arbitrum:

VM 和客戶端: Arbitrum 實施了 Arbitrum 虛擬機(AVM)。 AVM 負責運行 L2 合約並保存其狀態 。VM 的狀態被組織成一個 Merkle 樹,並在此 Merkle 樹上生成的狀態轉換中執行。Arbitrum 還實現了自己定製的 L2 客戶端。

Rollup 構建:Arbitrum 使用單個鏈上合約來編排其 Rollup 協議。 在協議中的任何一點,都有一些 VM 完全確認和最終的狀態,例如,它的哈希值存儲在鏈上。 L2 中的新交易會觸發存儲鏈中每個狀態的 Merkle 樹的狀態更新。要驗證存儲的狀態,協議的參與者可以提出在 Arbitrum 中所稱的有爭議斷言 (DA) ,來證明從某個狀態哈希開始,VM 能夠執行指定數量的計算步驟,從而產生指定的新哈希狀態(及其相應的合約執行、付款和事件發射)。DA 可能最終有效(即計算成功)或無效。 如果 DA 有效,系統將進入一個新狀態,在樹中將會有新的狀態哈希,以及在 DA 中指定的相應副作用(付款和日誌)。如果 DA 無效,則該分支被拒絕,狀態保持不變。 每個狀態最多可以有一個 DA 跟隨它。如果一個 DA 沒有跟隨狀態,那麼任何人都可以創建一個跟隨它的 DA,創建一個新的分支點。結果將是一棵融匯未來可能性的樹。因此我們可以看到,雖然 Optimism 使用多個 L1 智能合約在 L2 提交狀態和執行,但 Arbitrum Rollup 的 L1 構建是基於 L1 中狀態根歷史記錄的存儲,後者確認了 L2 鏈的狀態。

經濟模型:質押在 Arbitrum 的 Rollup 中起着關鍵作用。任何人都可以對其中一顆狀態樹投入質押。通過對一個狀態質押(圖中的方塊),您可以斷言該狀態最終會被協議確認。換句話說,您是在斷言從當前狀態到你所質押的方塊的路徑上每個 DA 上都採納了正確的分支。 如果您錯了,您的質押將被削減。您可以向右移動您的質押,選擇向上或向下的分支,但您不能向左移動,因爲這相當於取消您之前做出的質押承諾; 或可以同時對兩個平行分支質押。 在錯誤分支上質押的參與者,其質押資產將在被接受分支上質押的參與者之間分配。協議的構建確保最終所有獨立的歷史(分支)將匯聚到一個最終解決所有爭議的 DA。

驗證: 一旦 DA 的質押期限已過,且所有及時(在質押截止期限之前投入的)質押都在該 DA 的同一分支上,系統可以確認該 DA 的結果。 DA 要麼被接受,要麼被拒絕,當前狀態移動到 DA 右側的適當方塊。如果 DA 被確認爲有效,其副作用(例如付款)將在鏈上實現。這就是 VM 狀態向前移動的方式。該協議是完全無需信任的,因爲任何參與者都有權通過在認爲正確的分支上來驗證 VM 的狀態。

Metis:

VM 和客戶端:Metis 使用與 EVM 兼容的虛擬機 Metis VM (MVM)。 MVM 在功能和特性方面與上述項目中的所有 VM 有很大不同。 在 MVM 中,L2 的計算和存儲是完全脫鉤的。Metis 引入了去中心化自治公司 (DAC) 的概念。DAC 是系統中的獨立實體,可以代表例如通過平臺執行許多日常操作的大型企業。DAC 是 Metis 運營的關鍵。當系統中實例化一個新的 DAC 時,會專門爲 DAC 創建一個新的存儲層。因此,考慮到鏈交互,DAC 擁有自己的存儲空間。

Metis 的 L2 計算層(即區塊挖礦、共識、跨層通信等),另一方面,由網絡中的所有 DAC 共享,但它包含一個有趣的特性:所有計算進程被實現爲單獨的服務(遵循微服務方法)使得計算層根據整個網絡的需求和吞吐量進行擴容和縮容。此外,MVM 引入了供應商的角色,他們可以註冊並貢獻計算能力,使 L2 構建真正去中心化(這些供應商可以看作是 Optimism 平臺的排序器)。提供商將根據產生的區塊獲得激勵。最後,MVM 和 Metis 客戶端中包含的一個真正強大的功能是其他 L2 平臺所不具備的,它不僅支持合約執行,還支持與智能合約計算相關的去中心化存儲。 因此,Metis 通過 MVM 中的 IPFS 解析器與 IPFS 網絡集成,該解析器允許合約指向存儲在 IPFS 中的不可變數據。例如,這可用於指向存儲在 IPFS 網絡中的機密數據。

Rollup 構建: 在 Metis 中,L2 交易的排序和批處理不是由單個排序器完成,而是由一個排序器池完成。將隨機選擇一組排序器來 Rollup 狀態根並將交易提交到 L1 公鏈。 在 L1,Metis 部署了一組合約來協調 L2 到 L1 的批處理提交。

經濟模型:每個排序器需要質押一定數量的 Metis 代幣才能獲得資格。Metis 生態系統具有強大的真實經濟聯繫,交易價值可能達到數十億美元,這一事實需要使用動態債券閾值 (DBT),以便將惡意行爲的風險和回報與參與交易的 DAC 所管理的真實經濟價值聯繫起來。DBT 是使用分配給排序器的 DAC 的最大經濟容量作爲基礎來計算的。DAC 的經濟能力是根據其總餘額計算的。因此,如果特定排序器中質押的 Metis 代幣 (MT) 數量低於分配給它的 DAC 的 DBT,它將無法爲該 DAC 進行批量交易。DAC 的排序會被阻止,直到在排序器池中找到符合條件的排序器。DAC 餘額的新存款或取款會觸發其 DBT 的自動更新。因此,DAC 餘額的新提款將會導致排序器所需的 DBT 減少,反之亦然。這確保了所需的排序器中抵押品始終遵循 DAC 的實際經濟價值。

驗證:出於驗證目的,Metis 平臺在其 MVM 中引入了 L2 Rangers 的概念。L2 Rangers 是一個特殊 DAC 的成員,負責對一系列區塊進行採樣,並根據隨機 DAC 定期分配的交易來驗證狀態根。Rangers 不僅驗證其他 DAC 的順序轉換,而且對自己的 DAC 進行驗證(他們監視自己)。Ranger 完成的每一次驗證都會獲得一些 Metis 代幣 (MT) 的獎勵。對鏈狀態的成功挑戰(例如欺詐證明),會讓驗證者從「惡意」排序器被罰沒的 bond 中分得一部分。另一方面,失敗的挑戰將導致 Ranger 驗證器失去自己的 bond,並最終無法訪問 MVM_RANGERS。

這種排序器和驗證者都需要抵押的驗證方法,解決了我們在 Optimism 平臺驗證過程中所發現的關鍵問題之一,即驗證者如果生成虛假欺詐證明,由於驗證者沒有質押資產,他們不會受到懲罰。抵押排序器和驗證者(例如 L2 Rangers)的良好協調也縮短了驗證窗口期以提高網絡效率。諸如 Optimism 提出的協議,交易在驗證窗口過去之前不能被確立最終性,並且驗證者有足夠的時間發送所有證明。這是驗證者沒有抵押的直接後果。儘管檢測無效狀態更新存在激勵,但作爲驗證者,不當行爲並沒有受到嚴重懲罰。 因此,爲了防止潛在的不當行爲,最終性窗口被增加到「讓每個人都可以發言」。在 Metis 中這是不需要的,因爲驗證者是有抵押的,他們一方的不當行爲會導致資金損失。驗證者和排序器都會感受到「切膚之痛」,這可以縮短最終性確立窗口,這就是 Metis 能夠在數小時內驗證交易,而不像 Optimism 等其他協議需要 7 天的原因。

簡析以太坊擴容方案 Optimistic Rollup 陣營選手:Optimism、Arbitrum 與 Metis

讓我們將所有競爭者並排進行比較,有個總體瞭解:

簡析以太坊擴容方案 Optimistic Rollup 陣營選手:Optimism、Arbitrum 與 MetisL2 解決方案比較 (Alfonso de la Rocha 製作)

如表中所示(以及我們上面的解釋中所述),這三個平臺非常適合將您的 DApp 由以太坊主網作爲 L1 支持的高性能 L2 解決方案中。具體決策可能取決於您的 DApp 的性能、擴容性、靈活性和功能要求。 在我們所描述的三個平臺中中,Metis 是功能最豐富的一個:它默認支持去中心化存儲,幷包括額外的性能和安全機制。存儲的脫鉤、DAC 的使用,以及動態 DBT 方案,使其非常適合公司(無論規模大小)。 Optimism 對於以太坊至上主義者來說是一個很好的選擇,因爲它使用了以太坊生態系統中的所有工具(不需要新概念)。最後,Arbitrum 對狀態歷史驗證的無需許可質押,使其成爲一個真正有效和有趣的提議方案,能帶來比標準 Rollup 架構更快的驗證時間,因此可以防止延遲攻擊(儘管由於它使用的扁平架構,仍然比 Metis 慢一點)。

總而言之,沒有唯一的正確答案,只有穩定的 Optimistic L2 平臺可供具體選擇。我希望這篇比較文章可以幫助您對 L2 解決方案做出更明智的決定,以選擇是計劃部署新的 DApp,還是從 L1 遷移到 L2。

來源鏈接:adlrocha.medium.com