上個月,我們宣布了Optimistic 以太坊歷史上最重要的升級。最近,我們將Optimistic Kovan遷移到真正的一鍵式部署,並增加了穩定性,主網在不到三週的時間內就會跟上。

這篇文章是關於我們相信EVM 等效性——完全符合以太坊虛擬機規範——將成為L2領域的下一個通用標準。

Optimistic 爭議協議簡史

首先,讓我們回顧一下我們已經採取的當代Rollup路徑。

Rollup的黎明

Optimistic 的L2都是關於爭議的。如果你認為以太坊是一個全能的、去中心化的法庭,那麼L2可擴展性的核心觀點是:“不要去法庭兌現支票——如果支票被退回,就去唄。”

實際上,過去6年的可擴展性研究可以歸結為一件事:什麼樣的“拒付支票”可以被強制執行。首先,只有一組預先商定的參與者可以在彼此之間進行交易(狀態通道)。然後,任何人都可以交易,但也可以被審查(plasma)。最終,我們也解決了審查問題(rollup)。

在Rollup之前,我們已經知道如何在所有這些模型上運行智能合約——只是沒有多大意義。谁愿意只在幾個朋友之間運行Uniswap,或者以一種可以被審查一周的方式運行?Rollup承諾提供真實的以太坊風格的L2體驗。

兼容時代

當然,僅僅“承諾”一個真正的以太坊風格的L2體驗並不能真正創建實現。對於Unipig,有史以來第一個L2 AMM,我們必須使用與Rollup爭議合約兼容的自定義代碼重新創建Uniswap,而不是EVM 本身。

由於Uniswap的設計相對簡單,這是可行的,但當基本的Solidity變量不能再使用時,這就不是一個好兆頭了。對於非開發人員;Uniswap 是目前最簡單的DeFi 智能合約之一,這並不意味著Uniswap需要徹底修改才能實現“Rollup兼容”。

到目前為止,以太坊已經超過了退出速度。一個指數級增長的生態系統根本無法圍繞非EVM接口重新構建。因此,L2的責任是除了提供“原始”規模之外,確保L1法院系統與EVM的區別最小。這迫使Rollup同時在兩個方面成為先鋒:

構建可擴展的、生產就緒的Rollup基礎設施。解決久負盛名的EVM-in-EVM問題。

以太坊的圖靈完整性意味著我們知道它可以完成,但在我們的研究過程中,我們了解到,為了在合理的時間框架內將以太坊引入L2,需要犧牲一些東西。

這種犧牲被稱為EVM“兼容性”。

理由很簡單:只要以太坊應用可以被合理地移植到Rollup上運行——不管這是如何在幕後完成的——我們就可以捕獲以太坊的退出速度。

洪水

起初,這種妥協取得了成功。在2020年,我們競相推出OVM,因為用戶紛紛逃離以太坊,轉向其他L1競爭對手,後者在“廉價費用”的幌子下放棄了安全性和價值。

但以太坊的網絡效應產生的退出速度有多種形式,我們的使用量激增突出了L1-以太坊的另一個組件,這是其他L1和L2所缺乏的:基礎設施。在過去的6年裡,以太坊的全球社區讓它從一個簡單的原型,發展到更多:

成千上萬的開發工具已經被深度集成到EVM中。數十億美元的公司已經崛起,只是為了服務和改進節點軟件。以太坊本身變得越來越快。

以太坊的網絡效應浪潮只會越來越大。由於一切都是開源的,人們可能會認為這些巨大的勝利也適用於以太坊的L2。

但並沒有那麼多。

EVM兼容性與EVM等效性並不相同,僅僅滿足於兼容性意味著你不得不修改,甚至完全重新實現以太坊支持基礎設施所依賴的底層代碼。如果L2想要在以太坊的基礎設施網絡效應浪潮中衝浪,它們必須成為EVM的對等物。

隨著Optimistic 以太坊的發展,我們發現越來越多的以太坊工具不斷發現自己無法使用,這是由於我們舊的EVM兼容性設計理念。

我們知道我們可以做得更好。為了真正支持大眾,我們需要的不僅僅是與EVM合約兼容的東西,而是從根本上等同於EVM本身的東西。

EVM等效性是我們如何彌合以太坊L1的基礎設施網絡效應和以太坊L2的執行環境之間的差距。

EVM等效性:搭乘以太坊的採用浪潮

什麼是EVM等效性?

簡而言之:EVM等效性完全符合以太坊黃皮書,即協議的正式定義。根據定義,L1以太坊軟件必須符合該規範。

這意味著——深入到最深處——現有的以太坊堆棧現在也將與L2系統集成。每一個調試器。每一個工具鏈。每個節點的實現。我們相信任何L2提供任何EVM體驗都必須達到這個標準-任何不足都是不可接受的。

為什麼EVM等效性好?

OVM v1引入了一個容器化系統,它位於Geth的EVM之上,有助於避免在L1上冗長地重新實現整個EVM。

這種組合在早期取得了一些勝利,但由於EVM本身不支持容器化,所以它不是免費的。隨著Optimistic 以太坊的發展,不可忽視的等價性的力量不容忽視:

像Solidity、Vyper和Hardhat這樣的項目都在開發他們的OVM版本的開發工具,隨著每一行代碼的改變,採用像Erigon這樣的實驗性實現變得越來越困難。這告訴我們,我們總是需要投入大量的精力來集成未來的客戶端實現。與現有的超優化版本相比,重新實現EVM的某些部分會帶來gas開銷。這讓我們認識到,要實現氣體成本的最小化,就必須採用EVM等效設計理念。

現在是時候尋求一種更好的方法了。

我們如何實現EVM等效?

