THE:一文了解 FOAKS 当中的多项式承诺协议 Brakedown

撰文:FoxTechCEO康水跃,FoxTech首席科学家孟铉济前言:如果密码学家没有发现张量积和多项式取值之间的联系,那就很难出现多项式承诺协议Brakedown,也就不可能诞生基于Brakedown的Orion、以及FOAKS这类全新的快速算法。

在许多依赖多项式承诺的零知识证明系统当中,使用了不同的承诺协议。根据a16z的JustinThaler在2022年8月文章“MeasuringSNARKperformance:Frontends,backends,andthefuture”的评估,Brakedown虽然有较大的ProofSize,但是无疑是当下最快的多项式承诺协议。

FRI、KZG、Bulletproof是更为常见的多项式承诺协议,但速度是它们的瓶颈。zkSync采用的Plonky、PolygonzkEVM采用的Plonky2、Scroll采用的Ultra-Plonk等算法都是基于KZG的多项式承诺。Prover涉及到大量的FFT计算和MSM运算生成多项式和承诺,这两者都会带来大量的计算负担。虽然MSM有运行多线程加速的潜力,但需要大量内存,即使在高并行下也很慢,而大型FFT则严重依赖算法运行时数据的频繁洗牌,难以通过分布式加速跨计算集群加载。

正是由于有了更为快速的多项式承诺协议Brakedown,才使这类运算的复杂度大幅降低。

FOAKS即FastObjectiveArgumentofKnowledges,是由FoxTech提出的一种基于Brakedown的零知识证明系统框架。FOAKS在Orion的基础上进一步减少FFT运算,目标是最终消除FFT。此外,FOAKS还设计出一种全新的非常精妙的证明递归方式来减少证明大小。FOAKS框架的优势在于在实现线性证明时间的基础上有着较小的证明大小,非常适合应用于zkRollup场景当中。

Zerion:空投相关的内容为恶意链接,系Twitter帐户被盗用:6月15日消息,Web3钱包Zerion发推表示此前Twitter帐户被盗用,目前已成功重新获得访问权限并删除了恶意帖子,正在调查是如何发生的,请用户保持安全并始终验证Twitter上看到的链接。[2023/6/15 21:38:12]

下文我们将详细介绍FOAKS所使用的多项式承诺协议Brakedown。

在密码学当中,承诺协议由证明者对某一个秘密值进行承诺,生成一个公开的承诺值,这个承诺值具有绑定性和隐藏性,之后提交者需要打开此承诺并将消息发送到验证者,以验证承诺与消息之间的对应关系。这一点,使得承诺协议和哈希函数的作用有许多共通之处,但是承诺协议往往依赖于公钥密码学领域的数学结构。而多项式承诺是一类对于多项式的承诺方案,也就是说被承诺值是多项式。而同时多项式承诺协议当中还包含了在给定的点取值并给出证明的算法,这就使得多项式承诺协议本身成为一类重要的密码学协议,是许多零知识证明系统的核心部分。

而在最新的密码学领域的研究当中,由于发现了张量积和多项式取值之间的联系,所以诞生了一系列与此相关的多项式承诺协议,Brakedown是其中的代表性协议。

在详细介绍Brakedown的协议细节之前,需要先了解一些基础知识。我们需要先了解线性码、抗碰撞哈希函数、默克尔树、张量积的运算以及多项式取值的张量积表示。

首先是线性码。一个消息长度为k,码字长度为n的线性码是一个线性子空间CFn,使得存在一个从消息到码字的单射,称为编码,记作EC:FkC。任意的对于码字的线性组合仍然是一个码字。两个码字u,v的距离即他们的汉明距离,记作(u,v)。最短距离为d=minu,v(u,v)。这样的码记作线性码,用dn表示码的相对距离。

TRON DAO完成新一轮Old TRX销毁:据官方消息,TRON DAO已于今日完成了新一轮Old TRX销毁工作,本次共销毁268,971,097枚Old TRX。

此次Old TRX销毁正值波场TRON主网即将迎来上线5周年之际。截至目前,TRX持有账户数超过8000万,登陆全球超130家交易所,并已成为多米尼克法定数字货币。

据CoinMarketCap最新数据,TRX当前市值已达68.8亿美元,位列全球数字货币第11位。[2023/5/30 11:48:44]

其次是抗碰撞哈希函数与默克尔树。

使用H:{0,1}2{0,1}表示一个哈希函数。默克尔树是一种特殊的数据结构,可以实现对于2d个消息的承诺,生成一个哈希值h,在打开任何消息时候需要d+1个哈希值。

