Cointime

扫码下载App
iOS & Android

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

作者:Fox Tech CEO 康水跃,Fox Tech 首席科学家 孟铉济

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

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

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

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

图1: Sum-check Protocol所在环节

Sum-check Protocol

1.协议目标

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

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

H :=b10,1b20,1...bv0,1g(b1, ... ,bv)

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

2. 协议假设

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

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

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

3. 协议过程

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

第1轮:

证明者发送多项式g1(X1),并声明g1(X1)=(x2,...,xv)0,1v-1g(X1,x2, ... ,xv)。

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

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

第j(j>1)轮:

证明者发送多项式gj(Xj),并声明gj(Xj)=(xj+1,...,xv)0,1v-jg(r1, ... ,rj-1,Xj,xj+1, ... ,xv)。

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

第v轮:

证明者发送多项式gv(Xv),并声明gv(Xv)=g(r1, ... ,rv-1,Xv)。

如果证明者是诚实的,应当成立gv(rv)=g(r1, ... ,rv-1,rv)。验证者验证,若通过则可以相信H=g1(0)+g1(1)。

图2: The Foaks Sum-check protocol

  • Completeness: 若证明者拥有有效的Witness,则验证者会以不低于(1-negl(n))的概率接受证明;
  • Soundness: 若证明者没有有效的Witness,则验证者会以低于negl(n)的概率拒绝证明
  • Succinctness: Proof的Size必须远小于Witness的Size;
  • Zero-knowledge:验证者无法通过证明的交互过程获取任何关于witness的信息

#其中negl(n)为任意可忽略的函数

4. 协议复杂度

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

下表具体展示了复杂度的结果,其中T代表访问一次预言(Oracle)也就是对g进行一次求值所需要的开销。

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

Sum-check Protocol的应用

在许多的零知识证明算法当中,sum-check protocol都在发挥着重要的作用。许多问题的证明,都依赖于将原始的问题转化为sum-check的形式,再完成后续的步骤。

例如,可以利用sum-check protocol来计算一个无向图中的三角形数量。

首先,我们使用邻接矩阵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}log n{0,1}log n{0,1},其中logn为i,j的二进制长度。所以对于点i,j,k,三点构成三角形的条件进一步可以表示为f(i,j)f(i,k)f(j,k)=1。

所以,G中全部三角形的数量h可以表示为h=16i,j,k{0,1}log nf(i,j)f(i,k)f(j,k)。再定义三元多项式g(I,J,K)=f(i,j)f(i,k)f(j,k)。则有6h=i,j,k{0,1}log ng(i,j,k)。于是使用sum-check protocol计算H=i,j,k{0,1}log ng(i,j,k)即可。

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

图5: Sum-check protocol在简洁证明方面的具体应用

结语

本文梳理了sum-check协议的具体流程,以及讨论了协议的复杂度,同时展示了其在许多证明系统当中的应用。

在web3领域不断拓展的当下,密码学作为区块链技术的底层构件,其作用显得越来越重要。随着zkrollup、隐私保护等等依赖零知识证明的应用和项目逐渐诞生,sum-check协议,作为诸多证明系统的重要组件,也正在被学界和产业界同时给予越来越多的关注。

参考文献

  1. [LFKN92] Carsten Lund, Lance Fortnow, Howard Karloff, and Noam Nisan. Algebraic methods for interactive proof systems. J. ACM, 39:859–868, October 1992.
  2. https://people.cs.georgetown.edu/jthaler/sumcheck.pdf
  3. https://zkproof.org/2020/03/16/sum-checkprotocol/
  4. https://eprint.iacr.org/2021/333.pdf
  5. 介绍sum-check的中文博客 https://blog.csdn.net/mutourend/article/details/111610754
评论

所有评论

