是时候寻求更好的解决方法了,即使解决方案可能有一些乏味。 如何实现 EVM 等效性? 值得庆幸的是,我们找到了更好的方法,不用在 EVM 中繁琐地重新部署 EVM。以下步骤就是你要做的。 实现区块生产和执行的分离 在实践中,我们确实必须对以太坊的 L2 进行一些更改:特别是如何生成区块。在 L1 上,节点使用工作量证明(POW)共识机制来确定区块;在 L2 上,通过发送分批交易到「父链」(L1 以太坊)实现批量交易。如果 L2 使用自己的 POW 共识,它将是 L1! 所以「等效性」在这个层面上基本上是荒谬的。 区块链模块化的一个核心特征是将共识与执行分离——也就是说,确定和执行下一个区块分别通过不同的过程完成。我们可以借用这个模式,在 L2 中加以使用。简单说,我们只是定义了一个函数,它接收 L1 区块,处理它们以进行 rollup 交易,并以与 L1 区块完全相同的格式输出 L2 区块。因此,L2 执行可以定义为等效于 L1。 以太坊 2.0 合并 API 现有 L1 客户端部署中的共识 / 执行模块化的状态如何? 嗯:它将在所有以太坊部署方案中实现标准化。 事实证明,以太坊 2.0 合并 需要与 EVM 等效 Rollup 完全相同的抽象:信标链等同于 L1 为 Rollup 所做的完全相同的「父链」角色。这将使在 L2 中使用 L1 客户端变得非常简单。 标准得到执行 好的,我们已经介绍了为什么等效性为强大的模块化抽象和极其简单的客户端部署打开了大门。但我们如何在链上实际执行这一操作? 首先,这种模块化的强大之处在于灵活——只要解决方案与 EVM 等效,我们就可以使用它。而当它们变得可行时,这意味着对防欺诈证明的改进,甚至是等效于 EVM 的零知识证明,都可以轻松地插入现有的链下堆栈中。 不过从短期来看,我们目前需要一些可行的方法——我们已经找到了这一点。 一种解决方案是在 Solidity 中实现完美的 EVM 等效部署,但 EVM 是一个复杂的野兽,具有许多 VM 指令,因此这是一项艰巨的任务。此外,未来对 EVM 的更新也必须在 Solidity 中重新部署。 (责任编辑:admin) |