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 的增加而降低, 过高的最大聚合上限不一定有利.
效率提升比会随着最大聚合规模

