時(shí)間:2021-12-17|瀏覽:343
我們宣布了Optimistic 以太坊歷史上最重要的升級(jí)。最近,我們將Optimistic Kovan遷移到真正的一鍵式部署,并增加了穩(wěn)定性,主網(wǎng)在不到三周的時(shí)間內(nèi)就會(huì)跟上。
這篇文章是關(guān)于我們相信EVM 等效性——完全符合以太坊虛擬機(jī)規(guī)范——將成為L(zhǎng)2領(lǐng)域的下一個(gè)通用標(biāo)準(zhǔn)。
Optimistic 爭(zhēng)議協(xié)議簡(jiǎn)史
首先,讓我們回顧一下我們已經(jīng)采取的當(dāng)代Rollup路徑。
Rollup的黎明
Optimistic 的L2都是關(guān)于爭(zhēng)議的。如果你認(rèn)為以太坊是一個(gè)全能的、去中心化的法庭,那么L2可擴(kuò)展性的核心觀點(diǎn)是:“不要去法庭兌現(xiàn)支票——如果支票被退回,就去唄?!?br>
實(shí)際上,過(guò)去6年的可擴(kuò)展性研究可以歸結(jié)為一件事:什么樣的“拒付支票”可以被強(qiáng)制執(zhí)行。首先,只有一組預(yù)先商定的參與者可以在彼此之間進(jìn)行交易(狀態(tài)通道)。然后,任何人都可以交易,但也可以被審查(plasma)。最終,我們也解決了審查問(wèn)題(rollup)。
在Rollup之前,我們已經(jīng)知道如何在所有這些模型上運(yùn)行智能合約——只是沒(méi)有多大意義。誰(shuí)愿意只在幾個(gè)朋友之間運(yùn)行Uniswap,或者以一種可以被審查一周的方式運(yùn)行?Rollup承諾提供真實(shí)的以太坊風(fēng)格的L2體驗(yàn)。
兼容時(shí)代
當(dāng)然,僅僅“承諾”一個(gè)真正的以太坊風(fēng)格的L2體驗(yàn)并不能真正創(chuàng)建實(shí)現(xiàn)。對(duì)于Unipig,有史以來(lái)第一個(gè)L2 AMM,我們必須使用與Rollup爭(zhēng)議合約兼容的自定義代碼重新創(chuàng)建 Uniswap,而不是 EVM 本身。
由于Uniswap的設(shè)計(jì)相對(duì)簡(jiǎn)單,這是可行的,但當(dāng)基本的Solidity變量不能再使用時(shí),這就不是一個(gè)好兆頭了。對(duì)于非開發(fā)人員;Uniswap 是目前最簡(jiǎn)單的 DeFi 智能合約之一,這并不意味著Uniswap需要徹底修改才能實(shí)現(xiàn)“Rollup兼容”。
到目前為止,以太坊已經(jīng)超過(guò)了退出速度。一個(gè)指數(shù)級(jí)增長(zhǎng)的生態(tài)系統(tǒng)根本無(wú)法圍繞非EVM接口重新構(gòu)建。因此,L2的責(zé)任是除了提供“原始”規(guī)模之外,確保L1法院系統(tǒng)與EVM的區(qū)別最小。這迫使Rollup同時(shí)在兩個(gè)方面成為先鋒:
構(gòu)建可擴(kuò)展的、生產(chǎn)就緒的Rollup基礎(chǔ)設(shè)施。
解決久負(fù)盛名的EVM-in-EVM問(wèn)題。
以太坊的圖靈完整性意味著我們知道它可以完成,但在我們的研究過(guò)程中,我們了解到,為了在合理的時(shí)間框架內(nèi)將以太坊引入L2,需要犧牲一些東西。
這種犧牲被稱為EVM“兼容性”。
理由很簡(jiǎn)單:只要以太坊應(yīng)用可以被合理地移植到Rollup上運(yùn)行——不管這是如何在幕后完成的——我們就可以捕獲以太坊的退出速度。
洪水
起初,這種妥協(xié)取得了成功。在2020年,我們競(jìng)相推出OVM,因?yàn)橛脩艏娂娞与x以太坊,轉(zhuǎn)向其他L1競(jìng)爭(zhēng)對(duì)手,后者在“廉價(jià)費(fèi)用”的幌子下放棄了安全性和價(jià)值。
但以太坊的網(wǎng)絡(luò)效應(yīng)產(chǎn)生的退出速度有多種形式,我們的使用量激增突出了L1-以太坊的另一個(gè)組件,這是其他L1和L2所缺乏的:基礎(chǔ)設(shè)施。在過(guò)去的6年里,以太坊的全球社區(qū)讓它從一個(gè)簡(jiǎn)單的原型,發(fā)展到更多:
成千上萬(wàn)的開發(fā)工具已經(jīng)被深度集成到EVM中。
數(shù)十億美元的公司已經(jīng)崛起,只是為了服務(wù)和改進(jìn)節(jié)點(diǎn)軟件。
以太坊本身變得越來(lái)越快。
以太坊的網(wǎng)絡(luò)效應(yīng)浪潮只會(huì)越來(lái)越大。由于一切都是開源的,人們可能會(huì)認(rèn)為這些巨大的勝利也適用于以太坊的L2。
但并沒(méi)有那么多。
EVM兼容性與EVM等效性并不相同,僅僅滿足于兼容性意味著你不得不修改,甚至完全重新實(shí)現(xiàn)以太坊支持基礎(chǔ)設(shè)施所依賴的底層代碼。如果L2想要在以太坊的基礎(chǔ)設(shè)施網(wǎng)絡(luò)效應(yīng)浪潮中沖浪,它們必須成為EVM的對(duì)等物。
隨著Optimistic 以太坊的發(fā)展,我們發(fā)現(xiàn)越來(lái)越多的以太坊工具不斷發(fā)現(xiàn)自己無(wú)法使用,這是由于我們舊的EVM兼容性設(shè)計(jì)理念。
我們知道我們可以做得更好。為了真正支持大眾,我們需要的不僅僅是與EVM合約兼容的東西,而是從根本上等同于EVM本身的東西。
EVM等效性是我們?nèi)绾螐浐弦蕴籐1的基礎(chǔ)設(shè)施網(wǎng)絡(luò)效應(yīng)和以太坊L2的執(zhí)行環(huán)境之間的差距。
EVM等效性:搭乘以太坊的采用浪潮
什么是EVM等效性?
簡(jiǎn)而言之:EVM等效性完全符合以太坊黃皮書,即協(xié)議的正式定義。根據(jù)定義,L1以太坊軟件必須符合該規(guī)范。
這意味著——深入到最深處——現(xiàn)有的以太坊堆?,F(xiàn)在也將與L2系統(tǒng)集成。每一個(gè)調(diào)試器。每一個(gè)工具鏈。每個(gè)節(jié)點(diǎn)的實(shí)現(xiàn)。我們相信任何L2提供任何EVM體驗(yàn)都必須達(dá)到這個(gè)標(biāo)準(zhǔn)-任何不足都是不可接受的。
為什么EVM等效性好?
OVM v1引入了一個(gè)容器化系統(tǒng),它位于Geth的EVM之上,有助于避免在L1上冗長(zhǎng)地重新實(shí)現(xiàn)整個(gè)EVM。
這種組合在早期取得了一些勝利,但由于EVM本身不支持容器化,所以它不是免費(fèi)的。隨著Optimistic 以太坊的發(fā)展,不可忽視的等價(jià)性的力量不容忽視:
像Solidity、Vyper和Hardhat這樣的項(xiàng)目都在開發(fā)他們的OVM版本的開發(fā)工具,
隨著每一行代碼的改變,采用像Erigon這樣的實(shí)驗(yàn)性實(shí)現(xiàn)變得越來(lái)越困難。這告訴我們,我們總是需要投入大量的精力來(lái)集成未來(lái)的客戶端實(shí)現(xiàn)。
與現(xiàn)有的超優(yōu)化版本相比,重新實(shí)現(xiàn)EVM的某些部分會(huì)帶來(lái)gas開銷。這讓我們認(rèn)識(shí)到,要實(shí)現(xiàn)氣體成本的最小化,就必須采用EVM等效設(shè)計(jì)理念。
現(xiàn)在是時(shí)候?qū)で笠环N更好的方法了。
我們?nèi)绾螌?shí)現(xiàn)EVM等效?
值得慶幸的是,我們找到了一種比在EVM中冗長(zhǎng)地重新實(shí)現(xiàn)EVM更好的方法。
分離區(qū)塊生成和執(zhí)行
在實(shí)踐中,我們確實(shí)需要對(duì)以太坊L2-ify做一些改變:特別是區(qū)塊是如何生成的。在L1上,節(jié)點(diǎn)使用工作證明共識(shí)機(jī)制來(lái)確定區(qū)塊;在L2上,批量交易通過(guò)發(fā)送到“父鏈”(L1以太坊)的批量應(yīng)用。如果一個(gè)L2使用它自己的工作證明,那么它將是一個(gè)L1!所以在這個(gè)層面上,“等效性”根本就是無(wú)稽之談。
區(qū)塊鏈模塊化的一個(gè)核心模式是將共識(shí)與執(zhí)行分離——也就是說(shuō),使用不同的流程來(lái)確定和執(zhí)行下一個(gè)區(qū)塊。我們可以借用這個(gè)模式在L2中使用。基本上,我們只需要定義一個(gè)函數(shù),它接受L1區(qū)塊,對(duì)它們進(jìn)行Rollup處理,然后輸出L2區(qū)塊——格式與L1區(qū)塊完全相同。從那以后,L2的執(zhí)行可以被定義為等效于L1。