{"content":{"title":"介绍EVM等价性","body":"# # 或者，Ethereum All the Way Down\r\n我们如何学会停止重新实现并爱上以太坊堆栈\r\n\r\n![](https://img.learnblockchain.cn/2025/03/09/1GXcVh1isrNbb4RDRkyA0LA.gif)\r\n\r\n上个月，我们宣布了[Optimistic Ethereum历史上最重大的升级](https://medium.com/ethereum-optimism/the-future-of-optimistic-ethereum-7f22d987331)。最近，我们将Optimistic Kovan迁移到真正的一键部署，并提高了稳定性，主网将在不到三周内跟进。\r\n\r\n但这篇文章并不是关于一键或增量改进的。\r\n\r\n这篇文章讲述的是我们对**EVM等价性**的信念——**与以太坊虚拟机（Ethereum Virtual Machine）规范的完全一致**——将成为L2领域下一个普遍标准。\r\n\r\n## Optimistic争议协议的简史\r\n\r\n首先，让我们回顾一下我们走过的当前一代rollups的路径。\r\n\r\n### rollups的黎明\r\n\r\nOptimistic L2全是关于争议的。如果你把以太坊看作一个无与伦比的去中心化法庭，那么L2可扩展性的核心见解是：“不要去法庭兑现支票——只有当支票跳票时才去。”\r\n\r\n实际上，过去6年的可扩展性研究可以归结为一件事：什么样的“跳票支票”可以实施。一开始，只有一组预先达成协议的各方可以彼此交易（状态通道！）。然后，任何人都可以进行交易，但也可以被审查（plasma！）。最终，我们也解决了审查问题（rollups！）。\r\n\r\n![](https://img.learnblockchain.cn/2025/03/09/40933999_image.jpg)\r\n\r\n在rollups之前，我们已经[知道](https://l4.ventures/papers/statechannels.pdf) [如何](https://learnblockchain.cn/article/12519)在这些模型上运行智能合约——只是这并没有多大意义。谁愿意在一小群朋友之间运行Uniswap，或以一种可能被审查长达一周的方式？rollups承诺提供真正的、以太坊风格的L2体验。\r\n\r\n### 兼容性时代\r\n\r\n当然，仅仅“承诺”一个真正的以太坊风格的L2体验并不能实际创建实现。为了实现Unipig，第一个L2 AMM，我们不得不使用自定义代码重新创建Uniswap，使其与rollup争议合约兼容——**而不是EVM本身。**\r\n\r\n由于Uniswap相对简单的设计，这种做法是可行的，但当像Solidity变量这样基本的东西不能再使用时，这就没什么好的预兆。对于非开发者而言；Uniswap是最简单的DeFi智能合约之一，甚至连_Uniswap_都需要进行全面的改造才能“开箱即用”以兼容rollup，真是个坏消息！\r\n\r\n到现在为止，_以太坊早已超越了逃逸速度（escape velocity）。_  一个呈指数级增长的生态系统根本无法围绕一个非EVM接口重新架构。因此，确保L1法院系统与EVM“最小差异化”的责任落在了L2身上，这还需要提供“原始”规模。这迫使rollups在两个方面同时开拓：\r\n\r\n- 建立一个可扩展的、生产就绪的rollup基础设施。\r\n- 解决长期以来臭名昭著的EVM-in-EVM问题。\r\n\r\n以太坊的[Turing完备性](https://en.wikipedia.org/wiki/Turing_completeness)意味着我们知道_这是可以实现的_，但在我们研究的过程中，我们了解到_某些东西_需要被牺牲，以便在合理的时间框架内将以太坊引入L2。\r\n\r\n这种牺牲将被称为**EVM“兼容性”**。\r\n\r\n论点很简单：只要以太坊应用可以合理地迁移到rollup上——_无论这在幕后是如何完成的_——我们就可以达到以太坊的逃逸速度。\r\n\r\n![](https://img.learnblockchain.cn/2025/03/09/87564859_image.jpg)\r\n\r\n_“这算是兼容性吗？”_\r\n\r\n### 大洪水\r\n\r\n最初，这种妥协是有益的。在2020年，我们忙于推出OVM，用户逃离以太坊，转向其他放弃安全性和价值的Layer1竞争对手，借口是“便宜的费用”。我们在1月[推出了主网](https://learnblockchain.cn/article/12518)，在过去的10个月里，我们节省了用户数亿美元的费用，交易达数百万笔。\r\n\r\n但以太坊网络效应产生的逃逸速度有很多形式，我们激增的使用量突显了L1-Ethereum的另一部分，其他L1和L2缺乏：**基础设施**。在过去的6年中，以太坊的全球社区将其从一款简单的原型，发展为大幅提升的状态：\r\n\r\n- 成千上万的开发工具被深度集成到EVM中。\r\n- 基于以太坊的亿万美元公司纷纷崛起，旨在服务和改进节点软件。\r\n- 以太坊本身变得[越来越快](https://etherscan.io/chart/gaslimit)。\r\n\r\n以太坊网络效应的浪潮只会越来越大。既然一切都是开源的，人们可能会期望这些巨大的成就也会适用于以太坊L2。\r\n\r\n**但事实并非如此。**\r\n\r\nEVM **兼容性**并不等同于EVM **等价性**，满足于简单的兼容性意味着你被迫修改，甚至完全重新实现依赖于以太坊支持基础设施的低级代码。如果L2想要冲浪于以太坊的基础设施网络效应浪潮之上，它们必须变成**EVM等价的。**\r\n\r\n随着Optimistic Ethereum的增长，我们发现越来越多的以太坊工具由于我们旧的EVM兼容设计而不断陷入无法触及的境地。\r\n\r\n我们知道我们可以做得更好。为了真正支持大众，我们需要一些不仅与EVM合约**兼容**，而是与EVM本身在根本上**等价**的东西。\r\n\r\nEVM等价性是我们弥合以太坊L1的基础设施网络效应与以太坊L2的执行环境之间鸿沟的方式。\r\n\r\n## EVM等价性：驾驭以太坊的采用浪潮\r\n\r\n![](https://img.learnblockchain.cn/2025/03/09/87548547_image.jpg)\r\n\r\n### …什么是EVM等价性？\r\n\r\n简而言之：EVM等价性是完全遵守[以太坊黄皮书](https://ethereum.github.io/yellowpaper/paper.pdf)，这是协议的正式定义。根据定义，L1以太坊软件必须遵守此规范。\r\n\r\n这意味着——深入到底——现有的以太坊堆栈现在将与L2系统集成。每一个调试器。每一个工具链。**每一个节点实现**。我们相信，任何提供EVM体验的L2都必须达到这个标准——低于这个标准是不可接受的。\r\n\r\n### …为什么EVM等价性是好的？\r\n\r\n从第0天起，我们就基于Geth构建我们的软件，这是以太坊最强大和最流行的实现——这都是通往一个生产就绪的以太坊L2的唯一可行路径。OVM v1引入了一个容器化系统，这一系统位于Geth的EVM之上，帮助避免了繁琐的在L1上重新实现整个EVM。\r\n\r\n这个组合虽然在早期取得了一些胜利，但由于EVM并不原生支持容器化，因此这并不是免费的。即使对于我们专注于Geth的团队来说，变化开始积累。随着Optimistic Ethereum的成长，等价性的惊人力量不容忽视：\r\n\r\n- 像Solidity、Vyper和Hardhat等项目在OVM版本的开发工具上无私地工作，但我们冒着分散这些已经资源紧张的团队的风险。这让我们了解到，各团队始终需要分配人力来维护非等价的代码库。\r\n- 每改变一行代码，采用实验性实现（如Erigon）变得更难。这教会我们_我们_始终需要投入人力来整合未来的客户端实现。\r\n- 重新实现EVM的某些部分在与现有的超优化版本相比时导致了gas开销。这教会我们，使gas成本最小化需要一种EVM等价的设计哲学。\r\n\r\n是时候追求一种更好的方法，即便这需要一些单调的工作。\r\n\r\n### …我们如何实现EVM等价性？\r\n\r\n幸运的是，我们找到了比繁琐地在EVM中重新实现EVM更好的方法。做法如下。\r\n\r\n**分离区块生成和执行**\r\n\r\n好的——实际上，我们确实必须对L2化以太坊进行_一些_更改：尤其是如何生成区块。在L1上，节点使用工作量证明共识机制来确定区块；在L2上，一批批交易通过发送到“父链”（L1以太坊）的批次进行应用。如果L2使用自己的工作量证明，那就会成为L1！所以在这一层，“等价性”在根本上是无意义的。\r\n\r\n区块链模块化的一个核心模式是将共识与执行分离——即，对于确定和执行下一个区块有不同的过程。我们可以借用这个模式用于L2。基本上，我们只是定义一个函数，该函数接受L1区块，处理它们以生成rollup交易，然后输出L2区块——**完全与L1区块相同的格式。** 从此之后，L2的执行可以被定义为与L1等价。\r\n\r\n![](https://img.learnblockchain.cn/2025/03/09/47688506_image.jpg)\r\n\r\n**ETH2融合API**\r\n\r\n那么，现有L1客户端实现中共识/执行模块化的状态是什么呢？好吧：**它即将在所有以太坊实现中标准化。**\r\n\r\n以太坊2.0合并互操作性开发网已经确认。走吧！ ![🚀]\r\n事实证明，[ETH2合并](https://www.notion.so/Introducing-EVM-Equivalence-Draft-5d3201318929487eb080734f9af0170d)所需的正是EVM等价rollups所生成的_完全相同的抽象_：信标链（beacon chain）与rollups的L1充当相同的“父链”角色。这将使得为L2使用L1客户端变得异常简单。\r\n\r\n![](https://img.learnblockchain.cn/2025/03/09/115vPK46LbqmQe6LNFEcj4A.png)\r\n\r\n**实施标准**\r\n\r\n好的，因此我们讨论了等价性为什么为强大的模块化抽象开辟了门，且促成了客户实现的简单化。但是，我们如何在链上有效地强制实施呢？其实，模块化的强大在于灵活——只要解决方案是EVM等价的，我们就可以使用。这意味着对欺诈证明的改进，甚至未来当可行的EVM等价零知识证明都可以轻松地融入现有的链下堆栈。\r\n\r\n在短期内，我们需要一些今天就可行的东西——而我们找到了。一个解决方案是用Solidity实现一个完美的EVM等价实现，但EVM是一种复杂的生物，具有许多虚拟机指令，这使得这一过程相当庞大。此外，对EVM的未来更新也必须在Solidity中重新实现。\r\n\r\n我们的解决方案：与其在Solidity中实现EVM，不如实现一个具有[更小、更简单指令集](https://en.wikipedia.org/wiki/Reduced_instruction_set_computer)的虚拟机，并**在欺诈证明期间在这个虚拟机中运行EVM**。为此，我们只需编译一个现有的EVM解释器，例如[geth](https://github.com/ethereum/go-ethereum/blob/633e7ef4781453111c4b29e14a65c5335bb9ecac/core/state_processor.go#L59)，使其在更简单的虚拟机中运行。\r\n\r\n**TL;DR：** 我们允许_Ether自身_在一个适于争议的环境中运行。由于Geth是EVM等价的，因此这个环境也是等价的。这使我们能够绕过在链上重新实现EVM的过程，并为系统的未来更新做了防护。\r\n\r\n我们正在与乔治·霍茨（George Hotz）合作，[我们最喜欢的编译器专家](https://twitter.com/jinglejamOP/status/1310718738417811459?s=20)，构建[第一个EVM等价的证明系统](https://github.com/geohot/cannon)。进展非常令人兴奋——目前，该系统[可以运行所有自伦敦硬分叉以来的L1区块](https://github.com/geohot/cannon/commit/00f026451ea5a98ea90278cb201bcfb85131851c)。通过欺诈证明运行L1区块是一个有趣且违反直觉的想法——但这正是等价所需的！\r\n\r\n哇——关于这种方法还有很多令人期待的事情，但我们将留着下次再谈！\r\n\r\n## 未来的以太坊\r\n\r\n> _如果以太坊要实现其_ [_rollup中心未来_](https://ethereum-magicians.org/t/a-rollup-centric-ethereum-roadmap/4698) _，那么_ **_rollups必须成为以太坊中心化的。_**\r\n\r\n这就是等价性所能提供的内容。\r\n\r\n### 欺诈证明已经死去，万岁欺诈证明\r\n\r\n这种以Geth为中心的模块化设计不仅仅是为了让_我们_使用它——而是朝着**欺诈证明基础设施的商品化迈出了一大步**。如今，安全设计和推出rollup需要对L2争议游戏及其与节点软件的协同工作有深入的了解。这严重限制了创新——想象一下一个世界，每个网络开发者必须同时是IP网络、系统管理和微芯片制造方面的专家。\r\n\r\n未来的rollups将是如此简单，以至于不需要成为L2专家便可以部署。这意味着L2将不再在提供安全性方面竞争_怎么做或者是否做_，而是竞争_提供什么安全性_。这包括在以下方面竞争：\r\n\r\n- 性能、稳定性和可靠性\r\n- 网络效应，生态系统专业化和社区\r\n- MEV预防和排序工具\r\n\r\n总之，这意味着EVM等价的rollups正处于竞争_去中心化_的状态。这是整个生态系统民主化的巨大胜利，也是使我们整个行业更具反脆弱性和抗审查性的重要一步。\r\n\r\n这也意味着我们的团队终于可以专注于我们的核心竞争力——最重要的部分——构建世界上最快、最可靠、最安全的L2 Geth。\r\n\r\n以太坊兼容性的枷锁已经解除。\r\n\r\n### \\#ETHTheStandard\r\n\r\nEVM等价性的力量在于标准化。\r\n\r\n**在一个多链的世界中，“一次编写，处处部署”变得至关重要。**\r\n\r\n拥有许多“兼容”的链，每一个链的细微差别，都导致了碎片化：你从需要一支以EVM为专长的团队在一个代码库上工作，变成了为每个链的每个代码库需要一支以EVM为专长的团队。\r\n\r\n维他利克在他首次发布EVM时就将其与Javascript进行比较[即使是在最早](https://youtu.be/l9dpjN3Mwps?t=840)，而这个类比在这种背景下尤其明显。在互联网早期，网络浏览器之间的兼容性（_看着你，IE_）使网络开发受挫，并导致了开发人员和生态系统的碎片化。\r\n\r\nWeb3的核心是协调和开源标准，而等价性为显然正在形成的标准——EVM——提供了一条避免重蹈过去错误的路径。\r\n\r\n即使这个标准不断演变，我们对欺诈证明的处理意味着L2能够轻松膨胀并与其并进。L1和L2手牵手向前发展，步调一致。\r\n\r\n这种优势是双向的——当几乎所有以太坊EIP都可以在L2上采用时，rollups将成为一个令人兴奋的新_实时测试环境_，用于创新。想象一个rollup，可以在激励性测试网和主网之间，证明新交易类型、预编译以及[EOF](https://eips.ethereum.org/EIPS/eip-3540)的实际表现，在实际环境中测试不确定后果，然后再毕业到L1。\r\n\r\nDeFi的一个最大难题是，无论你怎么测试，都无法替代DeFi的实时环境。你无法在测试网上“重建”DeFi，因此当你想要测试更改时，总是处于“在生产环境中测试”。\r\n\r\nEVM等价性使我们能够在实时环境中测试EIP，以及在不经过“十指交叉硬分叉”方式的情况下，对整体以太坊环境进行更安全、长期的改进。\r\n\r\n### 以太坊全程下行\r\n\r\n我们[最近推出了](https://medium.com/ethereum-optimism/retropgf-experiment-1-1-million-dollars-for-public-goods-f7e455cbdca)我们的第一次追溯性公共物品资助实验。100万美元的协议收益将很快会颁发给有益于以太坊的公共物品！有些人问我们，为什么这笔钱会分配给整个以太坊，而不仅仅是它所来源的Optimistic Ethereum生态系统。\r\n\r\n希望，随着对EVM等价性理解的加深，你可以明白原因：_我们是同一个生态系统。_\r\n\r\nLayer 2曾一再承诺多链以太坊的未来，生机勃勃的城市深入新网络空间的边界。虽然我们可以期待这些链的多样性与丰富性，EVM等价性引入了与以太坊全新的连接——不仅仅作为结算层，更在其构成最深层次。\r\n\r\n这就是以太坊的全貌，并将始终如此。🚀\r\n\r\n![](https://miro.medium.com/v2/resize:fit:500/1*-eeeCk7PcZYzF7s1brO4Cw.gif)\r\n\r\n在最后留个彩蛋！😉\r\n\r\n我们要由衷感谢为实现这一目标并帮助我们分享的人们：谢谢Ansgar Dietrichs，David Hoffman，George Hotz，Georgios Konstantopoulos，lightclients，Magmo团队，protolambda，ricmoo，以及无数其他：**谢谢你们！！**\r\n\r\n**正如往常——我们正在** [**招聘**](http://jobs.optimism.io/) **！如果你想在不仅是以太坊的未来上工作，而是在_以太坊的未来_上工作，我们想与你交谈。如果你只想跟随潮流，请加入我们的** [**discord**](https://discord.optimism.io/) **！**\r\n\r\n>- 原文链接： [medium.com/ethereum-opti...](https://medium.com/ethereum-optimism/introducing-evm-equivalence-5c2021deb306)\r\n>- 登链社区 AI 助手，为大家转译优秀英文文章，如有翻译不通的地方，还请包涵～"},"author":{"user":"https://learnblockchain.cn/people/26097","address":null},"history":null,"timestamp":1741524479,"version":1}