推荐阅读

  • 消息人士:特朗普政府正制定方案以夺取伊朗核材料储备

    3 月 21 日,据美国哥伦比亚广播公司(CBS)报道,多位知情人士透露,特朗普政府一直在谋划获取或转移伊朗核材料的方法和选项。此时,由美国和以色列领导的针对伊朗的军事行动正进入一个更加不确定的阶段。关于特朗普是否会下令实施此类行动,目前时机尚不明确。一位消息人士表示,他尚未做出任何决定。但两位消息人士表示,相关规划的核心是可能部署来自联合特种作战司令部的部队,该部队是精英军事单位,常负责最敏感的防扩散任务。

  • 中东冲突与加息预期共振:全球资产大震荡,美股四连跌、债市「血洗」、黄金创43年最大周跌幅

    3 月 21 日,中东局势持续升级叠加 Federal Reserve 加息预期骤然升温,全球市场遭遇系统性冲击。美股连续第四周下跌创一年最长跌势,纳指单日跌超 2%,科技股全线承压;全球债市收益率大幅飙升,美债、英债、德债均创多年新高,资金大规模去杠杆。大宗商品剧烈分化,黄金跌破 4500 美元关口,单周暴跌超 10%,创 1983 年以来最大跌幅,避险属性遭质疑;原油则因中东供应风险暴涨,布油重返 110 美元上方,迪拜原油期货单日飙升超 16%。与此同时,比特币在 7 万美元附近获得支撑,连续三周跑赢黄金。市场分析认为,地缘冲突推升能源价格并加剧通胀预期,迫使货币政策路径重定价,全球金融条件快速收紧,风险资产仍处于下行与再定价过程中。

  • 美团开源560B参数定理证明模型:72次推理通过率97.1%,刷新开源模型SOTA

    据 1M AI News 监测,美团 LongCat 团队开源 LongCat-Flash-Prover,一个 5600 亿参数的 MoE 模型,专攻形式化定理证明语言 Lean4 的数学推理任务。模型权重以 MIT 协议发布,已上线 GitHub、Hugging Face 和 ModelScope。模型将形式化推理拆解为三项独立能力:自动形式化(将自然语言数学问题转化为 Lean4 形式语句)、草图生成(产出引理风格的证明框架)和完整证明生成。三项能力均通过 Agent 工具集成推理(TIR)与 Lean4 编译器实时交互验证。训练方面,团队提出 Hybrid-Experts Iteration Framework 生成冷启动数据,并在强化学习阶段引入 HisPO 算法稳定 MoE 模型的长程任务训练,同时加入定理一致性和合法性检测机制防止 reward hacking。基准测试显示,LongCat-Flash-Prover 在开源权重模型中刷新了自动形式化和定理证明两项 SOTA。MiniF2F-Test 上仅用 72 次推理即达 97.1% 通过率,ProverBench 和 PutnamBench 分别达到 70.8% 和 41.5%,每题推理次数不超过 220 次。

  • Erik Voorhees再次增持1.44万枚ETH,总持仓量突破11.7万枚

    3 月 21 日,据 AI 姨监测,ShapeShift 创始人、比特币早期支持者 Erik Voorhees 关联地址,过去 11 小时买入 14,424.53 ETH,总持仓突破 11.7 万枚,持仓均价 2,160.24 美元,当前浮亏 114.5 万美元。

  • 消息人士:特朗普政府正制定方案以夺取伊朗核材料储备

    Cointime 报道,3月21日消息,据美国哥伦比亚广播公司(CBS)报道,多位知情人士透露,特朗普政府一直在谋划获取或转移伊朗核材料的方法和选项。此时,由美国和以色列领导的针对伊朗的军事行动正进入一个更加不确定的阶段。 关于特朗普是否会下令实施此类行动,目前时机尚不明确。一位消息人士表示,他尚未做出任何决定。但两位消息人士表示,相关规划的核心是可能部署来自联合特种作战司令部的部队,该部队是精英军事单位,常负责最敏感的防扩散任务。(金十)

  • GameFi板块市值暂报45.15亿美元,FLOKI排名第一

    3 月 21 日,据 Coingecko 数据,GameFi 板块市值暂报 45.15 亿美元,FLOKI 以 2.86 亿美元市值排名第一,排在第二第三位的分别为:The Sandbox(2.18 亿美元)、Undeads Games(2.11 亿美元)。此前 Solana 基金会主席 Lily Liu 表示,区块链游戏「不会再回归」。她认为,尽管行业曾寄望通过链上资产与开放世界推动 Web3 与元宇宙发展,但实际表现远未达预期。市场观点称链游长期依赖「Play-to-Earn」等代币激励模式,却缺乏真正吸引核心玩家的游戏性与内容构建能力,导致用户留存与生态可持续性不足。包括 Andreessen Horowitz(a16z)、Framework Ventures、Animoca Brands 在内的机构曾向该领域投入数十亿美元,但回报表现不佳。

  • Karpathy:大多数App不该存在,3个提示词让AI接管整个智能家居

    据 1M AI News 监测,Andrej Karpathy 在 No Priors 播客中称,应用商店里的大多数智能家居 App「根本不该存在,一切都该是 API 端点,Agent 才是智能粘合层」。他分享了今年 1 月构建的家庭 Agent「Dobby the elf claw」:只用三个提示词,Agent 自行扫描局域网发现了 Sonos 音响,逆向工程其协议后接管播放控制。如今 Dobby 通过 WhatsApp 对话统一控制灯光、空调、窗帘、泳池、安防系统,取代了此前六个独立 App。他还接入了视觉模型监控安防摄像头,有人到访时自动推送图片消息到 WhatsApp。「这在一两年内应该是免费的,不涉及任何 vibe coding,这是基本功,」Karpathy 说,「客户不再是人类了,而是代替人类行事的 Agent。这场重构的规模将相当可观。」

  • OpenAI创始成员:12月以来没写过一行代码,Agent用不好?「那是你菜」

    据 1M AI News 监测,「vibe coding」概念提出者、OpenAI 创始成员 Andrej Karpathy 在 No Priors 播客中透露,去年 12 月是他工作方式的分水岭。此前他自己写代码与委托 Agent 的比例约为 80:20,12 月之后反转为 20:80,「到现在可能已经不止了」,「我大概从 12 月起就没打过一行代码」。他将这种状态称为「AI 精神病」(AI psychosis):Agent 的能力边界尚未被充分探索,「一切皆有可能,而一切失败归根结底都是技能问题(skill issue)」。他开始像 PhD 时期看 GPU 利用率一样关注 Token 吞吐量,「订阅额度没用完就意味着你没有最大化产出」。他还描述了 Agent 的「锯齿感」:「我同时感觉在和一个极其聪明的、做了一辈子系统编程的博士生对话,又在和一个十岁小孩对话。」

  • 日媒:伊朗准备允许日本船只通过霍尔木兹海峡

    3 月 21 日,据日本共同社报道,伊朗外长阿巴斯·阿拉格奇表示,经两国官员协商,伊朗已准备好允许与日本相关的船舶通过霍尔木兹海峡。日本石油进口严重依赖中东地区。伊朗战争促使日本本月动用石油储备。日本一直面临特朗普要求其协助保卫该海峡的压力。本周早些时候,日本首相高市早苗在华盛顿与特朗普当面会晤时,向其说明了日本参与此类行动在法律上的限制。同时,她也强调了双方共识领域,包括承诺增加从美国进口石油以及就导弹研发开展合作。(金十)

  • Web3数据和AI公司Validation Cloud完成1000万美元新一轮融资

    Web3数据和AI公司Validation Cloud宣布从True Global Ventures获得1000万美元融资,该公司计划利用这笔资金扩展其AI产品,实现对Web3数据的无缝访问。 据介绍,该公司的产品平台由三个部分组成:质押、节点API以及数据和AI。在质押方面,Validation Cloud的质押资产已超过10亿美元。Validation Cloud的一些客户包括 Chainlink、Aptos、Consensys、Stellar和Hedera。