# 介绍EVM的等效性

By [jianan](https://paragraph.com/@jianan) · 2022-07-04

---

或者，以太坊一直是以太坊：我们如何才能学会停止重复造轮子并拥抱以太坊堆栈。

![](https://storage.googleapis.com/papyrus_images/430161071bd3e4b08866237db172db9cfd54691707cd9c26750fe8bff6d1aa34.gif)

上个月，我们宣布了Optimistic 以太坊历史上最重要的升级。最近，我们将Optimistic Kovan迁移到真正的一键式部署，并提高了网络的稳定性，主网将在不到三周的时间内跟上。

这篇文章是关于我们相信EVM 等效性的（完全符合以太坊虚拟机规范）——将成为L2领域的下一个通用标准。

Optimistic 协议的争议简史
------------------

首先，让我们回顾一下我们目前已经采用的Rollup路径。

关于Rollup的黎明
-----------

Optimistic 的L2都是关于争议的。如果你认为以太坊是一个全能的、去中心化的法庭，那么L2可扩展性的核心观点是:“不要去法庭兑现支票——如果支票被退回，那就去吧。”

实际上，过去6年的在以太坊可扩展性的研究可以归结为一件事：什么样的“拒付支票”可以被强制执行。首先，只有一组预先商定的参与者可以在彼此之间进行交易(状态通道)。接着，任何人都可以交易，但也可以被审查(Plasma)。最后，我们也解决了审查问题(Rollup)。

![](https://storage.googleapis.com/papyrus_images/547fe3c884bce7e7ecbef4a1c1a2a3bcf198f50d73596dfba861bb15872106c0.jpg)

在Rollup技术之前，我们已经知道如何在所有这些模型上运行智能合约——只不过这没有太大意义。谁愿意只在几个朋友之间运行 Uniswap，或者以一种会被被审查一周的方式运行？而 Rollups 的出现承诺了提供真正的以太坊式 L2 体验。

兼容时代
----

当然，仅仅“承诺”真正的以太坊风格的L2体验并不能真正创建实现。对于 Unipig，第一个 L2 AMM，我们必须使用与 Rollup 争议合约兼容的自定义代码重新创建 Uniswap，而不是 EVM 本身。

由于 Uniswap 的设计相对简单，这是可行的，但是当像 Solidity 变量这样基本的东西不能再使用时，它就不是好消息了。对于非开发人员来说；Uniswap 无疑是目前最简单的 DeFi 智能合约之一，但也不意味着Uniswap需要重新构建新的代码才能实现“Rollup兼容”。

到目前为止，以太坊的发展早已远超其“逃逸速度”——任何一个呈指数级增长的生态系统都无法在非EVM接口上重新架构。因此，L2的责任是除了提供“原始”规模之外，确保 L1 法院系统与 EVM 的差异最小化。这迫使Rolllup同时在两条战线上进行开拓：

*   构建可扩展的、可用于生产的Rollup基础架构。
    
*   解决一直难以解决的 EVM-in-EVM 问题。
    

以太坊的图灵完备性意味着我们知道它可以做到，但在我们的研究过程中，我们了解到需要牺牲一些东西，才能在合理的时间范围内将以太坊带到 L2。

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

论点很简单：只要可以合理地移植以太坊应用程序以到Rollup上运行——不管这是如何在幕后完成的——我们就可以跟上以太坊的这种“逃逸速度”发展。

![](https://storage.googleapis.com/papyrus_images/256fcf2523fdf1d25cba5ce33fde473ee6dcf7d6b4b79dcc05b8092fee065715.jpg)

大洪水
---

最开始，这种妥协取得了成功。在2020年，我们竞相推出OVM，以廉价的Gas费用为幌子，引诱用户纷纷逃离以太坊，转向其他L1竞争对手，从而放弃了安全性和真正的价值。

以太坊的网络效应产生的“逃逸速度”发展是有多种形式，我们的使用量激增突出了L1-以太坊的另一个组件，这是其他L1和L2所缺乏的：基础设施。在过去的6年里，以太坊的全球社区让它从一个简单的原型，发展到更多：

*   成千上万的开发工具已经被深度集成到EVM中。
    
*   数十亿美元的公司已经崛起，提供服务和改进节点软件。
    
*   以太坊本身变得越来越快。
    

以太坊的网络效应浪潮只会越来越大。由于一切都是开源的，人们可能会认为这些巨大的胜利也适用于以太坊的L2。

但并没有那么多。

EVM兼容性与EVM等效性并不相同，仅仅满足于兼容性意味着你不得不修改，甚至完全重新构建以太坊支持基础设施所依赖的底层代码。如果L2想要在以太坊的基础设施网络效应浪潮中冲浪，它们必须成为EVM的等效物。

随着Optimistic 以太坊的发展，我们发现越来越多的以太坊工具由于旧的EVM兼容性设计理念，而变得无法使用。

我们知道我们可以做得更好。为了真正支持大众，我们需要的不仅仅是与EVM合约兼容的东西，而是从根本上等同于EVM本身的东西。

EVM等效性是我们如何弥合以太坊L1的基础设施网络效应和以太坊L2的执行环境之间的差距。

![](https://storage.googleapis.com/papyrus_images/d0cc721e2ee9e169a0aaa044824566c35459b51f89c9c9f3c1b40dd9b2fe880a.png)

什么是 EVM 等效性？
------------

简而言之：EVM 等效性是指完全符合以太坊黄皮书，关于协议的正式定义。根据定义，L1 以太坊软件必须符合此规范。

这意味着——深入到最深处——现有的以太坊堆栈现在也将与 L2 系统集成。每个调试器。每个工具链。每个节点实现。我们相信任何提供任何 EVM 体验的 L2 都必须达到这个标准——任何低于此标准的都是不可接受的。

为什么 EVM 等效性很好？
--------------

从最开始，我们就在 Geth 上构建了我们的软件，这是以太坊最强大和最受欢迎的实例——这是实现生产就绪的以太坊 L2 的唯一可行途径。OVM v1 引入了一个容器化系统，该系统位于 Geth 的 EVM 之上，有助于避免在 L1 上繁琐地重新实现整个 EVM。

这样的组合在早期取得了一些成就，但由于 EVM 本身并不支持容器化，所以它并不够自由和灵活。即使对于我们专注于 Geth 的团队来说，这些变化也开始累积起来。随着 Optimistic 以太坊的发展，等效性的这种不可思议的力量是不容忽视：

*   Solidity、Vyper 和 Hardhat 等项目都开发了 OVM 的版本，这会冒着分散这些团队有限资源的风险。这告诉我们，团队总是需要致力于维护非等效代码库。
    
*   随着每一行代码的更改，采用像 Erigon 这样的实验性实例变得更加困难。这告诉我们，我们总是需要投入精力来集成未来的客户端实例。
    
*   与现有的超优化版本相比，重新实现部分 EVM 会带来额外的Gas开销。这告诉我们，最小化 Gas 成本需要等效于 EVM 的设计理念。
    

是时候寻求更好的方法了，即使它可能并不简单。

我们如何实现 EVM 等效性？
---------------

值得庆幸的是，我们找到了一种比在 EVM 中冗长去实现 EVM 更好的方法。这就是你要做的。

### 分离块的生成和执行

在实践中，我们确实必须对L2-ify 以太坊进行一些更改：特别是如何生成块。在 L1 上，节点使用工作量证明共识机制来确定区块；在 L2 上，批量交易通过发送到“父链”（L1 以太坊）的批量应用。如果 L2 使用自己的工作量证明，那么它将是 L1！因此，在这个层面上，“等价”基本上是荒谬的。

区块链模块化的核心模式是将共识与执行分离——也就是说，有不同的流程来确定和执行下一个区块。我们可以借用这个模式在 L2 中使用。基本上，我们只定义一个函数，它接受 L1 块，对它们进行Rollup处理，并输出 L2 块

——格式与 L1 块完全相同。从那时起，L2 执行可以定义为等同于 L1。

![](https://storage.googleapis.com/papyrus_images/a9b2392e3c6e3e32f7f7c73e30461c7a8b5e500bf6f416a3d9b106869ea9c31a.png)

### ETH2 合并 API

那么，现有 L1 客户端实现的共识/执行模块化的现状如何？

它即将在所有以太坊实现中标准化。

![](https://storage.googleapis.com/papyrus_images/e37ff8ba85259f84ca9c8d191f90a8c5e4170ef24a1b74f16283b73c46372ae2.png)

事实证明，ETH2 合并需要与 EVM 等效性Rollup完全相同的抽象：信标链提供与 L1 对Rollup完全相同的“父链”角色。这将使在 L2 中使用 L1 客户端变得非常简单。

![](https://storage.googleapis.com/papyrus_images/cb9c0c35d81eff026b11583858df2dd645bad52217ba685843c92816d1554c55.jpg)

### 执行标准

好了，我们已经讨论了为什么等效性为强大的、模块化的抽象和非常简单的客户端实现打开了大门。但是我们如何在链上执行这个呢？首先，模块化的强大力量在于它的灵活性——只要一个解决方案与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 浏览器之间的不兼容（看看你，IE）困扰着 Web 开发，并导致开发人员和生态系统的分裂。

Web3 完全是关于协调和开源标准，而等效性为明显出现的标准（EVM）提供了一条路径，以避免重复过去的错误。

即使随着这个标准的发展，我们的欺诈证明方法也意味着 L2 可以毫不费力地同步发展。L1 和 L2 携手前行。

这种好处是双向的——当几乎所有的以太坊 EIP 都可以在 L2 上采用时，Rollup成为一个令人兴奋的创新现场测试平台环境。想象一下，在激励测试网和主网之间的某个Rollup，在验证新的交易类型、预编译和EOF，在它们升级到 L1 之前测试各种不可预见的后果。

DeFi 的最大障碍之一是，没有可替代的DeFi 的现场环境来随心所欲地测试。你不能在测试网上“重新创建”DeFi，所以当你想测试更改时，它总是“在产品中测试”。

EVM 等效性使我们能够在实时环境中测试 EIP，并对整个以太坊环境进行更安全、长期的改进，而无需“硬分叉”。

以太坊会一直存在
--------

我们最近启动了第一个追溯型公共产品资助实验。100 万美元的协议收入将很快奖励给有益于以太坊的公共产品！有人问我们为什么这笔钱会流向以太坊，而不仅仅是它来自的Optimism 以太坊生态系统。

希望通过对 EVM 等效性的新认识，您可以明白原因：我们是同一个生态系统。

Layer 2 长期以来一直承诺多链以太坊的未来，充满活力的城市深入到这个新网络空间的前沿。虽然我们可以预期这些链是多样化和丰富的，但 EVM 等效性引入了与以太坊的新连接——不仅仅是作为结算层，而是在其组成的最深层次。

它一直是以太坊，而且永远都是。

……

我们要衷心感谢帮助实现这一目标的社区成员：Ansgar Dietrichs、David Hoffman、George Hotz、Georgios Konstantopoulos、lightclients、Magmo 团队、protolambda、ricmoo、还有无数人：谢谢！！！！

和往常一样——我们正在招聘！如果你不仅想为以太坊的未来工作，还想为以太坊的未来工作，我们想谈谈。如果您只想关注我们，请加入我们的Discord！

**译者**：jianan#3403

原文链接：

[https://medium.com/ethereum-optimism/introducing-evm-equivalence-5c2021deb306](https://medium.com/ethereum-optimism/introducing-evm-equivalence-5c2021deb306)

Discord：

[https://discord.gg/optimism](https://discord.gg/optimism)

---

*Originally published on [jianan](https://paragraph.com/@jianan/evm)*
