介绍EVM等价性

本文深入探讨了以太坊的EVM等价性对二层协议 (L2) 建设的重要性,强调了EVM等价性不仅是当前技术发展的方向,也是未来区块链标准化和多链生态发展的关键。通过回顾优化以太坊的历史,该文展示了如何通过EVM等价性实现更好的开发工具和区块链基础设施,同时确保了以太坊及其二层解决方案之间的互操作性和兼容性。

或者,Ethereum All the Way Down

我们如何学会停止重新实现并爱上以太坊堆栈

上个月,我们宣布了Optimistic Ethereum历史上最重大的升级。最近,我们将Optimistic Kovan迁移到真正的一键部署,并提高了稳定性,主网将在不到三周内跟进。

但这篇文章并不是关于一键或增量改进的。

这篇文章讲述的是我们对EVM等价性的信念——与以太坊虚拟机(Ethereum Virtual Machine)规范的完全一致——将成为L2领域下一个普遍标准。

Optimistic争议协议的简史

首先,让我们回顾一下我们走过的当前一代rollups的路径。

rollups的黎明

Optimistic L2全是关于争议的。如果你把以太坊看作一个无与伦比的去中心化法庭,那么L2可扩展性的核心见解是:“不要去法庭兑现支票——只有当支票跳票时才去。”

实际上,过去6年的可扩展性研究可以归结为一件事:什么样的“跳票支票”可以实施。一开始,只有一组预先达成协议的各方可以彼此交易(状态通道!)。然后,任何人都可以进行交易,但也可以被审查(plasma!)。最终,我们也解决了审查问题(rollups!)。

在rollups之前,我们已经知道 如何在这些模型上运行智能合约——只是这并没有多大意义。谁愿意在一小群朋友之间运行Uniswap,或以一种可能被审查长达一周的方式?rollups承诺提供真正的、以太坊风格的L2体验。

兼容性时代

当然,仅仅“承诺”一个真正的以太坊风格的L2体验并不能实际创建实现。为了实现Unipig,第一个L2 AMM,我们不得不使用自定义代码重新创建Uniswap,使其与rollup争议合约兼容——而不是EVM本身。

由于Uniswap相对简单的设计,这种做法是可行的,但当像Solidity变量这样基本的东西不能再使用时,这就没什么好的预兆。对于非开发者而言;Uniswap是最简单的DeFi智能合约之一,甚至连_Uniswap_都需要进行全面的改造才能“开箱即用”以兼容rollup,真是个坏消息!

到现在为止,以太坊早已超越了逃逸速度(escape velocity)。 一个呈指数级增长的生态系统根本无法围绕一个非EVM接口重新架构。因此,确保L1法院系统与EVM“最小差异化”的责任落在了L2身上,这还需要提供“原始”规模。这迫使rollups在两个方面同时开拓:

  • 建立一个可扩展的、生产就绪的rollup基础设施。
  • 解决长期以来臭名昭著的EVM-in-EVM问题。

以太坊的Turing完备性意味着我们知道这是可以实现的,但在我们研究的过程中,我们了解到_某些东西_需要被牺牲,以便在合理的时间框架内将以太坊引入L2。

这种牺牲将被称为EVM“兼容性”

论点很简单:只要以太坊应用可以合理地迁移到rollup上——无论这在幕后是如何完成的——我们就可以达到以太坊的逃逸速度。

“这算是兼容性吗?”

大洪水

最初,这种妥协是有益的。在2020年,我们忙于推出OVM,用户逃离以太坊,转向其他放弃安全性和价值的Layer1竞争对手,借口是“便宜的费用”。我们在1月推出了主网,在过去的10个月里,我们节省了用户数亿美元的费用,交易达数百万笔。

但以太坊网络效应产生的逃逸速度有很多形式,我们激增的使用量突显了L1-Ethereum的另一部分,其他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构建我们的软件,这是以太坊最强大和最流行的实现——这都是通往一个生产就绪的以太坊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客户端实现中共识/执行模块化的状态是什么呢?好吧:它即将在所有以太坊实现中标准化。

以太坊2.0合并互操作性开发网已经确认。走吧! ![🚀] 事实证明,ETH2合并所需的正是EVM等价rollups所生成的完全相同的抽象:信标链(beacon chain)与rollups的L1充当相同的“父链”角色。这将使得为L2使用L1客户端变得异常简单。

实施标准

