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  交易提供了一定
                 的安全性和可靠性. 这种方案也是存在信任假设的, 信任假设降低为至少存在一个诚实的服务商为整个系统提
   377   378   379   380   381   382   383   384   385   386   387