默克尔树可以被表示为一个深度为d的二叉树,其中L个消息元素m1,m2,...,ml分别对应树的叶子。树的每一个内部节点都由它的两个子节点进行哈希计算得出。打开消息mi时,需要公开从mi到根节点的路径。

用以下记号来表示:

hMerkle.Commit(m1,...,ml)

(mi,i)Merkle.Open(m,i)

{0,1}Merkle.Verify(i,mi,h)

图1:默克尔树

我们还需要了解张量积的运算是怎么做的。数学上,张量是向量和矩阵向高维空间的扩展,是很重要的研究对象,详细的讨论张量超出本文的研究范畴,这里只介绍向量和矩阵的张量积运算。

图2:向量和矩阵的张量积运算

葡萄牙将加密资产收益视为资本收益,征收28%的统一税率:4月5日消息,TaxDAO今天发布《2023年葡萄牙国家预算涉加密内容分析》。文章表示,直到2022年底,葡萄牙一直是欧洲为数不多的加密货币交易(例如,资本收益)无需缴纳个人所得税的国家之一。然而,从2023年起,加密资产税框架的最新状况将发生重大变化。

就个人所得税而言,加密资产的定义被表述为 “任何可以使用分布式账本技术或类似技术以电子方式转让或存储的价值或权利的数字表示”,不包括单一加密资产和非同质化加密资产。

处置加密资产的收益应被视为资本收益,标准的28%统一税率将适用于处置上述资产所产生的资本利得和损失的正余额,除非这些资产持有超过365天,在这种情况下,将可获得豁免(但不适用于归类为证券的加密资产)。[2023/4/5 13:46:47]

紧接着,我们需要知道多项式取值的张量积表示。当中提到,多项式的取值可以被表示成张量积的形式。在这里我们考虑多线性多项式的承诺。

具体来讲,给定一个多项式,他在向量x0,x1,...,xlogN-1的取值可以写成:

(x0,x1,...,xlogN-1)=i0=01i1=01...ilogN-1=01wi0i1...ilogN-1x0i0x1i1...xlogN-1ilogN-1

根据多线性的定义,每一个变量的次数是0或1,因此,这里有N个单项式和系数,以及logN个变量。令i=j=0logN-12jij,其中i0i1...ilogN-1是i的二进制表示。令w表示多项式系数,w=wi0i1...ilogN-1。同样的,定义Xi=x0i0x1i1...xlogN-1ilogN-1。令k=N,r0={X0,X1,...,Xk-1},r1={X0k,X1k,...,Xk-1k}。于是有X=r0r1。

美联储副主席:需制定新的加密法规,稳定币是风险最大的领域之一:金色财经消息,美联储副主席Lael Brainard表示,,加密货币市场承担着与传统金融类似的风险,但需要针对现有法律未涵盖的情况制定新的法规。此外她也重申了稳定币的风险,并预测未来私营部门将创造更多稳定币,这让人质疑央行是否应该发行自己的央行数字货币(CBDC),如果监管不当,稳定币是我认为风险最大的领域之一,当然,由于稳定币的可运行性,这些风险很容易蔓延到主要的核心金融体系。

据了解,Lael Brainard目前是美联储二号人物,负责领导美联储对数字美元的探索,此前她曾声明加密行业需要满足与传统金融相同的安全标准,以防止其成为对更广泛的金融体系的威胁。(CoinDesk)[2022/9/8 13:15:48]

从而,多项式取值可以被表示成张量积的形式:(x0,x1,...,xlogN-1)=<w,r0r1>。

最后,我们来看FOAKS、Orion当中使用的Brakedown的过程。

首先,PC.Commit将多项式系数w划分成kk的矩阵形式,并将其编码,记作C2。之后对于C2的每一列C2进行承诺建立一个默克尔树,然后再对于每一个列形成的默克尔树树根建立另一个默克尔树,作为最终的承诺。

在取值证明的计算中,需要证明两点,一是近似性,二是一致性。近似性保证了承诺的矩阵确实和编码后的一个码字足够接近。一致性保证y=<w,r0r1>。

近似性检验:近似性检验由两步组成。首先,验证者发送一个随机向量0给证明者,证明者计算0与C1的内积,也就是以0的分量为系数对C1的行计算线性组合。由于线性码的性质,C0是y0的码字。之后,证明者证明C0确实是从被承诺的码字计算出的。为了证明这一点,验证者随机选取t列,证明者打开对应的列并提供默克尔树证明。验证者检查这些列和0的内积和C0当中对应位置相等。当中证明如果使用的线性码有常数的相对距离,那么被承诺的矩阵就以压倒性的概率与一个码字接近。

