Page 393 - 《软件学报》2025年第8期
P. 393

3816                                                       软件学报  2025  年第  36  卷第  8  期


                 就不会显著影响链上存储, 但也不能超过链上存储的上限. 若仅从节省链上资源开销的角度评价, 自然是聚合规模
                 越大, 对节约链上资源开销越好.

                 3.1.1    时延增加原因
                    在实际应用中, 本文发现聚合化方案导致交易时延的显著增加, 会极大地降低系统的可用性. 这种现象来源于
                 两个方面.
                    首先, 由于交易需要批量证明, 聚合化规模的增加会导致零知识证明电路的复杂性上升. 这意味着生成零知识
                 证明所需的时间会随之增加, 从而拖慢整批交易的处理速度; 其次, 聚合化过程需要等待一定数量的交易以形成一
                 个完整的聚合单位. 在交易高峰期, 交易到达率较高, 因此可以较快地达到所需的聚合规模. 然而, 在非高峰期, 交
                 易到达率较低, 系统可能需要等待较长时间才能达到预定的聚合规模.
                    值得进一步说明的是, 零知识电路的规模仅与聚合规模上限                     batch max  相关, 而生成证明的时间也仅与聚合规
                       batch max  存在直接关系. 为了确保系统性能, 只需评估合适的系统流量上限, 并根据此上限选择相应的聚合
                 模上限
                 规模上限. 在交易到达率极高且接近系统预设流量上限的情况下, 实时聚合规模                          batch now  的最优解将趋近于聚合
                                                batch now  的选择空间极其有限. 然而, 在交易流量相对较低的情况下, 实时
                 规模上限   batch max , 此时对实时聚合规模
                 聚合规模   batch now  的调整将极大地影响交易时延, 因此应选择一个平衡解以权衡交易时延和链上开销. 实际上, 在
                 一个系统中, 交易流量持续处于峰值的情况相对罕见, 大多数情况下, 交易到达率会波动, 但并不总是处于上限.

                 3.1.2    聚合化规模风险
                    随着交易聚合化的增加, 跨         Rollup  交易的时延会增加, 这可能会导致网络拥堵、安全风险和用户体验风险等
                 问题. 下面将重点讨论这       3  个方面的风险.
                    首先是接收方      Rollup  的拥堵风险. 由于跨    Rollup  交易需要等待一定时间才能达到聚合化规模, 并在接收方
                 Rollup  节点内进行处理和验证, 因此可能会产生大量的交易峰值. 这会导致接收方                     Rollup  内的正常交易的处理时
                 延极大增加. 如果单批次交易规模进一步增加, 甚至会使得接收方                    Rollup  节点内的代打包交易池完全被跨         Rollup
                 交易占据, 导致接收方      Rollup  节点无法处理正常交易.
                    其次是安全风险. 随着跨        Rollup  交易时延的增加, 可能会增加网络攻击和欺诈的风险. 如果攻击者能够在交
                 易提交之前介入交易, 攻击者可能会利用这个机会进行对手的攻击, 从而损害用户的资金或其他资源.
                    最后是用户体验风险. 随着跨          Rollup  交易时延的增加, 可能会降低用户体验. 如果用户需要等待较长的时间
                 才能确认交易, 可能会导致用户对应用的不信任和使用者的流失. 此外, 由于聚合化需要等待一定的时间来达到聚
                 合化规模, 用户可能需要经常查询交易状态, 这会增加用户的操作复杂性和耗费用户的时间和精力
                    因此, 本文需在聚合化规模和交易时延之间找到一个平衡点, 确保基于原生链的跨                          Rollup  方案的有效运行.

                 3.2   批量服务排队模型
                    跨  Rollup  交易中的聚合化问题可以被抽象成一个批量服务排队模型. 通过建立该模型, 可以对交易聚合化对
                 系统性能的影响进行量化分析, 进而优化系统的性能, 进而利用相关算法来得到该问题的均衡解.

                 3.2.1    条件假设
                    在本模型中, 跨     Rollup  交易  (记作  TX receiver ) 被视作排队论模型中的顾客. 排队论模型中的服务台包括生成零
                 知识证明电路和原生链验证零知识证明的过程. 服务结束时刻定义为零知识证明证据及完整交易信息被上传至原
                                                                        batch now  笔交易同时进行, 最终该批次同时
                 生链并完成验证的时刻. 对于服务接收的方式, 需要服务台一次性接收
                                                                                    batch now  的调整. 在每次服
                 完成服务, 而非传统的一对一服务. 本节主要探讨的议题是单一批次中的实时聚合规模
                 务台启动前, 应根据实时交易到达率来确定该规模. 在此过程中, 需要权衡链上开销成本和平均时延. 排队论模型
                 中的总时延包括服务时长与排队等待时长之和.
                    需要说明的是, 尽管跨       Rollup  交易的完整生命周期理论上应当延伸至接收方               Rollup  节点读取并执行交易为
                 止, 实际交易总时延应在该模型的平均时延基础上增加接收方                    Rollup  节点的执行时间. 然而, 在实际情况中, 接收
                 方  Rollup  节点的执行时间难以估算. 这一时间开销与跨            Rollup  交易  TX receiver  的实际执行复杂度密切相关, 而事前
   388   389   390   391   392   393   394   395   396   397   398