链眼社区:专注于区块链安全,区块链数据分析, 区块链信息整合,区块链技术服务和区块链技术咨询。

一文读懂 optimistim 的 EVM 等效性
扫地僧
2022-07-18 22:39:02

一. 乐观争议协议简史

首先,让我们回顾一下我们为当前一代汇总所采取的路径。

1. rollup 的黎明

乐观的 L2 都是关于争议解决的。如果你将以太坊视为一个全能的去中心化法庭,那么 L2 可扩展性的核心见解是:“不要去法庭兑现支票——如果支票反弹就去。”

实际上,过去 6 年的可扩展性研究归结为一件事:可以执行什么样的“退回检查”。起初,只有预先约定的一组方可以在彼此之间进行交易(状态通道)。然后,任何人都可以进行交易,但也可能被审查(plasma)。最终,我们也解决了审查问题(rollup)。

在汇总之前,我们已经知道如何在所有这些模型上运行智能合约——只是没有多大意义。谁愿意只在几个朋友之间运行 Uniswap,或者以一种可以被审查一周的方式运行?Rollups 承诺提供真正的以太坊式 L2 体验。

2. 兼容时代

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

由于 Uniswap 的设计相对简单,这是可行的,但是当像 Solidity 变量这样基本的东西不能再使用时,它就不是好兆头了。对于非开发人员;Uniswap 是目前最简单的 DeFi 智能合约之一,即使Uniswap需要大修以开箱即用“汇总兼容” ,这也不是好兆头!

到目前为止,以太坊的逃逸速度早已超越。指数级增长的生态系统根本无法围绕非 EVM 接口重新架构。因此,除了提供“原始”规模之外,确保 L1 法院系统与 EVM 的差异最小化成为 L2 的责任。这迫使汇总同时在两条战线上开拓:

  • 构建可扩展的、可用于生产的汇总基础架构。
  • 解决长期臭名昭著的 EVM-in-EVM 问题。

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

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

论点很简单:只要可以合理地移植以太坊应用程序以在汇总上运行——不管这是如何在幕后完成的——我们就可以捕捉到以太坊的逃逸速度。

3.大洪水

最初,这种妥协得到了回报。2020 年,我们竞相推出 OVM,因为用户从以太坊逃到其他以“便宜的费用”为幌子放弃安全性和价值的第 1 层竞争对手。我们在 1 月份启动了我们的主网,在过去的 10 个月里,我们通过数百万笔交易为用户节省了数亿美元。

但是以太坊的网络效应产生的逃逸速度有多种形式,我们飙升的使用量突显了其他 L1 和 L2 所缺乏的 L1-Ethereum 的另一个组成部分:基础设施。在过去的 6 年中,以太坊的全球社区已经将其从准系统原型发展到更多:

  • 数以千计的开发工具已深度集成到 EVM 中。
  • 数十亿美元的公司已经出现,只是为了服务和改进节点软件。
  • 以太坊本身变得越来越快。

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

但不是那么多。

EVM兼容性与 EVM等效性不同,仅仅满足于兼容性意味着您被迫修改甚至完全重新实现以太坊的支持基础设施也依赖的较低级别的代码。如果 L2 想要在以太坊的基础设施网络效应浪潮中冲浪,它们必须成为EVM 等价物。

随着 Optimistic Ethereum 的发展,我们发现越来越多的 Ethereum 工具由于我们旧的 EVM 兼容性设计理念而不断发现自己遥不可及。

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

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

二.EVM 等效性:驾驭以太坊的采用浪潮

1. 什么是 EVM 等效性

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

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

2. 为什么 EVM 等效性很好

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

这个组合赢得了一些早期的胜利,但由于 EVM 本身并不支持容器化,所以它不是免费的。即使对于我们专注于 Geth 的团队来说,这些变化也开始累积起来。随着 Optimistic Ethereum 的发展,等价的不可思议的力量不容忽视:

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

是时候寻求一种更好的方法了,即使它需要一些乏味

3.如何实现 EVM 等效性

值得庆幸的是,我们找到了一种比在 EVM 中繁琐地重新实现 EVM 更好的方法。这就是你要做的。