David Rubenstein:对加密货币感兴趣,预计国会不会对该行业过度监管:9月2日消息,凯雷投资集团联合创始人David Rubenstein周四在CNBC的Squawk Box上表示,他仍然对该行业的未来持乐观态度,并预计国会不会对该行业过度监管。

此外,他不仅对代币感兴趣,而且对在该领域经营的企业感兴趣。David Rubenstein补充说,一些与区块链相关的投资和与加密相关的事情可能会伴随我们一段时间。”同时,他也赞扬了FTX创始人SBF为陷入困境的公司注入流动性的行为。[2022/9/2 13:03:41]

一致性检验:一致性检验和近似性检验的流程完全类似。不同之处在于,不使用随机向量0而是直接使用r0来完成线性组合的部分。类似的,c1也是消息y1的一个线性码,并且有(x)=<y1,r1>。当中证明,通过一致性检验,如果被承诺的矩阵与一个码字接近,则以压倒性概率成立y=(x)。

以伪代码形式,我们给出Brakedown协议的流程:

Publicinput:TheevaluationpointX,parsedasatensorproductX=r0r1;

Privateinput:Thepolynomial,thecoefficientofisdenotedbyw.

LetCbethe-limearcode,EC:FkFnbetheencodingfunction,N=kk.IfNisnotaperfectsquare,wecanpadittothenextperfectsquare.Weuseapythonstylenotationmattoselectthei-thcolumnofamatrixmat。

functionPC.Commit():

????????Parsewasakkmatrix.TheproverlocallycomputesthetensorcodeencodingC1,C2,C1isaknmatrix,C2isannmatrix.

????????forido

??????????????ComputetheMerkletreerootRoott=Merkle.Commit(C2)

????????ComputeaMerkletreerootR=Merkle.Commit(),andoutputRasthecommitment.

functionPC.Prover(,X,R)

????????Theproverreceivesarandomvector0Fkfromtheverifier

????????Proximity:C0=i=0k-10C1,y0=i=0k-10w

????????Consistency:C1=i=0k-1r0C1,y1=i=0k-1r0w

????????ProversendsC1,y1,C0,y0totheverifier.

????????VerifierrandomlysamplestasanarrayIandsendittoprover

????????foridxIdo

??????????????ProversendsC1andtheMerkletreeproofofRootidxforC2underRtoverifier

functionPC.VERIFY_EVAL(X,X,y=(X),R)

????????Proximity:idxI,C0==<0,C1>andEC(y0)==C0

????????Consistency:idxI,C1==<r0,C1>andEC(y1)==C1

????????y==<r1,y1>

????????idxI,EC(C1)isconsistentwithROOTidx,andROOTidx’sMerkletreeproofisvalid.

????????Outputacceptifallconditionsaboveholds.Otherwiseoutputreject.

结语:多项式承诺是一类非常重要的密码学协议,被广泛的应用在许多密码学系统当中,尤其是零知识证明系统。本文详细介绍了多项式承诺Brakedown协议以及和其相关的数学知识,作为FOAKS很重要的底层组件,Brakedown对FOAKS的实例化性能的提升起到了重要作用。

参考文献

:AlexanderGolovnev,JonathanLee,SrinathSetty,JustinThaler,andRiadS.Wahby.Brakedown:Linear-timeandpost-quantumsnarksforr1cs.CryptologyePrintArchive.https://ia.cr/2021/1043.

:XieT,ZhangY,SongD.Orion:Zeroknowledgeproofwithlinearprovertime//AdvancesinCryptology–CRYPTO2022:42ndAnnualInternationalCryptologyConference,CRYPTO2022,SantaBarbara,CA,USA,August15–18,2022,Proceedings,PartIV.Cham:SpringerNatureSwitzerland,2022:299-328.https://eprint.iacr.org/2022/1010

:Bootle,Jonathan,AlessandroChiesa,andJensGroth."Linear-timeargumentswithsublinearverificationfromtensorcodes."TheoryofCryptography:18thInternationalConference,TCC2020,Durham,NC,USA,November16–19,2020,Proceedings,PartII18.SpringerInternationalPublishing,2020.

JustinThalerfromA16zcrypto,MeasuringSNARKperformance:Frontends,backends,andthefuturehttps://a16zcrypto.com/measuring-snark-performance-frontends-backends-and-the-future/

张量积的介绍:https://blog.csdn.net/chenxy_bwave/article/details/127288938

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

金星链

[0:0ms0-0:706ms