在多鏈世界中,「一次編碼,隨處部署」已經變得極其重要。

撰文:Optimism PBC
編譯:Perry Wang

上個月,我們宣佈了 Optimistic 以太坊史上最重要的一次 升級。最近,我們將 Optimistic Kovan 遷移到真正的一鍵部署,並提高了其穩定性,主網將在不到三週後跟進登場。

但這篇文章不是介紹一鍵部署或增量改進。我們在這篇文章表達的主旨是,我們相信 EVM 等效(EVM Equivalence,即完全符合以太坊合約虛擬機 EVM 的規範),將成爲 L2 下一個通用標準。

Optimistic 爭議解決協議之歷史

首先,一起回顧一下爲前一代 Rollups 解決方案所走過的路徑。

Rollups 的黎明

採取 Optimistic Rollups 的 L2 解決方案的核心都是關於解決爭議。如果把以太坊想象成一個萬能的、去中心化的法庭,那麼 L2 擴容解決方案的核心觀點是:「不要每次都去法庭兌現支票——只有支票跳票時纔去。」

實際上,過去 6 年的擴容性研究可以歸結爲一件事:應該對怎樣的「跳票支票」予以強制執行。

起初的解決方案是隻有一組預先商定的各方可以相互交易(狀態通道!)。然後變成任何人都可以進行交易,但也可能被審查(plasma!)。最終,我們解決了審查問題(Rollups!)。

Optimism:爲什麼 EVM 等效必須成爲 L2 通用標準?

在 Rollups 擴容解決方案之前,我們已經 知道 如何在所有這些模型上運行智能合約——只是沒有多大意義。誰想在幾個朋友之間運行 Uniswap,或者以一種需要被審查一週的方式運行? Rollups 承諾能提供真正的以太坊風格的 L2 體驗。

兼容時代

當然,僅僅「承諾」真正的以太坊風格的 L2 體驗並不能真正創造出廣泛的部署。對於 Unipig (第一個 L2 AMM),我們必須使用與 Rollup 爭議合約兼容的自定義代碼重新創建 Uniswap,而不是 EVM 本身。

由於 Uniswap 的設計相對簡單,這是可行的,但是當像 Solidity 變量這樣基本的東西不能再使用時,這可不是一個好兆頭。 對於非開發人員而言,其中的難度過高;Uniswap 已經是目前最簡單的 DeFi 智能合約之一,即使 Uniswap 也需要進行大修才能開箱即用的「兼容 Rollup」,這也不是好兆頭!

到目前爲止,以太坊的發展速度已經遠遠超過了逃逸速度。一個呈指數級增長的生態系統根本無法圍繞非 EVM 接口重新構建。因此,除了提供「原始級」擴容之外,L2 有責任確保 L1 法庭系統與 EVM 保持最小差異。這迫使 Rollups 解決方案需要同時在兩個方面開創先河:

  • 構建一個可擴容、 已準備好投入生產的 rollup 基礎設施。
    *解決 長期存在的、 名聲不佳的在「 EVM 中重新部署 EVM」(EVM-in-EVM) 的尷尬問題。

以太坊的 圖靈完備性 意味着我們知道它可以實現,但在研究過程中我們瞭解到,需要犧牲一些東西才能在合理的時間範圍內將以太坊應用能移植到 L2 領域。

這種犧牲被稱爲 EVM 「兼容性」。

論點很簡單:只要以太坊應用可以合理地移植到 rollup 解決方案上運行,不管在幕後這是如何完成的,我們就可以捕捉到以太坊的逃逸速度。

Optimism:爲什麼 EVM 等效必須成爲 L2 通用標準?「這是兼容性?」

大洪水

最初,這種妥協得到了回報。2020 年,我們推出 OVM,因爲用戶逃離以太坊,轉移到其他以「廉價費用」爲幌子、放棄安全性和價值的底層公鏈(L1)競爭對手。我們在 1 月份啓動了 主網,在過去的 10 個月裏,我們通過幾百萬筆交易爲用戶節省了數億美元。

但是以太坊網絡效應產生的逃逸速度存在多種形式,不過我們的使用量飆升突顯了其他的 L1 和 L2 與以太坊相比,缺乏一個核心組件:基礎設施。在過去的 6 年裏,以太坊的全球社區已經將它從一個準系統原型,變成了非常強大的基礎設施:

  • 數以千計的開發工具已深度集成到 EVM 中。
  • 單純服務和改進節點軟件領域,已經出現價值數十億美元的公司。
  • 以太坊本身變得 越來越快