分离块生成和执行

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

区块链模块化的核心模式是将共识与执行分离——也就是说,有不同的流程来确定和执行下一个区块。我们可以借用这个模式在 L2 中使用。基本上,我们只定义一个函数,它接受 L1 块,处理它们以进行汇总交易,并输出 L2 块——格式与 L1 块完全相同。从那时起,L2 执行可以定义为等同于 L1。

ETH2 合并 API

那么,现有 L1 客户端实现的共识/执行模块化的现状如何?好吧:它即将在所有以太坊实现中标准化。

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

执行标准

好的,所以我们已经讨论了为什么等效性为强大的模块化抽象和非常简单的客户端实现打开了大门。但是我们如何实际执行这个链上?嗯,首先,这种模块化的力量是灵活的——只要一个解决方案是 EVM 等效的,我们就可以使用它。这意味着对欺诈证明的改进,甚至当它们变得可行时,甚至是等效于 EVM 的零知识证明,都可以轻松地插入现有的链下堆栈中。

不过,在短期内,我们今天需要一些可行的东西——我们已经找到了。一种解决方案是在 Solidity 中实现一个完美的 EVM 等效实现,但 EVM 是一个具有许多 VM 指令的复杂野兽,这使其成为一项重大任务。此外,EVM 的未来更新也必须在 Solidity 中重新实现。

我们的解决方案:不是在 Solidity 中实现 EVM,而是实现一个具有更小、更简单指令集的 VM ,并在防欺诈期间在该 VM 中运行 EVM 。为此,我们必须简单地编译现有的 EVM 解释器,例如geth's,以便在更简单的 VM 中运行。

TL;DR:我们允许Geth 本身在争议友好的环境中运行。由于 Geth 与 EVM 等效,因此该环境也是如此。这使我们能够绕过在链上重新实现 EVM,并保证系统在未来升级到 EVM。

我们正在与我们最喜欢的编译器专家George Hotz 合作,构建第一个等效于 EVM 的证明系统。进展令人兴奋——系统已经可以运行自伦敦硬分叉以来的所有 L1 区块。通过欺诈证明运行 L1 块是一个有趣的、违反直觉的想法——但这正是等效性所需要的!

三. 以太坊的未来

如果以太坊要实现以汇总为中心的未来,那么 汇总必须以以太坊为中心。

这就是等价提供的。

1. 欺诈证明已失效。欺诈证明万岁

这种以 Geth 为中心的模块化设计不仅仅是一个优雅的实现供我们使用——它是朝着防欺诈基础设施商品化迈出的一大步。今天,安全地设计和启动汇总需要深入了解 L2 争议游戏,以及它们如何与节点软件协同工作。这严重限制了创新——想象这样一个世界,在这个世界中,每个 Web 开发人员还必须是 IP 网络、系统管理和微芯片制造方面的专家。

未来的汇总将非常简单,无需 L2 专家即可部署。这意味着 L2 将不再竞争如何或是否提供安全性,而是在提供安全性的内容上竞争。这包括竞争:

  • 性能、稳定性和正常运行时间
  • 网络效应、生态系统专业化和社区
  • MEV 预防和排序工具

总之,这意味着 EVM 等效汇总在去中心化方面展开竞争。这是整个生态系统民主化的巨大胜利,也是使我们整个行业更加反脆弱和抗审查的重要一步。

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

以太坊兼容性的桎梏已经解除。

2. ETH标准

EVM 等效性的力量归结为标准化。

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

拥有许多“兼容”的链,每一个都略有不同,会导致碎片化:你需要一个 EVM 专家团队来处理单个代码库,而需要一个 EVM 专家团队负责每个链的每个代码库。

Vitalik 将 EVM 与 Javascript 进行了比较,甚至在他第一次发布它时,这个类比在这个上下文中得到了很好的反映。在互联网的早期,Web 浏览器之间的不兼容(看看你,IE)困扰着 Web 开发,并导致开发人员和生态系统碎片化。

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

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

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

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

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

3. 以太坊一路沉

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

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

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

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

合作伙伴