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

原文作者:FoxTechCEO康水跃,FoxTech首席科学家孟铉济

随着比特币、区块链、智能合约等概念的铺开,越来越多的人关注到Web3领域的蓬勃发展。而在技术方面,也有许多开发者关注到支撑区块链底层的密码学协议。在这之中,零知识证明协议以其独特的特性大放异彩,无论是在实现隐私保护,还是在实现?Layer?2?性能扩容的?zkrollup?项目当中,都发挥着关键的作用。

零知识证明是一类算法的统称,到目前为止,研究者发明了包括?Plonk、Groth?16、zkStark、Virgo、Orion、Foaks?等等在内的许多种协议。不同的协议适用于不同的计算场景,复杂度和效率也各有不同,例如?Foaks?就以线性的证明时间和较小的证明长度为优势。

上述的每一种协议,协议目标是相同的,就是证明者希望在不向验证者透露任何关于自己的秘密的信息的情况下让验证者相信自己拥有秘密。sum-checkprotocol?是很多协议的组件,最早在当中被提出。很多计算问题可以被转化成?sum-checkprotocol?能处理的问题,从而生成证明。包括?Foaks?在内的不少协议的底层协议都基于?sum-checkprotocol,在其上进行调整来实现。

MetaSleuth:Atlantis执行合约被替换,近100万美元资产被盗:6月11日消息,据 MetaSleuth 数据显示,由于执行一项恶意治理提案,Atlantis 代币与 Unitroller 的执行合约被替换为新创建的 0x613cc5 合约,导致已经批准给 Atlantis 合约的用户资产被转入 0xeade07 地址。除了 0xeade07 地址从 Atlantis 合约中提走的 ATL 代币外,总共有近 100 万美元资产流入 0xeade07 地址(其中一些已经转入 0xd8e918 地址)。MetaSleuth 表示,大量 Atlantis 执行合约在交易中被替换,如果用户已经批准将资产占入一个似乎是 ABep20Delegator 合约,请撤销批准。[2023/6/11 21:29:25]

在?FoxTech?所采用的?Foaks?证明系统当中,该协议同样发挥着重要的作用。具体来讲,为了实现对于某一操作码?opcode?正确性的证明,需要先将其转化为算术电路,之后转换为矩阵,最终生成多项式,对多项式应用证明系统当中的算法,在最后压缩证明的部分当中,同样将证明者和验证者之间的交互过程转换为计算某个和式,也就是?sum-checkprotocol?的过程。

Paxos Treasury销毁74,224,220枚BUSD:金色财经报道,Whale Alert监测数据显示,北京时间2023年2月19日01:45,Paxos Treasury销毁74,224,220枚BUSD。[2023/2/19 12:15:43]

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

1.协议目标

协议的目标非常简单且容易理解。

假设我们有一个定义在有限域?F?上的?v?元多项式,记作?g。协议的目标是计算和式:

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

2.协议假设

数据:过去24小时Nexo共计将9,413枚ETH转移至Binance:11月30日消息,据Lookonchain数据显示,过去24小时,中心化加密借贷平台Nexo共计将9,413枚ETH转移至Binance,约合1160万美元。

据悉,NEXO平台地址(0x7344开头)此前于11月22日从AAVE平台提取99,654枚ETH,自11月25日起,该地址已累计转出46,476枚ETH,其中37,257枚ETH被转入至Binance平台。[2022/11/30 21:13:13]

首先,需要明确在这个协议当中验证者的能力。我们假设验证者拥有可以计算函数?g?的预言。也就是说,对于验证者而言,确定某个输入?r?1,...,?rv?之后,计算?g(r?1,...,?rv)是容易的。但是计算完整的结果?H?是困难的。

知情人士:比特币矿商Northern Data将于10月推出数千万欧元的股票回购计划:金色财经消息,据知情人士透露,德国比特币矿商Northern Data正在考虑回购价值数千万欧元的股票,可能会在10月份的年度股东大会上推出股票回购计划,而今年以来该公司股价已下跌70%。(彭博社)[2022/8/31 12:59:53]

事实上,在现实应用当中,预言不会存在,但是可以通过某种手段实现,例如我们可以让证明者帮助验证者计算这个值,并用更多的技巧附加正确性的证明。

第二点,关于协议的目标,事实上?sum-check?协议可以对于任意的集合?B?计算?bBmg(b),但是不失一般性的,我们假设?B={?0,?1?}。

如果证明者是诚实的,应当成立?H=g?1(?0)g?1(?1)。验证者验证,若通过则选择随机数?r?1?发送给证明者。注意到,根据协议的假设,证明者可以完成上述验证。

Telegram:用户突破7亿,正在推出收费具有“附加功能”的版本:金色财经消息,Telegram每月拥有超过7亿活跃用户,并且随着即时消息传递平台推动将其庞大用户群的一部分“变现”,正在推出收费具有“附加功能”的版本。该公司没有透露收取多少费用,但每月订阅的价格似乎在5美元到6美元之间。[2022/6/20 4:39:30]

我们用?degi(p)来表示多元多项式?p?当中,第?i?个变量的次数。g?1(X?1)的次数为?deg?1(g),所以我们知道?g?1?可以用?deg?1(g)?1?个域元素表出。

第?j(j>1)轮:

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

第?v?轮:

Completeness:若证明者拥有有效的?Witness,则验证者会以不低于的概率接受证明;

Soundness:若证明者没有有效的?Witness,则验证者会以低于?negl的概率拒绝证明

Succinctness:Proof?的?Size?必须远小于?Witness?的?Size;

Zero-knowledge:验证者无法通过证明的交互过程获取任何关于?witness?的信息

#其中?negl为任意可忽略的函数

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?在简洁证明方面的具体应用

产业界同时给予越来越多的关注。

CarstenLund,LanceFortnow,HowardKarloff,andNoamNisan.Algebraicmethodsforinteractiveproofsystems.J.ACM,39:?859?–?868,October1992.

https://people.cs.georgetown.edu/jthaler/sumcheck.pdf

https://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:0ms0-0:812ms