以太坊網絡效應的浪潮只會越來越大。由於一切都是開源的,人們可能會期望以太坊 L2 也能同樣應用上述的巨大成果。
但迄今收效甚微。

EVM 兼容性與 EVM 等效性不同,僅僅滿足於兼容性,意味着你被迫修改、甚至完全重新實現較底層代碼,以太坊支持基礎設施也依賴這些代碼。如果 L2 解決方案想要充分利用以太坊基礎設施的網絡效應,它們必須成爲 EVM 。

隨着 Optimistic 以太坊的發展壯大,我們不斷髮現越來越多的以太坊工具無法使用,主要原因是我們舊的 EVM 兼容性設計理念。
我們知道我們還有很多提升空間。爲了真正支持大衆的使用,我們需要不僅與 EVM 合約兼容,而且從根本上等同於 EVM 本身的東西。

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

EVM 等效性:乘着以太坊被廣泛採用的東風

Optimism:爲什麼 EVM 等效必須成爲 L2 通用標準?

什麼是 EVM 等效性?

簡單說: EVM 等效性完全符合 以太坊黃皮書,後者是對該協議的正式定義。根據定義,L1 以太坊軟件必須符合這一規範。
這意味着—從最根本上講,現有的以太坊堆棧現在也將與 L2 系統集成——每個 debugger 。每個工具鏈。每個節點實現。我們相信,任何提供 EVM 體驗的 L2 都必須滿足這一標準——任何不足都是不可接受的。

爲什麼 EVM 等效性是個好方案?

從第 0 天起,我們就在 Geth (以太坊最強大和最受歡迎的部署)上構建了我們的軟件——這是通往生產就緒的以太坊 L2 解決方案的唯一可行途徑。 OVM v1 引入了一個容器化系統,位於 Geth 的 EVM 之上,有助於避免在 L1 上繁瑣地重新實現整個 EVM。

這一組合在早期取得一定程度的成功,但由於 EVM 本身不支持容器化,所以它不是免費的。即使對於我們專注於 Geth 的團隊,這些變化也開始累積。隨着 Optimistic 以太坊的發展壯大, 等效性具備令人難以置信的力量:

  • Solidity、Vyper 和 Hardhat 等項目無私地致力於開發其 OVM 版本的開發工具,但我們製造出的風險是:讓這些本身資源已經很有限的團隊進一步分散資源。這教會我們,各家團隊總是需要投入人力來維護非等效的代碼庫。
  • 隨着每一行代碼的改變,採用像 Erigon 這樣的實驗性部署變得更加困難。 這教會我們,我們將始終需要致力於整合未來的客戶部署。
  • 與現有的超優化版本相比,重新實現部分 EVM 會製造出 gas 開銷。這教會我們,要實現 gas 成本最小化,需要 EVM 等效設計理念。

是時候尋求更好的解決方法了,即使解決方案可能有一些乏味。

如何實現 EVM 等效性?

值得慶幸的是,我們找到了更好的方法,不用在 EVM 中繁瑣地重新部署 EVM。以下步驟就是你要做的。

實現區塊生產和執行的分離

在實踐中,我們確實必須對以太坊的 L2 進行一些更改:特別是如何生成區塊。在 L1 上,節點使用工作量證明(PoW)共識機制來確定區塊;在 L2 上,通過發送分批交易到「父鏈」(L1 以太坊)實現批量交易。如果 L2 使用自己的 PoW 共識,它將是 L1! 所以「等效性」在這個層面上基本上是荒謬的。

區塊鏈模塊化的一個核心特徵是將共識與執行分離——也就是說,確定和執行下一個區塊分別通過不同的過程完成。我們可以借用這個模式,在 L2 中加以使用。簡單說,我們只是定義了一個函數,它接收 L1 區塊,處理它們以進行 rollup 交易,並以與 L1 區塊完全相同的格式輸出 L2 區塊。因此,L2 執行可以定義爲等效於 L1。

Optimism:爲什麼 EVM 等效必須成爲 L2 通用標準?

以太坊 2.0 合併 API

現有 L1 客戶端部署中的共識 / 執行模塊化的狀態如何? 嗯:它將在所有以太坊部署方案中實現標準化。

Optimism:爲什麼 EVM 等效必須成爲 L2 通用標準?

事實證明,以太坊 2.0 合併 需要與 EVM 等效 Rollup 完全相同的抽象:信標鏈等同於 L1 爲 Rollup 所做的完全相同的「父鏈」角色。這將使在 L2 中使用 L1 客戶端變得非常簡單。

Optimism:爲什麼 EVM 等效必須成爲 L2 通用標準?

標準得到執行

