Proof:ZKSwap团队解读零知识证明算法之Bulletproofs:Range Proof(1)

前言

Bulletproofs,又一个有意思的零知识证明算法,相信读者已经很熟悉它了。和zk-snark相比,它不需要可信设置;和zk-stark算法相比,它具有较小的proofsize。根据论文,它有两个方面的应用:

用于rangeproof;用于一般算术电路的零知识证明。下面,让我们先看一下Bulletproofs是如何高效的实现第一点。Rangeproof

1.预备知识

aL:表示向量{a1、a2……an}

2n:表示向量{20、21…2n-1}

<a、b>:表示向量内积∑ai*bi,结果是一个值

aob:向量对应位相乘,{a1*b1……anbn},结果是一个向量

以太坊Layer 2总锁仓量升至88亿美元,7日涨幅0.66%:金色财经报道,据L2BEAT数据显示,以太坊Layer 2总锁仓量升至88亿美元,7日涨幅0.66%。锁仓量前五分别为: Arbitrum One(58.1亿美元,7 日涨幅1%); Optimism(17.2亿美元,7日跌幅1.24%); dYdX(3.42亿美元,7日涨幅0.52%); zkSync Era?(3.26亿美元,7日涨幅15.12%); Loopring(1.09亿美元,7日跌幅1%)。[2023/5/28 9:47:17]

2.证明

Alice想要证明?v??=>则,需要证明一个relation得成立,如下所示:

{:V=?grhv?^v??}

public-xwitness-wrelation-R

加密货币Floki将在世界乒乓球锦标赛决赛获得赛场广告位:金色财经报道,加密货币Floki (FLOKI) 宣布与国际乒联 (ITTF) 建立合作伙伴关系,ITTF将于5月20日至28日在南非德班举行国际乒联世界乒乓球锦标赛决赛,Floki将在所有比赛上获得赛场广告位。(Decrypt)[2023/5/13 15:00:24]

即,对于公开信息x,Alice有隐私信息w,使得关系R成立。

令aL为金额v的在范围内的二进制形式,则aL={a1、a2……an}?{0,1}n,且满足<aL,2n?>=v。因此,证明者需要证明以下几个等式相等:

等式(1)确保了承诺V和金额v的绑定关系,等式(2)确保了v的范围,等式(3)、(4)确保了aL?元素只属于{0,1}。等式(2)/(3)/(4)总共包含了2n+1个约束,其中公式(2)1个,公式(3)(4)各n个。接下来,为了效率,我们需要把2n+1个约束转换成1个约束。

DeFi协议总锁仓量达866.8亿美元:金色财经报道,据Defi Llama数据显示,DeFi协议总锁仓量(TVL)达到866.8亿美元,24小时涨幅为-1.66%。TVL排名前五分别为AAVE(82.3亿美元)、MakerDAO(80.9亿美元)、Lido(74.9亿美元)、Curve(59.2亿美元)、Uniswap(42.2亿美元)。[2022/11/1 12:03:03]

3.2n+1个约束转换成1个约束

=>预备:从Zp?中任意选择一个数y,则b=0n是等式<b,yn>=0成立的充分条件;因为当b!=0n,等式成立的概率仅有n/p,p是有限域,远大于n。因此,如果有<b,yn>=0,那么验证者愿意相信b!=0n?。

利用这个理论,我们把等式(2)/(3)/(4)做以下转换:

美国银行CEO称该银行不急于涉足加密货币领域:5月30日消息,美国银行似乎不会在短期内大举进军加密货币领域。在世界经济论坛上,当问及美国银行(Bank of America)首席执行官Brian T. Moynihan“如果该公司不积极进军加密货币市场,是否会觉得错过了下一件大事”,Moynihan表示并没有。Moynihan解释称:“该银行受到严格监管,这阻止了对加密货币的全面投资。”此外,他强调了该银行在数字化方面取得了重大进展,并透露该银行在区块链上拥有“数百项”专利。

据悉,美国银行仅限于研究交易方面的加密货币,但它还不能管理客户的数字资产账户。 此前消息,该银行于去年7月成立了专门的加密研究团队。(雅虎财经)[2022/5/30 3:50:16]

验证者随机选取一个数y发送给证明者证明者要证明:

同理,等式(5)确保了v的范围,等式(6)(7)确保了aL?元素只属于{0,1}。此时2n+1个约束转换成3个约束,接下来,还需要做进一步的处理:

验证者随机选取一个数z发送给证明者证明者利用z对公式(5)(6)(7)进行线性组合,得到如下公式:z2**<aL、2n?>+z*<aL?-1n-aR、yn>+<aL、aR?oyn?>=z2?*v(8)

至此,我们已经把2n+1个约束转换成1个约束。下面我们对公式(8)做进一步的优化,把三个点积优化成1个点积。

4.三个点积优化成1个点积

=>令

L=aL?-z*1n

R=(aR?+z*1n)oyn?+z2?*2n

δ=(z–z2)*<1n,yn?>-z3*<1n,2n?>

5.验证:

证明者把L/R/V发送给验证者;验证者事先算好δ验证者根据L算出来aL,根据<aL,2n?>=v算出v验证者根据L、R、v、δ验证等式<L,R>=z2?*v+δ因为y,z都是验证者提供,因此如果验证者如果能验证公式(9)成立,则相信等式(5)(6)(7)成立,则相信等式(2)(3)(4)成立,则相信v满足关系v?。

但是,可以看到上述过程,泄露了v的信息,因此需要一个零知识证明协议。

6.一个零知识证明协议

由于L、R包含了v的相关信息,因此,我们需要添加两个盲因子sL、sR来隐藏aL,aR。如公式(10)(11)所示:

此时,定义公式(12)

可以看出系数t0是l(x)和r(x)常数项的乘积,即满足:

t0?=<L,R>=z2*v+δ

因此,问题由证明:

<L,R>=z2*v+δ

转化成了,在任意一点x,验证者验证多项式值l(x),r(x),t(x)满足关系:

<l(x),r(x)>=t(x)

多项式值l(x),r(x),t(x)由证明者提供,为了保证l(x),r(x)well-formed,即:

需要校验:

=>当且仅当l/rwell-formed,等式成立

为了保证t(x)well-fromed,即:

t=t0?+t1x+t2x2

需要校验:

=>?当且仅当t和τx?welle-formed,等式成立

具体的协议流程图如下图所示:

总结

从上述流程可以看出,一次rangeproof,证明者需要发送总共**{l/r/t/τx?/μ/T1?/T2/A/S}**个元素给验证者,总共2n+3个Zp元素,4个G元素。下一篇文章将细讲,Bulletproofs如何将交互复杂度降低到对数级O(log(n))。

附录

Bulletproofs论文:https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8418611

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

地球链

莱特币最新价格比特币:杨凯:牛市已经消退了吗?

事实证明,2021年对于比特币来说是充满希望的一年,其价格走势图似乎暗示其可能再创新高。然而,在过去的7天中,比特币的看涨势头已经减弱,比特币从大约41000美元一直回落至发稿时32600美元的.

火币APPSBF:1.26 晚间参考

多头趋势夜间遭逆转,空头暂有优势日内复盘:主流币承压回落,并于低位区间开启筑底行情。BTC行情自日内高位累跌超过3500点,回补日前的90%涨幅,随即行情开始在低位筑底,并引来多头主力入场,目前.

[0:15ms0-0:894ms