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

写在前面

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

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

REDSHIFT

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

浙江省元宇宙产业协会正式成立,将举办杭州元宇宙大会:金色财经报道,浙江省元宇宙产业协会今日正式成立,这是由浙江省经济和信息化厅主管、在浙江省民政厅登记注册的省级产业协会。此次大会举办了浙江省元宇宙产业大会第一届第一次会员大会,并选举了浙江省元宇宙产业协会理事与监事长。此外,此次成立大会还表示将举办杭州元宇宙大会,届时将邀请国家、省级、高校专家与国内外企业等共同参会。[2023/7/16 10:57:31]

美元指数DXY失守101关口,为4月14日以来首次:金色财经报道,美元指数DXY失守101关口,为4月14日以来首次,日内跌0.59%。[2023/7/12 10:51:06]

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

MakerDAO声明:无法控制Oasis,Jump反向攻击黑客不涉及其智能合约:2月25日消息,因Jump Crypto与Oasis联合通过逆向攻击追回12万枚ETH的Wormhole被盗资金,MakerDAO发推特声明,鉴于最近有关 Maker Vault 30100和Oasis前端的交易,需要解释 MakerDAO、Maker 协议和第三方前端提供商之间的区别。MakerDAO 无法控制任何使终端用户能够访问 Maker Vaults 的前端提供商或产品。

此外,连接到 Maker 协议的可用前端都不是由 MakerDAO 开发或维护的Maker 协议是一个去中心化的智能合约系统,公开部署在以太坊上,允许任何供应商以无许可和去中心化的方式连接其用户界面解决方案。这些用户界面提供商可以控制他们部署的智能合约,使终端用户能够与 Maker 协议进行交互。最近更改 Maker Vault 30100 所有权的交易不涉及任何 MakerDAO 的官方智能合约或 MakerDAO 指令。其重申 MakerDAO 的智能合约不受 Oasis 前端智能合约的控制或控制。[2023/2/26 12:29:44]

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

跨链桥协议Stargate Finance与Avalanche生态DEX Trader Joe达成合作:金色财经报道,跨链桥协议Stargate Finance的原生STG代币在过去24小时内飙升13%,此前该公司宣布计划与基于Avalanche的去中心化交易所Trader Joe合作,解锁全链同质化代币。与Trader Joe的合作意味着Stargate将支持JOE代币,而不需要Trader Joe在平台上维持一个流动性池。

STG最近从一天前的60美分左右攀升到92美分。根据加密数据聚合公司CoinGecko的数据,STG在过去7天内上涨了约50%,今年上涨150%。

此前消息,Trader Joe在推特上宣布将集成LayerZero。Trader Joe原生代币JOE将转变为全链同质化代币(OFT),用户可以在Avalanche、Arbitrum、BNB Chain等链之间进行JOE跨链。(CoinDesk)[2023/2/9 11:56:47]

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

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

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

协议

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

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

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

在REDSHIFT协议里,多项式的commitment是基于默克尔树的。若prover想证明多项式在某一个或某些点的值,证明方只需要根据这些值插值出具体的多项式,然后和原始的多项式做商并且证明得到商也是个多项式即可。

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

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

金星链

以太坊比特币:灰度负溢价 DCG拉盘

3月10日,在灰度比特币信托GBTC连续9天负溢价后,灰度的母公司DCG表示计划购买2.5亿美元的GBTC。此举被解读为DCG自产自销,想要把连续多日的负溢价扭转为正.

[0:15ms0-0:845ms