并且对提交世界状态的节点进行惩罚: ovmBondManager.finalize( _preStateRoot, _postStateRootBatchHeader.batchIndex, publisher, timestamp ); 简单的看,OVM 在 EVM 的模拟,涉及到两个重要的点:1/ 之前世界状态的表示 2/ 当前交易的执行。整个逻辑涉及到多次 Layer 1 的交易,除此之外,还需要足够的时间保证链上数据能够同步并检查。目前,世界状态的挑战过程必须在相应交易后的 7 天内完成: /// The dispute period uint256 public constant disputePeriodSeconds = 7 days; 总结Optimistic Rollup 是 Layer 2 潜在的一种方案。和 ZK Rollup 一样,所有 Transaction 的信息都会作为 CallData「存储」在 Layer 1。在 Layer 2, Optimistic Rollup 通过 OVM 执行智能合约,并使用「检察」的方式确定 Layer 2 世界状态在 Layer 1 的正确性。Optimistic Rollup 的难点也在 OVM,需要在 EVM 的基础上模拟 OVM 的执行,并判断状态的正确性。目前,Optimistic Rollup 的挑战期为 7 天。也就是说,只有 7 天前的状态是「确定」的,不会回滚。 (责任编辑:admin) |