一文了解零知识证明当中的Sum-check Protocol_HEC:Bitsum

随着比特币、区块链、智能合约等概念的铺开,越来越多的人关注到Web3领域的蓬勃发展。而在技术方面,也有许多开发者关注到支撑区块链底层的密码学协议。在这之中,零知识证明协议以其独特的特性大放异彩,无论是在实现隐私保护,还是在实现Layer2性能扩容的zkrollup项目当中,都发挥着关键的作用。零知识证明是一类算法的统称,到目前为止,研究者发明了包括Plonk、Groth16、zkStark、Virgo、Orion、Foaks等等在内的许多种协议。不同的协议适用于不同的计算场景,复杂度和效率也各有不同,例如Foaks就以线性的证明时间和较小的证明长度为优势。上述的每一种协议,协议目标是相同的,就是证明者希望在不向验证者透露任何关于自己的秘密的信息的情况下让验证者相信自己拥有秘密。sum-checkprotocol是很多协议的组件,最早在当中被提出。很多计算问题可以被转化成sum-checkprotocol能处理的问题,从而生成证明。包括Foaks在内的不少协议的底层协议都基于sum-checkprotocol,在其上进行调整来实现。在FoxTech所采用的Foaks证明系统当中,该协议同样发挥着重要的作用。具体来讲,为了实现对于某一操作码opcode正确性的证明,需要先将其转化为算术电路,之后转换为矩阵,最终生成多项式,对多项式应用证明系统当中的算法,在最后压缩证明的部分当中,同样将证明者和验证者之间的交互过程转换为计算某个和式,也就是sum-checkprotocol的过程。

美国众议院议长麦卡锡:周日前达成债务上限协议“可行”:金色财经报道,美国众议院议长麦卡锡表示,周日前达成债务上限协议“可行”。[2023/5/18 15:09:28]

图1:Sum-checkProtocol所在环节Sum-checkProtocol

1.协议目标

协议的目标非常简单且容易理解。假设我们有一个定义在有限域F上的v元多项式,记作g。协议的目标是计算和式:

和在zkRollup当中考虑的“外包计算”的场景类似,在应用当中,上述式子的计算量会非常大,我们希望将这个式子的计算交给证明者,之后证明者向验证者证明自己的计算结果是正确的。2.协议假设

OKC上线GAS Back功能,合约部署者最高可分配50%交易手续费:据官方消息,OKC新增Gas Back功能,支持在出块者与合约部署者之间按比例分配交易手续费。将调用某合约的交易手续费按比例分配给该合约的部署者,从而激励开发者在 OKC 上部署合约,促进OKC生态发展。

同时,Gas Back功能支持开发者注册、修改、删除分红合约,上线初期由Dapp开发者自由注册并参与手续费分红,根据OKC社区投票,最高分红比例达50%。[2022/11/21 7:53:11]

首先,需要明确在这个协议当中验证者的能力。我们假设验证者拥有可以计算函数g的预言。也就是说,对于验证者而言,确定某个输入r1,...,rv之后,计算g(r1,...,rv)是容易的。但是计算完整的结果H是困难的。事实上,在现实应用当中,预言不会存在,但是可以通过某种手段实现,例如我们可以让证明者帮助验证者计算这个值,并用更多的技巧附加正确性的证明。第二点,关于协议的目标,事实上sum-check协议可以对于任意的集合B计算bBmg(b),但是不失一般性的,我们假设B={0,1}。3.协议过程

美国CFTC将通过新的技术创新办公室加强加密货币工作:金色财经报道,美国CFTC负责人Rostin Behnam表示,随着加密货币监管超越了沙盒阶段,衍生品监管机构正在将其LabCFTC升级为技术创新办公室。该机构的LabCFTC是一个长期运行的金融技术团队,将被改造成新的办公室,该办公室将由一名主任领导,向Behnam报告,该办公室还将配备专家,现有的CFTC员工将有机会轮换,以获得加密货币经验。

作为一个研究项目,我们已经超越了数字资产的阶段,监管机构必须灵活,新的挑战可能要求我们更深入地挖掘,以不同的眼光看待我们的有机法规如何促进我们与我们监管的市场一起成长。(Coindesk)[2022/7/26 2:37:30]

协议一共包含v轮。在每一轮当中会处理g中的一个变量。第1轮:

如果证明者是诚实的,应当成立H=g1(0)+g1(1)。验证者验证,若通过则选择随机数r1发送给证明者。注意到,根据协议的假设,证明者可以完成上述验证。我们用degi(p)来表示多元多项式p当中,第i个变量的次数。g1(X1)的次数为deg1(g),所以我们知道g1可以用deg1(g)+1个域元素表出。第j(j>1)轮:

