一文解读零知识证明最新进展:RedShift红移算法

伴随着区块链的技术发展,零知识证明(ZKP,Zero Knowledger Proof)技术先后在隐私和 Layer2 扩容领域得到越来越多的应用,技术也在持续的迭代更新。从需要不同的 Trust Setup 的 ZKP(例如Groth16),到需要一次 Trust Setup 同时支持更新的 ZKP(例如Plonk),再到不需要 Trust Setup 的 ZKP(例如 STARK),ZKP 算法逐渐走向去中心化,从依赖经典 NP 问题,到不依赖任何数学难题,ZKP 算法逐渐走向抗量子化。

我们当然希望,一个不需要 Trust Setup 同时也不依赖任何数学难题、具有抗量子性的 ZKP 算法也具有较好的效率和较低的复杂度(STARK 的证明太大),它就是 REDSHIFT。

《REDSHIFT: Transparent SNARKs from List Polynomial Commitment IOPs》,从名字可以可出,它是基于 List 多项式承诺且具有透明性的 SNARK 算法。算法本身和 PLONK 有大部分的相似之处,唯一不同的是多项式承诺的原语不同。下面先简单的通过一张表格来展示 REDSHIFT 和 PLONK 算法的异同之处,具体如下:

南方航空:已上线数字人民币子钱包支付业务:金色财经报道,南方航空App已于昨日(1月14日)上线「数字人民币」子钱包支付业务并产生第一笔从大连飞往武汉的单程机票交易,相关专家表示,南航App的「数字人民币」支付方式,将助力「数字人民币」应用场景在航空业进一步拓展落地。目前,南航同时支持工商银行、农业银行、中国银行等全部9家运营机构的数字钱包开通。[2022/1/15 8:51:09]

因此,只要对 PLONK 算法有深入了解的读者,相信再理解 REDSHIFT 算法,将是一件相对简单的事。ZKSwap团队在此之前已经对 PLONK 算法进行了深入的剖析,我们在文章《零知识证明算法之 PLONK --- 电路》详细的分析了 PLONK 算法里,关于电路部分的详细设计,包括表格里的《Statement -> Circuit -> QAP》过程,并且还详细描述了 PLONK 算法里,关于“Permutation Check”的原理及意义介绍,文章零知识证明算法之 PLONK --- 协议对 PLONK 的协议细节进行了剖析,其中多项式承诺( Polynomial Commitment)在里面发挥了重要的作用:保持确保算法的简洁性和隐私性。

Huobi已发放 9600 MASK首日充值奖励:据官方消息,3月4日 Huobi Global 已发放9600 MASK的首日充值活动奖励,平均充值100个MASK 可得 0.839个MASK奖励,首日充值奖励率达0.839%。

据悉,Huobi Global“全球观察区”于2月24日上线 MASK 并开放 MASK 的充币业务,MASK开放充值当日,从外部地址向平台成功充值MASK的用户,将按照净充值数量瓜分总计9600 MASK奖励。后续 MASK 充值、交易、持仓奖励在陆续发放中。[2021/3/4 18:15:11]

我们知道,零知识证明算法的第一步,就是算术化(Arithmetization),即把 prover 要证明的问题转化为多项式等式的形式。如若多项式等式成立,则代表着原问题关系成立,想要证明一个多项式等式关系是否成立比较简单,根据 Schwartz–Zippel 定理可推知,两个最高阶为 n 的多项式,其交点最多为 n 个。

库币将于8月26日18:00开放EWT/USDT交易服务:据库币KuCoin交易所消息,库币将于8月26日18:00开放EWT/USDT交易服务,目前已支持EWT/BTC交易服务。

Energy Web 通过释放区块链和去中心化技术的潜力来加速以客户为中心的低碳电力系统。 EW在2019年推出了Energy Web Chain 亦是第一个能源行业的开源企业级区块链平台。

库币数字货币交易所,为来自207个国家的500万用户提供币币、法币、合约、矿池、借贷等一站式服务。[2020/8/25]

