写在前面
12 月 1 日,ETH 2.0 按照原计划正式启动,根据新的以太坊路线图,ETH 2.0 的扩展性来源将从分片转向 Rollup。
Optimistic Rollup 或将是最先上线主网的 Rollup 方案之一 ,它拥有与 EVM (Ethereum Virtual Machine)完全兼容的执行环境 OVM ( Optimistic Virtual Machine),开发迁移成本非常低。也因此 Optimistic 相比其他方案具有独特优势,说 OVM 是 Optimistic Rollup 的一项重要核心技术毫不为过。
这篇文章写于 OVM Alpha 版本发布之时,介绍了 OVM 的主要功能,以及 OVM 将如何赋能以太坊。
说明 : Optimistic Rollup 是 Rollup 主要技术方向之一,目前有 3 个团队在实现这一技术,Optimistic 团队是其中走的最为靠前的,OVM 属于 Optimistic 团队所实现方案。
几个月前(发表日期 2020.2.12),我们发布了 Optimistic Rollup 的 Demo (Uniswap 在 Optimistic Rollup 上推出的 Unipig : https://unipig.exchange/welcome ), 这是第一个以太坊 L2 扩展解决方案,实现了可扩展的智能合约,不止是交易 。由于这只是一个 Demo,因此我们只写了定制化代码,不能广泛支持 EVM 。下一步是构建任何开发人员都可以使用的智能合约工具,使用该工具可以将任何以太坊智能合约扩展至 Optimistic Rollup。我们喜欢与社区同行公开交流,这是一系列定期更新中的第一篇,在此过程中我们会朝着目标迈进。
今天, 我们非常高兴地宣布推出 Optimistic 虚拟机(OVM)的 Alpha 版本,OVM 是 Optimistic Rollup 的后端,可全面支持 EVM 。在过去的几个月中,我们另一个重点研发的部分是编译器,它可以将 L1 合约(指以太坊上的智能合约)转换为 L2 合约(指 Optimistic Rollup 上的合约)。
目前,OVM 支持所有现有的以太坊开发工具和库,包括 Solidity、Vyper、Truffle、Open Zeppelin、Metamask 和 Web3.js。编译器仅在 Waffle (译者注:以太坊智能合约的轻量级测试运行器)中进行了测试。我们正在进行 Truffle 之类的其他集成,并期待了解社区的需求,从而决定接下来优先集成什么。还有很多工作需要做。下一个里程碑是给一条 Optimistic Rollup 链配置 OVM 。
在本文的其余部分中,我们将描述我们如何从较高层面构建 OVM,以及它对以太坊的赋能。
什么是 OVM?
OVM 是 EVM 在 Optimistic 上的实现。每个计算步骤称为状态迁移。 任何人都可以在客户端计算或验证最新状态,或者在链上执行「欺诈证明」智能合约。 可以将 OVM 看作 EVM 内部的一个容器化的 L2 兼容版 EVM,类似于你计算机上的 Docker (注:容器,一个统一开发、测试、运行环境的开源引擎,作用与虚拟机类似)。为了构建该 OVM 虚拟环境,我们利用 EVM 的图灵完备性将 EVM 沙盒功能直接嵌入其中,它含有虚拟寻址层和虚拟化存储。
使用 OVM 作为 Optimistic Rollup 的虚拟机,我们能够完全支持以太坊智能合约,就像在 Layer 1 上一样。如果 OVM 中的状态转换无效,我们可以产生一个 OVM 虚拟环境,从而实现有效的无状态欺诈证明。注:无状态(stateless):
https://ethresear.ch/t/the-stateless-client-concept/172
升级所有以太坊应用!
我们已经将 Uniswap 放在 L2 上,但以太坊上还有很多很棒的智能合约, 我们全部都要支持!将智能合约升级到 Optimistic Rollup / L2 上应该像重新编译和重新部署一样简单。
我们的 OVM 让升级过程尽可能顺利,不仅对 ETH 1.0,还有 ETH 2.0。当前的 ETH 2.0 路线图要求当前依赖同步交易的开发人员重新设计其智能合约……除非这些合约基于 Optimistic Rollup。
预计 ETH 2.0 上的 Optimistic Rollup 将比 ETH 2.0 原生的智能合约更早推出。因此,将分片和 Rollup 功能相结合,极大提高可扩展性(据估计,远远超过 100,000 TPS)比以往任何时候都触手可及。
将合约迁移到 Optimistic 上!
使用 OVM 的 Alpha 版本可以部署和测试智能合约。如果测试通过,意味着合约可以在 Optimistic Rollup 的黄金时段推出。
在 OVM 中测试 Solidity 合同的教程:
https://github.com/ethereum-optimism/ERC20-Example
该教程可以指导您将 ERC20 合约测试套件转化到 Optimistic 上。对于喜欢冒险的人,您可以测试自己的 Solidity 合约!如果您发现任何错误,感到困惑或想要添加一些工具,请查看 OVM 源代码:
https://github.com/ethereum-optimism/optimism-monorepo
本文来自 Optimistic 官方博客
由 _ Hudson Jameson _ 和 _ Vitalik Buterin _ 编辑
原文链接:
__ https://medium.com/ethereum-optimism/optimistic-virtual-machine-alpha-cdf51f5d49e
编译: Lisa
看到最后了,记得加个小姐姐的微信再走呀: Zimomo941012
响指广场社区已经正式启动啦,在这里您可以看到优质项目的一手信息、项目分析、创始人专访和不同行业大 V 的观点。如果想要加入「响指广场」欢迎与我们的小姐姐联系,并回复「响指广场」我们将邀您加入。
也欢迎关注 KOL 小毛哥的电报: https://t.me/maocrypto ,这里每日都会推送来自加密世界的前沿信息,你一定不能错过!
点个在看 你最好看