美联储7月加息75个基点的概率为93%:7月11日消息,据CME“美联储观察”:美联储到7月份加息75个基点的概率为93%,加息100个基点的概率为7%;到9月份累计加息50、75、100个基点的概率均为0%,累计加息125个基点的概率为66%,累计加息150个基点的概率为31.9%、加息175个基点的概率为2.0%。(金十)[2022/7/11 2:03:58]

如果证明者是诚实的,应当成立gj-1(rj-1)=gj(0)+gj(1)。验证者验证,若通过则选择随机数rj发送给证明者。第v轮:

NFT 电影《无限机器》邀请 Decentraland 和 Lumiere 为其开发元宇宙视角:5月30日消息,NFT电影《无限机器》制作公司VersusEntertainment邀请Decentraland和娱乐公司Lumiere为该电影开发NFT和元宇宙视角。据悉,《无限机器》改编自CamillaRusso的同名书籍,将由Versus和知名导演RidleyScott的制作公司ScottFree共同制作。该电影的预算为1600万美元,预计将在未来几个月进行第三轮NFT发行。(Beincrypto)[2022/5/30 3:50:10]

图2:TheFoaksSum-checkprotocolCompleteness:若证明者拥有有效的Witness,则验证者会以不低于的概率接受证明;Soundness:若证明者没有有效的Witness,则验证者会以低于negl的概率拒绝证明Succinctness:Proof的Size必须远小于Witness的Size;Zero-knowledge:验证者无法通过证明的交互过程获取任何关于witness的信息#其中negl为任意可忽略的函数4.协议复杂度

通过第3部分的论证,我们可以看到,协议一共由v轮组成,每一轮当中证明者需要给验证者发送一个degi(g)次的多项式,也就是deg1(g)+1个域元素,所以总体的通信复杂度是O(i=1vdegi(g))。关于计算复杂度方面,在每一轮验证都通过的情况下,证明者最多需要进行2v次对g取值的运算;验证者做的运算是对每一轮的gj进行取值以及在最后一轮对g取值。下表具体展示了复杂度的结果,其中T代表访问一次预言也就是对g进行一次求值所需要的开销。

图3:Sum-check协议的复杂度Sum-checkProtocol的应用

在许多的零知识证明算法当中,sum-checkprotocol都在发挥着重要的作用。许多问题的证明,都依赖于将原始的问题转化为sum-check的形式,再完成后续的步骤。例如,可以利用sum-checkprotocol来计算一个无向图中的三角形数量。首先,我们使用邻接矩阵A表示无向图G,设E为其边集合,则Ai,j=1(i,j)E,也就是说若点i,j之间存在一条边则Ai,j=1否则为0。对于点i,j,k,三点构成三角形的条件是Ai,j=1,Ai,k=1,Aj,k=1。接下来记矩阵A为一映射表,表示的映射为f:{0,1}logn{0,1}logn{0,1},其中logn为i,j的二进制长度。所以对于点i,j,k,三点构成三角形的条件进一步可以表示为f(i,j)f(i,k)f(j,k)=1。

此外,在许多证明系统当中,都采用了sum-checkprotocol作为底层逻辑进行构造。下图展示了根据在sum-check基础上进行不同改造得到的不同证明系统。

图4:Sum-checkprotocol在四类证明系统当中的应用

图5:Sum-checkprotocol在简洁证明方面的具体应用结语

本文梳理了sum-check协议的具体流程,以及讨论了协议的复杂度,同时展示了其在许多证明系统当中的应用。在web3领域不断拓展的当下,密码学作为区块链技术的底层构件,其作用显得越来越重要。随着zkrollup、隐私保护等等依赖零知识证明的应用和项目逐渐诞生,sum-check协议,作为诸多证明系统的重要组件,也正在被学界和产业界同时给予越来越多的关注。参考文献

CarstenLund,LanceFortnow,HowardKarloff,andNoamNisan.Algebraicmethodsforinteractiveproofsystems.J.ACM,39:859–868,October1992.https://people.cs.georgetown.edu/jthaler/sumcheck.pdfhttps://zkproof.org/2020/03/16/sum-checkprotocol/https://eprint.iacr.org/2021/333.pdf介绍sum-check的中文博客https://blog.csdn.net/mutourend/article/details/111610754

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

水星链

[0:15ms0-1:364ms