换句话说,如果在一个很大的域内(远大于 n)随机选取一个点,如果多项式的值相等,那说明两个多项式相同。因此,verifier 只要随机选取一个点,prover 提供多项式在这个点的取值,然后由 verifier 判断多项式等式是否成立即可,这种方式保证了隐私性。

然而,上述方式存在一定的疑问,“如何保证 prover 提供的确实是多项式在某一点的值,而不是自己为了能保证验证通过而特意选取的一个值,这个值并不是由多项式计算而来?”为了解决这一问题,在经典 snark 算法里,利用了 KCA 算法来保证,具体的原理可参见 V 神的 zk-snarks 系列。在 PLONK 算法里,引入了多项式承诺(Polynomial Commitment)的概念,具体的原理可在“零知识证明算法之 PLONK --- 协议”里提到。

简单来说,算法实现了就是在不暴露多项式的情况下,使得 verifier 相信多项式在某一点的取值的确是 prover 声称的值。两种算法都可以解决上述问题,但是通信复杂度上,多项式承诺要更小,因此也更简洁。

下面将详细介绍 REDSHIFT 算法的协议部分,如前面所述,该算法与 PLONK 算法有很大的相似之处,因此本篇只针对不同的部分做详细介绍;相似的部分将会标注出来方便读者理解,具体如下图所示:

协议的 1-6 步骤在 PLONK 的算法设计里都有体现,这里着重分析一下后续的第 7 步骤。

在 PLONK 算法里,prover 为了使 verifier 相信多项式等式关系的成立,由 verifier 随机选取了一个点,然后 prover 提供各种多项式(包括 setup poly、constriant ploy、witness poly)的 commitment,由于使用的 Kate commitment 算法需要一次 Trust Setup 并依赖于离散对数难题,因此作为 PLONK 算法里的子协议,PLONK 算法自然也需要 Trust Setup 且依赖于离散对数难题。

在 REDSHIFT 协议里,多项式的 commitment 是基于默克尔树的(简单讲,计算多项式在域 H 上的所有值,并当作默克尔树的叶子节点,最终形成的根,即为 commitment)。若 prover 想证明多项式在某一个或某些点的值,证明方只需要根据这些值插值出具体的多项式,然后和原始的多项式做商并且证明得到商也是个多项式(阶是有限制的)即可。

当然为了保护隐私,需要对原始多项式做隐匿处理,类似于上图协议中的第一步。在实际设计中,为了方便 FRI 协议的运行,往往设计原始多项式的阶 d = 2^n + k (其中 k = log(n))。

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

金宝趣谈

区块链Crust的矿工收益优于Filecoin?

导语: Filecoin的出现为有效的利用存储设备和网络、降低数据的存储和传输成本带来了可能。与此同时,越来越多的分布式存储项目渐渐的出现在大众的眼前,其中值得一提的当属波卡生态的“Filecoin”——Crust。 本篇文章就Filecoin和Crust的矿机矿商们进行了浅要的分析,希望可以对刚入行的小白矿工们有所帮助。

FTX波卡生态未发币项目竞拍策略概览

3 月 16 日 Parity 工程师 Shawn Tabrizi 表示,波卡平行链众筹模块已发布代码库。 3?月?25?日波卡平行链测试网 Rococo v1 开启首轮插槽拍卖测试。 最近波卡插槽拍卖相关动作不断,随着进程的不断推进,我们离波卡插槽拍卖的时间节点已经越来越近,相信接下来会经常看到插槽拍卖相关消息。

DAICBC100 | 刘峰:数字经济下的区块链技术与应用研究

本期我们邀请到刘峰博士,为大家分享《数字经济下的区块链技术与应用研究》。 刘峰,上海对外经贸大学区块链技术与应用研究中心主任,华东师范大学博士,上海对外经贸大学特邀研究员、人工智能与变革管理研究院区块链技术与应用研究中心主任,中国计算机学会高级会员,中国自动化学会区块链专业委员会委员,清华X-lab区块链创新教育计划合作委员会专家委员。

[0:0ms0-6:804ms