Page 387 - 《软件学报》2025年第8期
P. 387
3810 软件学报 2025 年第 36 卷第 8 期
∃Receipt(TX sender )
S (TX sender ) = successful
Event(TX sender ) = TX receiver
(1)
s.t. S (TX sender ) ∈ Receipt(TX sender )
Event(TX sender ) ∈ Receipt(TX sender )
Receipt(TX sender ) ∈ ReceiptTree
2.3.2 交易验证策略
本方案除了要完成上述验证目标, 还需要在验证上述目标的过程中优化区块链交易验证过程中的资源利用效
率. 为此, 本文采用了批量零知识证明策略. 通过这种策略, 可以将多个交易批量验证, 从而减少链上资源的占用和
交易验证的时间成本, 提高了整个系统的交易处理效率.
本方案使用的是零知识证明算法中验证开销小的简洁性. 通常而言, 零知识证明验证证明的开销随待验证函
数的计算复杂度是对数增加的, 且增加效率低, 在一定范围内甚至可以近似看成是常数级别的复杂度.
在传统的交易验证过程中, 每笔交易需要分别进行 SPV 证明的生成和验证, 这会导致链上计算成本是随交易
量线性增加的. 相比之下, 批量零知识证明策略可以将多个 SPV 证明合并为一个零知识证明, 合入的交易量越多,
零知识证明的总开销也不会显著增加, 从而大幅降低单笔交易平均计算成本. 此外, 在批量零知识证明策略, 由于
不同交易的默克尔树的证明过程是相互独立的, 因此可以通过优化算法实现零知识证明的并行化, 提高证明的生
成效率, 较好的缓解了零知识证明生成过程过长的问题.
在本方案中, 链下的 Rollup 节点为零知识证明的证明者, 它需要证明链下提供的接收方交易集合 TX receiver 是
真实有效的. 链上的智能合约为零知识证明的验证者, 它通过简单的计算即可验证其链下提供信息的正确性. 当链
上智能合约能够证明交易的有效性后, 接收方 Rollup 则可以读取交易并执行.
本文采取的零知识策略整体属于 zk-SNARKs 类的零知识证明方案体系. 完整的 zk-SNARKs 零知识证明方案
通常分为证明初始化阶段, 证明生成阶段和证明验证阶段. 在证明初始化阶段, 证明方和验证方需要提前设置相关
密码学参数的公共参考串 (CRS) 的形式实现协议的非交互性. 系统参与方需要在生成证明前生成一个随机字符
串, 该字符串只需要生成过程不一直被人为控制便可以保障零知识证明的有效性. 保障随机字符串的生成安全, 现
已有多种研究, 可以参考文献 [12,13] 等, 定期生成和更换 CRS 保障零知识证明的公共参考串.
零知识证明生成阶段具体流程如图 5 所示, 在本方案中明文数据指的是交易收据树根集合 ReceiptRootList,
TX receiver TreeRoot 相关信息, 具体的明文输入详见表 Receipt -
最终生成的接收方交易默克尔树根 1. 其中交易收据树根
Root 是在链上有效性验证通过的交易收据树根. 由于采用批量化验证的特点, 可能多笔交易不在同一个交易收据树
根 ReceiptRoot 中, 因此将该批交易涉及的所有交易收据树根的集合共同形成一个交易收据树根数组 ReceiptRoot -
List. 由于产生了多笔接收方交易, 系统将多笔接收方交易共同组织成一棵默克尔树, 其树根就是接收方交易默克
尔树根 TX receiver TreeRoot.
密文数据在本方案中指的是不公开上传的数据, 具体的密文输入详见表 2. TX sender List 是所有待验证的发送方
交易集合; TX receiver List 是所有上传到链上存储的接收方交易集合; ReceiptList 是所有发送方交易对应的收据信息
集合; 对于每一个待验证的发送方交易收据, 都会有一条 SPV 证明默克尔路径来证明该收据存在于交易收据树中,
ReceiptMerklePathList 是所有交易收据的默克尔路径证明集合.
接下来描述具体的验证函数部分, 大致流程为:
(1) 将明文输入和密文输入后, 逐一判断输入的基本合法性;
Receipt 的合法性;
(2) 检索每一个收据
(3) 检索每一个收据是否存在于交易收据树中 ReceiptTreeRootList;
(4) 最后验证跨 Rollup 交易 TX receiver 生成跨 Rollup 交易树是否为明文输入的 TX receiver TreeRoot.
零知识证明验证策略是验证上述零知识证明生成过程有效的方案, 由零知识证明的验证者完成. 该方案需要
将明文数据输入和零知识证明生成策略中的零知识证明证据输入到验证电路中, 验证电路会返回该证明证据是否

