Page 382 - 《软件学报》2025年第8期
P. 382
张子龙 等: 基于原生链的跨 Rollup 机制研究 3805
(4) 验证者通过一定的验证方式验证执行器的执行结果是否正确, 并为默克尔树根提供有效性证明以保证其
可信性.
Rollup 将原始交易排序后上传至原生链, 然后通过链下执行程序完成交易, 上传默克尔树根, 如图 2 所示, 最
后, 验证交易的有效性. 通过这种方式, Rollup 保证了不同节点上待执行的原始交易的一致性, 同时, 原生链的存储
机制也保证了待执行原始交易的完整性和不可篡改性. 而且因为原始交易存储在原生链中, 所以每一个链下节点
执行的交易都是可验证的, 交易完成之后的状态也是可验证的, 只需要对有效状态最终认可即可. 最后, 任何新的
节点无需寻找合适的对象, 就可以通过自己的方式, 从原生链中读出原始的交易并执行.
RollupRoot
StateRoot TransactionRoot ReceiptRoot
Receipt 的 Merkle 路径
图 2 Rollup 的默克尔树根
1.2 Rollup 互操作技术
在跨 Rollup 系统中, 一笔完整跨 Rollup 交易流程由发送方 Rollup 内执行的发送方交易和接收方 Rollup 内执
行的接收方交易两部分组成. 跨 Rollup 系统要解决的目标是跨 Rollup 信息传输、跨 Rollup 数据验证. 由于参与
的 Rollup 系统之间缺乏直接的信任关系, 跨 Rollup 系统需要设计一种机制来保证各个参与方互相信任交易已经
成功执行了, 以及没有节点在传输过程中篡改接收方交易, 避免执行错误交易给 Rollup 系统带来状态错误.
现阶段明确提出可用于 Rollup 互操作的技术方案可以分为哈希时间锁和第三方服务商的方案. 在第三方服
务商中, 根据服务商服务对象的不同, 可以继续分为第三方节点代理和第三方节点链下验证两种.
(1) 哈希时间锁
哈希时间锁 [3] 是一种多方交易机制, 通过使用密码学哈希函数和时间限制, 可以使得两个或多个交易对手在
互相不信任的情况下进行安全的交易. 虽然哈希时间锁可以用于 Rollup 互操作技术, 但它只适用于特殊的资产交
换场景, 无法满足通用的合约交易需求. 同时, 其基于时间的限制也可能会造成交易的不便和不确定性. 这使得其
使用场景非常受限, 不适应于更广阔的应用空间.
(2) 第三方节点代理
[4]
以 Hop 方案为代表的第三方代理方案, 由服务商直接为用户提供交易服务. 第三方服务商同时存在于发送
方 Rollup 和接收方 Rollup 中, 并取得了用户的交易代理权. 当用户在发送方 Rollup 中发起交易后, 第三方服务商
会验证交易执行成功后, 代替用户去接收方 Rollup 中执行交易. 对于接收方 Rollup 而言, 只需要确认第三方服务
商获得了用户的代理权, 就可以对交易进行可信执行. 最终, 第三方节点将代理执行的结果告知用户即可. Hop 方
案无需 Rollup 间的额外信任条件, 但是用户需要信任第三方服务商的诚实和有效, 以确保第三方服务 商已发送代
理交易并成功执行.
(3) 第三方节点链下验证
[5]
以 Orbiter Bridge 为代表的第三方节点链下验证方案是指第第三方服务提供商通过 SPV (simplified
payment verification) 等验证方式直接为交易提供有效性证明. 在接收方 Rollup 节点收到交易后, 只需向服务商
确认原交易是否有效. 一旦服务商提供了有效的交易验证, 该交易便可被打包进接收方 Rollup 的执行交易中并
执行. 在这种方案下, 接收方 Rollup 需要信任服务商之间的安全架构, 以保证至少有服务商愿意提供服务, 以及
服务商未联合为恶意交易做伪证. 这种设计利用服务商之间的互相监管机制, 为实现跨 Rollup 交易提供了一定
的安全性和可靠性. 这种方案也是存在信任假设的, 信任假设降低为至少存在一个诚实的服务商为整个系统提

