本文档详细描述了Cannon故障证明虚拟机(FPVM)的规范,该虚拟机模拟了一个运行在big-endian 32位MIPS32架构上的最小Linux系统,重点介绍了FPVM的状态(包括内存、寄存器等)、内存管理(包括堆)、延迟槽、系统调用、I/O操作(包括标准流、提示通信和预图像通信)以及异常处理,为理解和实现FPVM提供技术指导。
本文档概述了L1执行引擎对L2的修改、配置和使用,包括处理存款交易、手续费的收取方式(优先级费用、基础费用和 L1 成本费用),还介绍了Engine API 的使用,例如 forkchoiceUpdatedV1、newPayloadV1、getPayloadV1,以及L2执行引擎的网络和同步方式。
本文档介绍了L2输出根提案规范,这是Optimism Rollup中将L2状态同步到L1(结算层)的关键环节。Proposer的角色是构建并提交输出根到L1上的L2OutputOracle合约,以此作为桥梁的L2 状态视图,并可接受fault proof挑战。其中详细说明了L2输出承诺的构建方式和L2OutputOracle智能合约的接口定义与配置,以及安全方面的考虑,例如 L1 重组。
本文档是 Rollup 节点规范,Rollup 节点负责从 L1 区块(及其关联的收据)中导出 L2 链。文档详细介绍了 Rollup 节点中驱动程序的设计、功能,包括从L1链选择输入,生成payload attributes,并传递给执行引擎以计算L2区块,还包括L2输出RPC方法,以及协议版本追踪。
本文档是关于rollup node的规范,重点介绍了rollup driver的职责,即从L1链派生L2链的过程,包括从L1选择输入、生成payload attributes以及将payload attributes传递给执行引擎等步骤。同时,还介绍了Rollup节点提供的RPC方法optimism_outputAtBlock,该方法用于获取L2输出根。
本文介绍了Fault Dispute Game (FDG) 的机制,这是一种通过迭代二分执行轨迹来验证根声明有效性的争议解决游戏。参与者通过提出声明来缩小执行轨迹,直至争议点为单个状态转换。游戏依靠虚拟机(VM)来验证声明的有效性,并最终通过对声明的争议情况来确定胜者。文章还涉及了参与者、移动类型、游戏时钟和最终的解决方案等关键概念。
本文档介绍了在L1上发起并在L2上执行的Deposit交易类型,包括其结构、在L1上的发起方式以及在L2上的验证和授权条件,以及两种类型的 Deposit 交易:L1 属性 Deposit 交易和用户 Deposit 交易。还详细说明了 L1 属性预部署合约和用户 Deposit 交易的 Deposit 合约。