论文分享|QuickSilver:任意域上的用于电路和多项式的可负担的高效零知识证明
隐私计算研习社 2023-12-06 17:30 发表于新加坡
收录于合集#零知识证明14个
论文名称:Yang K, Sarkar P, Weng C, et al. Quicksilver: Efficient and affordable zero-knowledge proofs for circuits and polynomials over any field
论文来源:Proceedings of the 2021 ACM SIGSAC Conference on Computer and Communications Security. 2021: 2986-3001.
论文整理 :济南大学信息科学与工程学院2021级硕士研究生孙奎恒
现有较为流行的非交互式零知识证明方案(如,Groth16、Virgo等)都具有证明内存占用大,即可扩展性差的问题。这已成为了零知识证明系统可处理计算规模的重要瓶颈。这引起了广泛关注。有些方案尽管尝试解决可扩展性差的问题,如基于无隐私混淆电路的零知识协议、基于MPC-in-the-head的零知识证明协议等,但因为其在计算及通信效率方面的表现不是很理想,导致其无法进入实用。
近期提出的基于VOLE的零知识证明协议,通过类似“流式”的方式实现了高可扩展性零知识证明协议,但计算及通信效率仍较差。因此,本文提出了新的基于sVOLE的零知识证明方案“QuickSilver”,其通过VOLE的线性关系成功将证明电路中每个乘法门所需的VOLE实例降到1个,极大减少了整个协议的通信量。其次,其将基于VOLE的零知识证明协议首次应用于多项式,对于多个d阶多项式的证明,将协议所需VOLE关系降至n个,其中n为见证大小。
1
****IT-MACs ( Information-Theoretic MACs )及sVOLE
信息论消息认证码(IT-MACs)可用于认证域 及
上的值。让
作为全局密钥,其只可由验证者
获知,值
or
由证明者
获知。
拥有密钥,使得
拥有值
,这种关系可以表示为
,其拥有加法同态的性质,且可以被进一步扩展到对向量的认证。本文通过sVOLE实现IT-MACs,这时
便是指
拥有n维向量
及
,
拥有值
及n维向量
,满足
。其中sVOLE(subfield Vector Oblivious Linear Evaluation)的功能如下图。
2
****电路的零知识证明协议
2.1 协议的三个阶段
首先是预处理阶段(即,线下阶段),证明者及验证者
需要进行初始化操作,生成相应数量的随机sVOLE实例,用于线上阶段对线值进行承诺。
其次是线上阶段,首先便是对线值承诺。sVOLE具有加法同态的性质,因此加法门可以在本地进行计算,无需双方进行通信。这时只需对电路输入值及乘法门的输出值进行承诺,在本文的协议,对于个sVOLE实例,这共需
个域元素通信,其中代表输入值的大小及
代表乘法门的数量。
最后便是线上验证阶段,需要向
证明乘法门的输出正确性及电路输出
。第一种方法是将基于sVOLE的承诺作为黑盒使用;第二种便是形同LPZK方案,利用IT-MAC的线性关系。
2.2 乘法门的验证及证明
设双方已经拥有乘法门输入及输出
的承诺
,其中
且对于
,
。为了防止恶意证明者,需要对
是否等于
进行验证。若
,应该满足以下公式:
且可以通过由验证者随机采样值
实现对乘法门的批量认证:
2.3 扩展sVOLE及VOPE协议
扩展sVOLE用于协议中全局密钥的生成及随机sVOLE生成。VOPE(vector oblivious polynomial evaluation)被用于协议双方生成随机多项式关系
,用于零知识证明协议中对发送值进行屏蔽。
2.4 针对电路可满足性的零知识证明协议
这个协议具有完美完备性、错误为的可靠性及完美零知识特性。这个协议的通信量为
,与输入值大小及乘法门数量呈线性关系。证明计算复杂度及验证计算复杂度与乘法门数量呈线性关系。且此协议的线上阶段可以通过Fiat-Shamir范式实现非交互式线上阶段。
3
****用于多项式的零知识证明协议
3.1 证明内积
向量及
内积的证明多项式可以表示
,这是一个二阶多项式。假设双方持有向量的承诺
,证明者想要证明
。由此可以得出下面式子:
因此可以将其变为线性关:
这个对2阶多项式的证明过程只需发送及承诺输入值所需的通信量。并且通过线性组合,对于t个此类多项式的通信量仍保持不变。
3.2 证明任意阶多项式
设多项式为最多d阶的n元多项式。设
为所有项都为h阶的多项式,因此便可以将多项式
表示为
。证明者想要证明
。由此可以得出:
其中,通过乘,构造
,消去其中的
项。因此,将
转变为证明
成立。
3.3针对多项式的零知识证明协议
针对证明t个最多为d阶的n元多项式,其中
。
这个协议具有完美完备性、错误为的可靠性及完美零知识特性。通信复杂度为
,与输入值大小及多项式阶呈线性关系,证明计算复杂度及验证计算复杂度分别为
及
,其中z是t个多项式中最大项。此协议的线上阶段可以通过Fiat-Shamir范式实现非交互式线上阶段。
4
****实验结果与分析
4.1 基于电路的零知识证明协议
本文使用AND/MULT门验证电路来对ZK协议的性能进行基准测试。
在布尔电路中,QuickSilver与最先进的协议Wolverine相比,计算提高了6倍,通信提高了7倍;对于算术电路,与Wolverine和Mac'n'Cheese相比,QuickSilver协议在计算方面至少提高了7倍,在通信方面提高了3-4倍。
对于4核CPU的m5.2xlarge 类型的 Amazon EC2 机器,QuickSilver协议在布尔电路的计算速度为每秒 530 万到 730 万门,算术电路的速度为每秒 220 万到 300 万门。
4.2 基于多项式的零知识证明协议
在下面的所有实验中,对二进制域使用20 Mbps的网络带宽,对61比特域使用500 Mbps的网络带宽,并且始终使用单线程。
对于内积测试,证明者想要证明两个向量的内积等于一个公开值。在下表对处理见证及证明内积在不同的域及不同长度的向量下进行了测试。
其次,对矩阵乘法进行测试,QuickSilver中基于多项式的零知识证明协议比基于电路的协议快31倍,通信比基于电路的协议少340倍。QuickSilver的证明体积仍然明显大于 Spartan 和 Virgo,但在执行时间和内存占用方面有优势。
对于证明解决基于格的问题(SIS),证明者证明其拥有向量,使得
。其中矩阵和向量
是公开的。各种协议的通信量及执行时间如下。
5
****总结
本文通过利用IT-MAC的线性关系成功将乘法门所需sVOLE实例降至1个,相较先前方案在通信及执行效率方面都有较大提升,但通信量与验证时间仍与电路规模呈线性关系,无法做到如同ZK-SNARK等零知识证明方案的简洁性(即,次线性或恒定的证明体积与次线性的验证时间)。
基于VOLE的零知识证明协议无法实现非交互式,这使其应用范围大大缩小,但其高可扩展性,使其相比其它零知识证明方案可以更加容易地应用于如机器学习等大规模计算的证明及验证。
参考:SecurityLabUJN
分享仅供学习参考,若有不当,请联系我们处理。
END
热
文
推
3.论文分享|容忍恶意行为的联邦学习安全聚合方案——IEEE S&P 2023论文速览
荐
4. 论文分享|Forward secure searchable encryption with keyed-block chain
隐私计算研习社
隐私计算技术学习平台,日常分享隐私计算相关学习文章、课程、活动等,和大家一起成长!
172篇原创内容
**
公众号
收录于合集 #零知识证明
14个
上一篇走进零知识证明系统一Plonk之KZG承诺方案