值得慶幸的是,我們找到了一種比在EVM中冗長地重新實現EVM更好的方法。

分離區塊生成和執行

在實踐中,我們確實需要對以太坊L2-ify做一些改變:特別是區塊是如何生成的。在L1上,節點使用工作證明共識機制來確定區塊;在L2上,批量交易通過發送到“父鏈”(L1以太坊)的批量應用。如果一個L2使用它自己的工作證明,那麼它將是一個L1!所以在這個層面上,“等效性”根本就是無稽之談。

區塊鏈模塊化的一個核心模式是將共識與執行分離——也就是說,使用不同的流程來確定和執行下一個區塊。我們可以藉用這個模式在L2中使用。基本上,我們只需要定義一個函數,它接受L1區塊,對它們進行Rollup處理,然後輸出L2區塊——格式與L1區塊完全相同。從那以後,L2的執行可以被定義為等效於L1。

 

ETH2合併API

那麼,現有L1客戶端實現之間的共識/執行模塊化的現狀如何?它即將在所有以太坊實現中標準化。

   

事實證明,ETH2合併需要與EVM等效性Rollup完全相同的抽象:信標鏈提供與L1對Rollup完全相同的“父鏈”角色。這使得在L2中使用L1客戶端變得非常簡單。

 

執行標準

好了,我們已經討論了為什麼等效性為強大的、模塊化的抽象和非常簡單的客戶端實現打開了大門。但是我們如何在鏈上執行這個呢?首先,模塊化的強大之處在於它的靈活性——只要解決方案與EVM等效,我們就可以使用它。這意味著欺詐證明的改進,甚至是EVM等效性的零知識證明(當它們變得可行時),都可以被簡單地放入現有的鏈下堆棧中。

不過,在短期內,我們今天需要一些可行的措施——我們已經發現了這一點。一種解決方案是在Solidity中實現一個完美的EVM等效實現,但EVM是一個包含許多VM指令的複雜工具,因此這是一項重要的任務。此外,未來對EVM的更新也必須在Solidity中重新實現。

我們的解決方案:不是在Solidity中實現EVM,而是用更小、更簡單的指令集實現一個VM,並在欺詐證明期間在這個VM中運行EVM。為此,我們必須簡單地編譯一個現有的EVM解釋器,例如geth,以便在更簡單的VM中運行。

我們允許Geth本身在一個有爭議的環境中運行。由於Geth是EVM等效的,所以環境也是如此。這使我們能夠繞過在鏈上重新實現EVM,並使系統能夠適應未來對EVM的升級。

以太坊的未來

如果以太坊要實現其以Rollup為中心的未來,那麼Rollup必須以以太坊為中心。

這就是等效性所提供的。

欺詐證明

這種模塊化的、以Geth為中心的設計不僅僅是一個可供我們使用的優雅的實現——它是向防欺詐基礎設施商品化邁出的一大步。今天,安全地設計和啟動一個Rollup需要對L2爭議有深入的了解,以及它們如何與節點軟件一起工作。這嚴重限制了創新——想像這樣一個世界,每個web開發人員都必須是IP網絡、系統管理和微芯片製造方面的專家。

未來的Rollup將非常簡單,不需要L2專家來部署。這意味著L2將不再在如何或是否提供安全性上競爭,而是在提供安全性的內容上競爭。這包括在:

性能、穩定性和正常運行時間網絡效應、生態系統專業化和社區MEV預防和測序工具

總之,這意味著EVM等效性的Rollup在去中心化上競爭。這是整個生態系統民主化的巨大勝利,也是使我們整個行業更加脆弱和抵制審查的重要一步。

這也意味著我們的團隊最終可以專注於我們的核心競爭力——最重要的部分——打造世界上最快、最可靠、最安全的L2 Geth。

以太坊兼容性的枷鎖已經解除。

#ETHTheStandard

EVM等效性性的威力歸結於標準化。

在多鏈的世界中,“一次編寫,隨處部署”變得至關重要。

擁有許多“兼容”鏈(每個鏈都略有不同)會導致碎片化:從需要單個EVM專家團隊處理單個代碼庫,到需要為每個鏈的每個代碼庫組建EVM專家團隊。

Vitalik在首次公開EVM時就將其與Javascript進行了比較,這種類比在本文中得到了很好的體現。在互聯網的早期,瀏覽器之間的不兼容性困擾著網絡開發,並導致開發者和生態系統分裂。

Web3完全是關於協調和開源標準的,而等效性為即將成為標準的EVM提供了一條路徑,以避免重複過去的錯誤。

即使隨著這個標準的發展,我們對欺詐證明的方法意味著L2可以毫不費力地協同發展。 L1和L2手牽手一起前進。

這一好處是雙向的——幾乎所有以太坊EIP都可以在L2上被採用,並且Rollup成為一個激動人心的創新實時測試環境。想像一下,一個位於激勵測試網和主網之間的Rollup,驗證新的交易類型、預編譯和EOF,在它們升級到L1之前測試不可預見的結果。

DeFi最大的障礙之一是,測試所有你想要的,無法取代DeFi 的現場環境。你不能在測試網絡上“重新創建”DeFi,所以當你想測試更改時,它總是“在產品中測試”。

EVM等效性允許我們在實時環境中測試EIP,並對整個以太坊環境做出更安全、長期的改進,而不需要“交叉硬分叉”。

L2早就承諾了一個多鏈以太坊的未來,充滿活力的城市深入到這個新網絡空間的前沿。雖然我們可以期待這些鍊是多樣化和豐富的,但EVM 等效性引入了一種與以太坊的新連接——不僅僅是作為結算層,而是在其組成的最深層。