好的,我們已經介紹了爲什麼等效性爲強大的模塊化抽象和極其簡單的客戶端部署打開了大門。但我們如何在鏈上實際執行這一操作?

首先,這種模塊化的強大之處在於靈活——只要解決方案與 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 區塊,是一個有趣的、違反直覺的想法——但這正是等效性所需要的!

哇——關於這種方法還有很多令人興奮的事情值得說,但我們必須把餘下內容留給以後的帖子!

以太坊的未來

如果以太坊要實現以 Rollups 爲中心的 未來,Rollups 必須成爲以以太坊爲中心。

等效性正是解決這一問題。

防欺詐證據已死。防欺詐證明安息吧

這種以 Geth 爲中心的模塊化設計,不僅僅是我們使用的優雅部署,它是朝着防欺詐基礎設施商品化邁出的一大步。今天,安全地設計和啓動 rollup 需要對 L2 爭議解決機制有着深入瞭解 ,以及它們如何與節點軟件協同工作。這嚴重限制了創新——想象一下,在這個世界中,每個 Web 開發者還必須是 IP 網絡、系統管理和微芯片製造方面的專家。

未來的 Rollups 將非常簡單,簡單到不需要專門的 L2 專家來部署。這意味着 L2 將不再在如何或是否提供安全性方面展開競爭,而是競爭其提供安全性的內容。這包括在以下方面展開競爭:

  • 性能、穩定性和正常運行時間
  • 網絡效應、生態系統專業化和社區
  • 預防礦工可提取價值(MEV)以及排序的工具

總而言之,這意味着與 EVM 等效的 rollup 正在去中心化程度上展開競爭。這是整個生態系統大衆化道路上的巨大勝利,也是讓我們整個行業在消除脆弱和審查方面取得的重要一步。

這也意味着我們團隊終於可以專注於自己的核心能力(最重要的部分):構建世界上最快、最可靠、最安全的 L2 Geth。

以太坊兼容性的束縛已經解除。

#ETHTheStandard

EVM 等效性的巨大力量可以歸結爲標準化。

在多鏈世界中,「一次編碼,隨處部署」變得至關重要。

擁有許多「兼容」鏈,其中每條鏈都略有不同,這會導致碎片化:從需要一個 EVM 專家團隊處理單個代碼庫,變成一個大型 EVM 專家團隊處理每條鏈的每個代碼庫。

以太坊聯合創始人 Vitalik 甚至在他首次發佈 EVM 時就將其與 Javascript 進行了 比較,當前這種情況下,正是這種類比特別好的體現。在互聯網早期,網絡瀏覽器(IE 等)之間的不兼容困擾着網絡開發工作,導致開發者和生態系統陷入碎片化。

Web3 的核心是關於協調和開源標準,而等效性爲明顯發展爲標準的 EVM 提供了一條發展途徑,以避免重複過去的錯誤。

即使這個標準不斷髮展演變,我們的防欺詐證明方法,也意味着 L2 可以毫不費力地協同發展。L1 和 L2 手拉手一起前進。

這種是雙向收益——幾乎所有的以太坊 EIP 都可以在 L2 上採用,並且 rollup 成爲一個令人興奮的創新實時測試環境。想象一下,一個位於激勵測試網和主網之間的 rollup 項目,另闢蹊徑證明新的交易類型、預編譯和 EOF,在它們順利升級到 L1 之前測試不可預見的後果。

DeFi 的最大障礙之一是:無法隨心所欲地測試,因爲沒有可以取代 DeFi 的現場環境。無法在測試網上「重新創建」DeFi,因此當想測試更改時,總是「在生產中測試」。

EVM 等效性允許我們在實時環境中測試 EIP,並對以太坊整體環境進行更安全、長期的改進,而無需進行「令人心驚膽戰的硬分叉」。

以太坊夯實走向未來

我們最近 推出 了第一個追溯公共產品資助的實驗。100 萬美元的協議收入,將很快獎勵給有益於以太坊的公共產品!有些人問我們,爲什麼這筆錢會流向整個以太坊,而不僅僅是侷限於 Optimistic 以太坊生態系統。

希望通過對 EVM 等效性的新理解,您可以明白其中的道理:我們是同一個生態系統。

L2 長期承諾推動以太坊的多鏈未來,充滿活力的項目深入到這個新網絡空間的前沿。我們可以預期這些鏈會是多元化、數量豐富,但跟隨 EVM 等效性誕生了與以太坊的新連接接口——不僅作爲結算層,而且在其構成的最底層。

以太坊會一路夯實,而且一直都是。

來源鏈接:medium.com