好的,因此我们讨论了等价性为什么为强大的模块化抽象开辟了门,且促成了客户实现的简单化。但是,我们如何在链上有效地强制实施呢?其实,模块化的强大在于灵活——只要解决方案是EVM等价的,我们就可以使用。这意味着对欺诈证明的改进,甚至未来当可行的EVM等价零知识证明都可以轻松地融入现有的链下堆栈。

在短期内,我们需要一些今天就可行的东西——而我们找到了。一个解决方案是用Solidity实现一个完美的EVM等价实现,但EVM是一种复杂的生物,具有许多虚拟机指令,这使得这一过程相当庞大。此外,对EVM的未来更新也必须在Solidity中重新实现。

我们的解决方案:与其在Solidity中实现EVM,不如实现一个具有更小、更简单指令集的虚拟机,并在欺诈证明期间在这个虚拟机中运行EVM。为此,我们只需编译一个现有的EVM解释器,例如geth,使其在更简单的虚拟机中运行。

TL;DR: 我们允许_Ether自身_在一个适于争议的环境中运行。由于Geth是EVM等价的,因此这个环境也是等价的。这使我们能够绕过在链上重新实现EVM的过程,并为系统的未来更新做了防护。

我们正在与乔治·霍茨(George Hotz)合作,我们最喜欢的编译器专家,构建第一个EVM等价的证明系统。进展非常令人兴奋——目前,该系统可以运行所有自伦敦硬分叉以来的L1区块。通过欺诈证明运行L1区块是一个有趣且违反直觉的想法——但这正是等价所需的!

哇——关于这种方法还有很多令人期待的事情,但我们将留着下次再谈!

未来的以太坊

如果以太坊要实现其 rollup中心未来 ,那么 rollups必须成为以太坊中心化的。

这就是等价性所能提供的内容。

欺诈证明已经死去,万岁欺诈证明

这种以Geth为中心的模块化设计不仅仅是为了让_我们_使用它——而是朝着欺诈证明基础设施的商品化迈出了一大步。如今,安全设计和推出rollup需要对L2争议游戏及其与节点软件的协同工作有深入的了解。这严重限制了创新——想象一下一个世界,每个网络开发者必须同时是IP网络、系统管理和微芯片制造方面的专家。

未来的rollups将是如此简单,以至于不需要成为L2专家便可以部署。这意味着L2将不再在提供安全性方面竞争怎么做或者是否做,而是竞争提供什么安全性。这包括在以下方面竞争:

  • 性能、稳定性和可靠性
  • 网络效应,生态系统专业化和社区
  • MEV预防和排序工具

总之,这意味着EVM等价的rollups正处于竞争_去中心化_的状态。这是整个生态系统民主化的巨大胜利,也是使我们整个行业更具反脆弱性和抗审查性的重要一步。

这也意味着我们的团队终于可以专注于我们的核心竞争力——最重要的部分——构建世界上最快、最可靠、最安全的L2 Geth。

以太坊兼容性的枷锁已经解除。

#ETHTheStandard

EVM等价性的力量在于标准化。

在一个多链的世界中,“一次编写,处处部署”变得至关重要。

拥有许多“兼容”的链,每一个链的细微差别,都导致了碎片化:你从需要一支以EVM为专长的团队在一个代码库上工作,变成了为每个链的每个代码库需要一支以EVM为专长的团队。

维他利克在他首次发布EVM时就将其与Javascript进行比较即使是在最早,而这个类比在这种背景下尤其明显。在互联网早期,网络浏览器之间的兼容性(看着你,IE)使网络开发受挫,并导致了开发人员和生态系统的碎片化。

Web3的核心是协调和开源标准,而等价性为显然正在形成的标准——EVM——提供了一条避免重蹈过去错误的路径。

即使这个标准不断演变,我们对欺诈证明的处理意味着L2能够轻松膨胀并与其并进。L1和L2手牵手向前发展,步调一致。

这种优势是双向的——当几乎所有以太坊EIP都可以在L2上采用时,rollups将成为一个令人兴奋的新实时测试环境,用于创新。想象一个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,以及无数其他:谢谢你们!!

正如往常——我们正在 招聘 !如果你想在不仅是以太坊的未来上工作,而是在_以太坊的未来_上工作,我们想与你交谈。如果你只想跟随潮流,请加入我们的 discord

  • 原文链接: medium.com/ethereum-opti...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
optimismpbc
optimismpbc
江湖只有他的大名,没有他的介绍。