我将简单介绍我们最近发表在 IEEE S&P(Oakland) 2025 上的文章 JesseQ: Efficient Zero-Knowledge Proofs for Circuits over Any Field
基于向量不经意线性评估(VOLE)的零知识证明(ZKPs)近期因其高效性和可扩展性获得显著关注。最新实现方案每秒可证明数千万逻辑门,并能平滑扩展至万亿级逻辑门验证。相较于现有简洁零知识证明系统,这类方案显著降低了证明方的计算开销。具体而言,工作LPZKv2表明在验证百万级逻辑门时,基于VOLE的ZKPs比其他方案(如Groth16、Virgo、Cerberus)快3-10倍。

基于VOLE的ZKPs性能如下表所示。在该框架下,零知识证明协议(LPZK)首次实现大域算术电路中每个逻辑门约1个通信元素的里程碑,后续QuickSilver将其改进为支持任意数域。另一改进方向LPZKv2则将通信量减半并降低计算成本。这些方案的通信复杂度与电路规模呈线性关系。AntMan首次实现 的亚线性通信构造( 为大域算术电路规模),虽然计算成本仍保持高效,但引入了 的开销。在计算效率方面,QuickSilver和LPZKv2分别在布尔电路和大域算术电路中表现最优。值得注意的是,支持任意数域的VOLE-ZKPs与仅适用于大域的方案存在显著性能差异。
另一研究方向针对特定结构电路(如表示析取式 的 分支子电路)进行优化。最先进的Batchman实现了批量析取式的亚线性通信和计算,其框架可通过黑盒方式实例化基于VOLE的ZKPs来处理乘法运算。
本表格将我们的工作(JQv1 和 JQv2)与先前相关工作的证明者成本进行了对比,数据来源包括他们研究中报告的结果以及在相同硬件上运行的实验(AntMan 除外,其使用了更高配置的实例)。
Size 表示每个乘法门需要发送的域元素数量(AntMan 除外,其具有亚线性通信特性)。
Speed 表示在无限带宽和单线程条件下每秒可执行的乘法门数量(AntMan除外,其使用1 Gbps网络带宽并在四线程下运行)。
此外,其他工作将算术电路的素数设为 ,而由于同态加密的特性,AntMan 要求将 设为更小的素数 。
我们提出JesseQ(JQv1与JQv2)——一种基于VOLE的常数轮零知识证明新方案,适用于预处理模型中任意数域上的电路(与LPZKv2框架相同)。其中JQv1支持任意结构电路,JQv2针对分层电路优化,二者均具备更优的在线阶段性能 (和LPZKv2协议一样,在预处理全部完成后,我们报告已知见证值(witness)时生成证明的在线阶段成本)。如既往研究,我们重点分析证明方效率:对于任意数域电路,JQv1/JQv2的证明方与验证方计算量均优于现有最优方案。唯一例外是:在大域电路场景下,JQv1验证方每个乘法门需比LPZKv2多执行一次乘法运算。但我们的协议仍通过全数域兼容性保持整体优势。
我们首先回顾先前工作的相关背景,再对协议的技术概要进行说明。
大多数基于VOLE的零知识证明将VOLE关联性用作信息论消息认证码(IT-MAC,使得证明者(Prover)能够向验证者(Verifier)提交线值承诺。
设 为有限域, 是验证者已知的全局密钥, 是证明者已知的值。对 的IT-MAC承诺由一对值 组成,其中 由证明者持有, 由验证者持有,且满足关系式 。
VOLE功能允许证明者和验证者共同构造一组认证随机值。调用后:
若证明者已知某向量 的承诺,可将随机向量 的承诺转换为 的承诺:
大多数恒定轮次的基于VOLE的零知识证明遵循"承诺-证明"框架,并包含预处理阶段以提高效率。具体包含以下阶段:
预处理阶段
Prover 和 Verifier 调用VOLE功能,获得对随机向量 的承诺 ,这些值将在在线阶段被消耗。
(对应步骤标签 step:1)
在线阶段 - 承诺
Prover 将电路中所有线值承诺给 Verifier:
step:2)在线阶段 - 证明[乘法正确性]
Prover 和 Verifier 协作验证每个乘法门输出线 的计算正确性。
(对应步骤标签 step:3)
在线阶段 - 证明[输出正确性]
核心差异:现有恒定轮次VOLE-ZKP方案的主要区别在于步骤 step:3 的实现方式。
LPZK 及其后续改进方案 QuickSilver采用了相似的思路来验证乘法运算的正确性。下面我们将具体阐述 Prover 如何在承诺线值后向 Verifier 证明乘法门的正确计算。假设某乘法门的输入线为 ,输出线为 ,给定承诺值 ,Prover 需证明 。
核心思想:是将IT-MACs解释为的线性多项式:定义 (其中 ),构造二次多项式 。Verifier 已知其在 处的取值 ,而 Prover 掌握其系数。具体展开为:
其中系数分别为:
关键性质:当且仅当 时, 退化为线性多项式。为证明这一点,Prover可发送 和 给Verifier,后者验证 。但直接发送每个门的两个域元素效率低下,因此QuickSilver采用批量验证策略:
批量验证流程:
*注:为实现零知识性,需额外VOLE关联值来掩盖 和 ,此处暂不展开。
小域场景的增强: 上述方案在大域算术电路上有效,但在小域存在安全风险, 攻击者以不可忽略概率猜测全局密钥 从而伪造IT-MAC。为此,QuickSilver引入子域VOLE(sVOLE)变体,其关联随机数形式为 ,其中 , , 。
LPZKv2通过两项技术改进实现了对LPZK的优化:
技术改进1:IT-MAC重构
将见证值置于 而非 中。新架构下:
技术改进2:二次VOLE(qVOLE)
通过生成额外关联随机数提升在线阶段效率。除基础关联式 ( )外,qVOLE还生成:
该机制显著降低复杂度,具体原理如下:
乘法验证流程
承诺阶段:采用常数项承诺形式 ( )
预处理阶段:通过qVOLE获取 (Prover)和 (Verifier),满足
多项式构造:定义二次多项式
验证阶段:
批量验证协议
对于 个需验证的常数多项式 (Verifier已知 ):
电路优化扩展
LPZKv2对特定电路类有额外优化。关键发现是表达式:
其中:
本节阐述JesseQ的设计原理。我们通过二次子域VOLE(qsVOLE)技术融合QuickSilver与LPZKv2的优势,并设计了适配qsVOLE的高效乘法验证协议。相较于现有基于二次多项式的方法,我们的方案采用一次多项式实现更高效的验证,同时设计了创新的批量验证机制。
对于输入线 和输出线 的乘法门:
预处理阶段
验证多项式构造
线性多项式定义:
( )
一次多项式构造:
其中:
验证逻辑
当且仅当乘法门计算正确时:
此时 退化为常数多项式。虽然Prover可发送 供Verifier验证 ,但会导致每门传输一个域元素。
我们采用随机预言机模型下的哈希函数 实现批量验证:
方案扩展性
如LPZKv2,本方案可从标准算术电路推广至任意二次多项式门电路[详见文章第3节]。
JQv2 将分层电路中每个乘法门由证明者发送的域元素数量(均摊值)降低至 。这一优化基于与 LPZKv2 相似的观察:
其中:
该多项式已能直接认证 而无需任何通信。为简化描述,此处假设偶数层的导线数量多于奇数层。具体而言,我们允许证明者和验证者直接使用输入导线关联的值计算偶数层门输出的 ,从而避免证明者向验证者发送 。但对于奇数层的门,证明者仍需发送 供验证者计算 。由于奇数层输入(偶数层输出)的关联值不再是随机值 与双方已知值 的简单线性组合,JQv1 中的校验方法在此不适用。
因此,在给定输入输出导线的认证值后,我们采用与 QuickSliver 相似的基于二次多项式在 处求值的校验方法,具体细节在 [文章第4节]中阐述。
作者&联系方式:刘梦玲(https://mengling-l.github.io/)
我们的在线版本: https://eprint.iacr.org/2025/533