在中文区块链社区中,关于Layer2技术特别是Arbitrum和OP Rollup的专业解读相对匮乏。本文旨在通过深入浅出的方式,系统性地解析Arbitrum的运行机制,填补这一知识空白。由于Arbitrum架构本身的复杂性,尽管我们已尽力简化,全文仍超过万字篇幅,因此分为上下两篇发布,建议读者收藏转发作为参考资料。
Rollup排序器基础原理
Rollup扩容技术的核心思想主要体现在两个方面:首先是通过将大部分计算和存储任务从以太坊主链(L1)转移到Layer2(L2)来实现成本优化。L2通常运行在被称为排序器(Sequencer/Operator)的单一服务器上,这种设计在区块链不可能三角中选择了牺牲部分去中心化特性,以换取更高的交易吞吐量和更低的手续费成本。
(图源:BNB Chain)
其次是安全保障机制,所有L2上的交易数据及其产生的状态变更都会同步到以太坊L1,通过智能合约进行有效性验证。同时,以太坊区块链上会永久保存L2的历史记录,即使排序器完全宕机,任何人都可以通过这些记录完整重建L2的状态。
从根本上说,Rollup的安全性完全依赖于以太坊区块链。排序器无法伪造用户签名发起交易,也不能篡改账户余额(即使尝试也会立即被发现)。虽然排序器作为中心化组件存在作恶可能,但在成熟的Rollup方案中,其作恶能力被严格限制在交易审查等软性行为范围内,且系统设计了强制提款等抗审查机制进行制衡。
(路印协议在L1合约中设置的强制提款函数)
Rollup系统验证状态正确性的方式主要分为欺诈证明(Fraud Proof)和有效性证明(Validity Proof)两类。采用欺诈证明的称为OP Rollup(Optimistic Rollup),而使用有效性证明的则被称为ZK Rollup。Arbitrum One是典型的OP Rollup方案,其部署在L1的合约默认信任排序器提交的数据,只有当验证者节点发现问题时才会发起挑战。
(乐观Rollup运行机制)
(ZK Rollup运行机制)
本文将深入解析OP Rollup领域的标杆项目Arbitrum One,全面剖析其系统架构和工作原理。通过阅读本文,读者将对Arbitrum及乐观式Rollup技术有系统性的理解。
Arbitrum核心架构解析
Arbitrum系统的核心组件包括一系列智能合约:SequencerInbox、DelayedInbox、L1/L2 Gateways、Outbox、RollupCore和Bridge等。其中排序器(Sequencer)负责接收用户交易、进行排序计算,并快速(通常1秒内)向用户返回交易回执,这种体验接近传统Web2应用。
同时,排序器会在链下广播最新生成的L2区块,任何Layer2节点都可以异步接收。需要注意的是,这些L2区块此时还不具备最终确定性,排序器仍可能将其回滚。每隔几分钟,排序器会将交易数据压缩成批次(Batch)提交到L1的SequencerInbox合约,此时数据才获得不可篡改性。
Arbitrum Rollup协议定义了特殊的区块结构RBlock,这是专为实施欺诈证明机制而设计的链式数据结构。一个RBlock可以包含多个L2区块的执行结果,其数据实体存储在RollupCore合约中。当发现RBlock存在问题时,验证者可以对其发起挑战。
验证者(Validator)本质上是具有特殊功能的Layer2全节点,目前采用白名单准入机制。验证者监听SequencerInbox合约的交易批次,创建新的RBlock并监控Rollup链状态,对错误数据发起挑战。主动型验证者需要在ETH链上质押资产,非质押节点只能监控报警而无法直接干预。
挑战过程采用”多轮细分-单步证明”的创新模式:首先通过多轮交互定位到有问题的具体操作码指令,然后在合约控制下进行单步验证。这种设计被认为是欺诈证明中最节省gas的实现方式。
由于OP Rollup的乐观特性,每个RBlock提交后有一周的挑战期,期间验证者可对其证伪。挑战期结束后,RBlock才最终确认,相应的跨链提款等操作才能执行。
Arbitrum采用AVM虚拟机,由修改版的Geth客户端和专为L2设计的ArbOS组成。WAVM是将AVM编译为Wasm的结果,用于欺诈证明中的单步指令验证。下图展示了各组件的关系和工作流程:
交易生命周期与Sequencer Inbox
L2交易的完整生命周期包括:用户发送交易→排序器验证签名并排序→快速返回回执(Soft Finality)→压缩交易数据为Batch→定期提交到L1 Sequencer Inbox合约(Hard Finality)。Sequencer Inbox合约确保数据可用性,即使排序器失效,任何人都能通过这些数据重建L2状态。
Validator监听SequencerInbox事件,下载batch数据本地执行后,向Rollup协议合约提交RBlock。Bridge合约中的累加器参数会记录所有新提交的L2 batch数据。
SequencerInbox提供两个关键函数:addSequencerL2BatchFromOrigin()用于排序器提交batch,forceInclusion()实现抗审查交易。L2的gas费用包含L1数据发布成本和L2资源占用成本,由ArbOS动态调整定价算法。
欺诈证明机制深度解析
欺诈证明系统的核心在于确保L2状态输出的正确性。虽然L1已存储所有交易输入数据,但为了支持L2→L1的跨链提现等操作,必须向L1同步L2状态。OP Rollup采用乐观证明方式,假设所有状态正确,仅当验证者发现问题时才启动挑战流程。
Rollup协议通过RollupProxy合约管理,采用独特的双重代理结构。验证者需要质押ETH才能提交或挑战RBlock,挑战失败将损失质押金。挑战过程通过ChallengeManager合约管理,采用多轮交互定位问题,最终由OneStepProver系列合约验证单步指令。
(图源:L2BEAT官网)
单步证明验证的是WAVM指令,WAVM由ArbOS和修改版Geth编译而成。验证合约通过判断指令操作码类型,调用相应的prover合约进行验证。若执行结果哈希与RBlock记录不符,则挑战成功。
在下篇文章中,我们将详细解析Arbitrum的跨链消息处理机制,并深入探讨Layer2如何实现真正的抗审查特性。
声明:文章不代表CHAINTT观点及立场,不构成本平台任何投资建议。投资决策需建立在独立思考之上,本文内容仅供参考,风险 自担!转载请注明出处:https://www.chaintt.cn/10836.html