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

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


                 不同的测试用例. 在测试中, 所用交易数据为随机生成, 且均为简单的代币转账交易而不是合约交易, 这么设计的
                 原因是合约交易复杂, 而通常两笔合约交易会有相对显著的区分. 具体设置如下: 发送方                           Rollup  和接收方  Rollup
                 均存在一个独立的账户, 发送方          Rollup  内的账户拥有充足的资金. 接着, 发送方          Rollup  的账户会持续向接收方
                 Rollup  的账户进行转账, 转账金额由随机数生成器产生. 实验中, 每次测试用例的唯一区别在于交易笔数. 经过聚
                 合处理后, 将生成跨      Rollup  交易所对应的零知识证明, 并将其发送至智能合约以进行执行. 最后, 计算智能合约的
                 总  Gas 消耗, 以评估不同交易数量条件下, 聚合规模对链上计算资源节省程度的影响. 通过这一实验设计, 本研究
                 旨在揭示聚合规模与链上计算资源节省之间的关系, 从而为优化跨                      Rollup  方案提供有益的参考信息.

                 4.3.2    实验结果
                    对零知识证明生成证明的时间开销的开销测试结果如图                     12  所示. 随着零知识电路中聚合规模上限           batch max
                 的增加, 证明生成时间呈现出上升趋势. 在批量交易数量上限为                   32  的情况下, 平均证明生成时间为        18.2 s; 当上限
                 为  256  时, 平均证明生成时间达到     54.3 s; 而在上限为  1 024  的场景下, 平均证明生成时间进一步上升至           118.6 s.
                    零知识证明生成时间随实时聚合规模的变化结果如图                    13  所示. 在固定零知识电路中聚合规模上限            batch max
                 为  256  后, 零知识证明的证明生成时间几乎保持稳定, 不会随实际聚合规模的变化而产生剧烈变化. 总体上, 在聚
                 合规模上限确定的情况下, 实际生成证明时间大致都在                 50 s 左右上下浮动, 整体系统变化不大.


                                                                   100
                     120
                     100                                           80
                     证明生成时间 (s)  80                               证明生成时间 (s)  60

                      60
                                                                   40
                      40
                                                                   20
                      20
                       0                                            0
                             32        256      1 024                0     50    100   150   200   250
                                  批量交易数量上限                                       实际聚合规模
                  图 12    不同聚合规模上限的零知识证明生成的时间                  图 13    聚合规模上限固定时的零知识证明生成时间

                    测试链上的实际       Gas 开销的结果如表     7  所示, 测试时交易处于满负载的状态, 即实际聚合规模               batch now  和聚
                          batch max  均相同, 在表中为聚合规模. 根据实验得到链上智能合约批量验证的总                   Gas 开销, 最后将总
                 合规模上限
                 Gas 开销除以聚合规模为平均单笔交易的            Gas 开销. 通过表中数据可以得到, 对于聚合化规模越大, 所需要花费的
                 总  Gas 开销越大, 但由于聚合规模的增长更快, 平均单笔交易的               Gas 开销实际更小.

                                             表 7 批量零知识验证的链上         Gas 开销表

                                聚合规模             批量验证的总Gas开销              平均单笔交易的Gas开销
                                  32                  244 724                    7 647
                                  256                 336 436                    1 314
                                 1 024                427 662                    417

                    与本研究评估了零知识证明在聚合批量化证明中的计算效率提升, 以证实其在提高计算效率方面相较于直
                 接  SPV  证明的优势. 测试结果如图      14  所示, 其中图例中的    size 为聚合规模上限     batch max . 根据图中所展示的数据,
                 可以观察到以下几个现象. 首先, 零知识证明方案在提高计算效率方面需要存在一定的条件限制. 当实时聚合规模
                 batch now  较小时, 采用零知识证明的计算开销可能大于直接进行             SPV  证明, 从而对原生链带来更大的负担. 其次聚
                 合规模上限越大, 计算效率提升比的上限越大, 最大的效率上限可以达到                      98%. 最后, 在同等实时聚合规模下, 计算
                                          batch now  的增加而降低, 过高的最大聚合上限不一定有利.
                 效率提升比会随着最大聚合规模
   396   397   398   399   400   401   402   403   404   405   406