原文標題:《了解什么是EVM等效性,它如何成為Layer2的通用標準》
原文來源:Optimism PBC
上個月,我們宣布了 Optimistic Ethereum 歷史上最重要的技術升級。最近,我們將 Optimistic Kovan 遷移到真正的一鍵部署并提高了穩定性,主網的升級將在三周內進行跟進。
但這篇文章不是關于一鍵部署或增量改進,
這是一篇關于我們相信以太坊虛擬機等效性(EVM Equivalence)——與EVM規范完全一致——將成為Layer 2(L2)的下一個通用標準的帖子,
Optimistic糾紛協議(Dispute Protocols)簡史
首先,讓我們回顧一下我們采用的當前一代Rollup的發展路徑,
Rollup黎明時代
Optimistic L2 都是關于“糾紛(disputes)”的,如果你認為以太坊是一個萬能的、去中心化的法庭,那么 L2 可擴展性的核心觀點是:“不要去法庭兌現支票——如果支票退回,才去。”
實際上,過去 6 年的可擴展性研究歸結為一件事:可以執行什么樣的“退回檢查”。起初,只有一組預先商定的各方可以相互交易(狀態通道!),之后,任何人都可以進行交易,但也可能被審查(Plasma!)。最終,我們又解決了審查問題(Rollup!),
在Rollup之前,我們已經知道如何在所有這些模型上運行智能合約——這沒有多大意義,誰想僅僅在幾個朋友之間運行 Uniswap,或者以一種可以被審查長達一周的方式運行?Rollups 承諾了提供真正的媲美以太坊的 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 年,隨著用戶逃離以太坊到其他以“廉價費用”為幌子并放棄安全和價值的Layer 1競爭對手,我們競相推出 OVM。我們在 1 月份啟動了我們的主網,在過去的 10 個月里,我們通過幾百萬筆交易為用戶節省了數億美元費用。
但是以太坊的網路效應產生的逃逸速度有多種形式,我們飆升的使用量突顯了以太坊 L1的另一個其他 L1 和 L2 缺乏的組成部分:基礎設施,在過去的 6 年里,以太坊的全球社區已經將它從一個準系統原型變成了:
- 數以千計的開發工具已深度集成到 EVM 中。
- 價值數十億美元的公司的出現只是為了服務和改進節點軟體。
- 以太坊本身變得越來越快,
以太坊網路效應的浪潮只會越來越大,由于一切都是開源的,人們可能會期望這些巨大的勝利也適用于以太坊 L2,
但沒有那么多,
EVM 兼容性與 EVM 等效性不同,僅僅滿足于兼容性意味著你被迫修改甚至完全重新實現以太坊支持基礎設施也依賴的低級代碼,如果 L2 想要在以太坊的基礎設施網路效應浪潮中沖浪,它們必須實現 EVM 等效性。
隨著 Optimistic Ethereum 的發展,我們發現越來越多的以太坊工具不斷大幅度地發現自己,這是由于我們舊的 EVM 兼容性設計理念。
我們知道我們可以做得更好。為了真正支持大眾用戶,我們需要的東西不僅與 EVM 合約兼容,而且從根本上等同于 EVM 本身。
EVM 等效性是我們彌合以太坊 L1 的基礎設施網路效應和以太坊 L2 的執行環境之間差距的方式。
EVM 等效性:乘著以太坊的采用浪潮
… 什么是 EVM 等價性?
簡而言之:EVM 等效性完全符合以太坊黃皮書,即協議的正式定義,根據定義,L1 以太坊軟體必須符合此規范,
這意味著——深入到最深處——現有的以太坊堆棧現在也將與 L2 系統集成。每個調試器。每個工具鏈,每個節點實現,我們相信,所有提供任何 EVM 體驗的 L2 都必須滿足這一標準——任何缺失都是不可接受的。
… 為什么 EVM 等效性很好?
從第 0 天開始,我們就在 Geth 上構建了我們的軟體,Geth 是以太坊最強大和最受歡迎的客戶端實現——這是通往生產就緒的以太坊 L2 的唯一可行途徑,OVM v1 引入了一個容器化系統,它位于 Geth 的 EVM 之上,有助于避免在 L1 上繁瑣地重新實現整個 EVM,
這個組合贏得了一些早期的勝利,但由于 EVM 本身不支持容器化,所以它不是免費的。即使對于我們專注于 Geth 的團隊來說,這些變化也開始累積起來,隨著Optimistic Ethereum的發展,等效性的驚人力量不可忽視:
- Solidity、Vyper 和 Hardhat 等項目無私地致力于開發 OVM 版本的開發工具,但我們冒著將這些已經資源受限的團隊分散的風險,這告訴我們,團隊總是需要投入人力來維護非等效的代碼庫。
- 隨著每一行代碼的改變,采用像 Erigon 這樣的實驗性實現變得更加困難,這告訴我們,我們將始終需要致力于整合未來的客戶端實現,
- 與現有的超優化版本相比,重新實現部分 EVM 會引入 gas 成本。這告訴我們,最小化 gas 成本需要等效于 EVM 的設計理念。
是時候尋求更好的方法了。
… 我們如何實現 EVM 等效性?
值得慶幸的是,我們找到了比在 EVM 中繁瑣地重新實現 EVM 更好的方法。這就是你要做的。
分離區塊生成和執行
好的——在實踐中,我們確實必須對L2以太坊 進行一些更改:特別是如何生成區塊。在 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 的升級對系統進行驗證。
我們正在與我們最喜歡的編譯器專家 George Hotz 合作構建第一個 EVM 等效證明系統,目前進展令人興奮——該系統已經可以運行自倫敦硬分叉以來的所有 L1 區塊。通過欺詐證明運行 L1 區塊是一個有趣的、違反直覺的想法 – 但這正是等效性所需要的!
關于這種方法還有很多令人興奮的事情要說,但我們要把剩下的留給以后的帖子!
以太坊的未來
如果以太坊要實現以Rollup為中心的未來,那么Rollup必須成為以以太坊為中心的。
這就是等效性所提供的,
欺詐證據模式已死,欺詐證明模式萬歲。
這種以 geth 為中心的模塊化設計不僅僅是我們使用的優雅實現 – 它是朝著防欺詐基礎設施商品化邁出的一大步。今天,安全地設計和啟動Rollup需要深入了解 L2 糾紛游戲,以及它們如何與節點軟體協同工作,這嚴重限制了創新——想象一個世界,每個 Web 開發人員還必須成為 IP 網路、系統管理和微芯片制造方面的專家。
未來的Rollup將非常簡單,以至于不需要 L2 專家來部署,這意味著 L2 將不再競爭它們如何或是否提供安全性,而是它們提供安全性的內容,這包括競爭:
- 性能、穩定性和正常運行時間
- 網路效應、生態系統專業化和社區
- MEV 預防和交易排序工具
總而言之,這意味著 EVM等效rollup 正在去中心化上展開競爭。這是整個生態系統民主化的巨大勝利,也是使我們整個行業更加反脆弱和抗審查的重要一步,
這也意味著我們的團隊終于可以專注于我們的核心競爭力——最重要的部分——構建世界上前所未有的最快、最可靠、最安全的 L2 Geth。
以太坊兼容性的束縛已經解除,
ETH成為標準
EVM 等效性的力量歸結為標準化。
在多鏈世界中,“一次編寫,隨處部署”變得至關重要。
擁有許多“兼容”的鏈,每條鏈都略有不同,這會導致碎片化:您從需要一個單獨的 EVM 專家團隊處理單個代碼庫,變成每個鏈的每個代碼庫的 EVM 專家團隊,
Vitalik 甚至在他第一次發布 EVM 時就將其與 Javascript 進行了比較,這種類比在這種情況下得到了特別好的體現,在互聯網的早期,Web 瀏覽器之間的不兼容困擾著 Web 開發,并導致開發人員和生態系統碎片化,
Web3 是關于協調和開源標準的,等效性為明顯出現的標準提供了一條途徑——EVM——以避免重復過去的錯誤。
即使這個標準不斷發展,我們的欺詐證明方法也意味著 L2 可以毫不費力地協同發展,L1 和 L2 手拉手一起向前移動,
這種好處是雙向的——幾乎所有的以太坊 EIP 都可以在 L2 上采用,并且Rollup成為一個令人興奮的創新實時測試環境。想象一下,一個位于激勵測試網和主網之間的Rollup,在外部證明新的交易類型、預編譯和 EOF,在它們升級到 L1 之前測試不可預見的后果,
DeFi 的最大障礙之一是,隨心所欲地測試,無法取代 DeFi 的現場環境。您無法在測試網上“重新創建”DeFi,因此當您想測試更改時,總是“在現實產品中測試”,
EVM 等效性允許我們在實時環境中測試 EIP,并對整體以太坊環境進行更安全、長期的改進,而無需“交叉硬分叉”,
一路下來都是以太坊
我們最近啟動了第一個追溯公共物品資助的實驗,100 萬美元的協議收入將很快獎勵給有益于以太坊的公共產品!有些人問我們為什么這筆錢會流向整個以太坊,而不僅僅是它來自的 Optimistic Ethereum 生態系統,
希望通過對 EVM 等效性的新理解,您可以明白原因:我們是同一個生態系統,
layer 2長期承諾一個多鏈以太坊的未來,充滿活力地深入這個新網路空間的前沿。雖然我們可以預期這些鏈是多樣化和豐富的,但 EVM 等效性引入了與以太坊的新連接——不僅僅是作為一個結算層,而是在它們組成的最深層次上,
這一路下來都是以太坊,而且永遠都是,🚀
我們衷心感謝幫助實現這一目標并幫助我們分享它的令人難以置信的社區成員:Ansgar Dietrichs、David Hoffman、George Hotz、Georgios Konstantopoulos、lightclients、Magmo 團隊、protolambda、ricmoo,和無數其他人:謝謝!!!!