金色观察|Optimistic Ethereum的OVM
金色观察|Optimistic Ethereum的OVM
Optimistic Ethereum是一个兼容EVM的Optimistic Rollup链,是一个L2扩容方案。Optimistic Ethereum主网已上线,用户将资产移出Optimistic Ethereum主网时,用户需要等待一周的挑战期,用于帮助保护资产。在OVM 2.0前,Optimistic Ethereum要求所有交易都使用0.015 gwei的 gas 价格。
Optimistic Ethereum的虚拟机被称为OVM ,是一个功能齐全、与 EVM 兼容的执行环境,专为第 2 层系统中开发。
使用 OVM,将 DApp 迁移到 L2 不再会出现架构问题,只需要部署即可。不过目前虚拟机并不成熟,为什么OVM难以完成?问题在于:EVM-in-EVM,即L1和L2的执行和交互部分。
所有OE L2方案的基础都是解决争议,从plasma到rollup,都是如此。因为L2事务需要在必要时在L1上可重放。
在理想的情况下,没有理由在L2链上运行事务,但是,为了保证安全性,需要能够回放交易。
也就代表着在一个虚拟机运行区里,将能够运行任何通用的L2以太坊交易中的L1欺诈证明来证明交易。
但当L2交易并不适用于L1链时,这个问题是棘手的。
解决这个问题时,一般情况下想到的方案是在L1上运行L2的智能合约。
这样问题在于,理论上部署合约只是把L2的运算放到L1上,合约在L2的工作方式是一样的。但对于某些合约来说,在功能上是无法实现的,例如,L2的合约运行在L1上,获得是L1的时间戳,但合约需要的安全理论值是L2的。
OVM的应用就试图解决这个问题。
OVM 解决问题的核心是创建一个新的智能合约“执行管理器”,充当OVM 合约的虚拟容器。执行管理器虚拟化可能导致 L1 和 L2 之间执行差异的所有内容,包括:合约存储、交易“上下文”,例如区块号、时间戳等。
对于EVM的在 L1 和 L2 之间可能表现出差异,执行管理器使它们在 L1 和 L2 之间保持一致。OVM虚拟化了EVM的所有组件,在执行管理器里可以查询到这些数据。
为了让 L2 安全,OVM需要确保所有L2 合约都使用时间戳容器。为了强制执行此操作,还包含一个“纯度检查器”,该功能可以检查智能合约仅通过执行管理器访问虚拟化指令,这样任何不满足此要求的合约都会被阻止部署到 OVM,从而确保 L2 链保持安全。
OVM 代表了 Ethereum L2 的重要一步,因为它只需几行代码就能将 Solidity 合约转移到更便宜、更快速的基础设施上。
查看更多