写在前面
伴随着区块链的技术发展,零知识证明技术先后在隐私和Layer2扩容领域得到越来越多的应用,技术也在持续的迭代更新。从需要不同的TrustSetup的ZKP,到需要一次TrustSetup同时支持更新的ZKP,再到不需要TrustSetup的ZKP,ZKP算法逐渐走向去中心化,从依赖经典NP问题,到不依赖任何数学难题,ZKP算法逐渐走向抗量子化;我们当然希望,一个不需要TrustSetup同时也不依赖任何数学难题、具有抗量子性的ZKP算法也具有较好的效率和较低的复杂度,它就是REDSHIFT。
REDSHIFT
《REDSHIFT:TransparentSNARKsfromListPolynomialCommitmentIOPs》,从名字可以可出,它是基于List多项式承诺且具有透明性的SNARK算法。算法本身和PLONK有大部分的相似之处,唯一不同的是多项式承诺的原语不同。下面先简单的通过一张表格来展示REDSHIFT和PLONK算法的异同之处,具体如下:
由KONAMI研发支持的链游「疯狂的马斯克」已发行测试版本开启内测:1月18日消息,由日本著名游戏厂商KONAMI研发支持的区块链游戏项目「海格利安」(HAGLIEN)的首款链游「疯狂的马斯克」(MadMusk)已经发行了测试版本开启内测,并于近日宣布将在游戏内开启「恶魔城」(Castlevania)系列的专属NFT道具,包含武器,皮肤,加成道具等,并将开设专属关卡副本。同时,也或将支持「恶魔城」(Castlevania)系列NFT在游戏内进行某种程度的使用。[2022/1/18 8:56:20]
算法名称/算法步骤算术化简洁证明QAP成立特点
PLONKStatement->Circuit->QAPKateCommitmentGeneralCRS
比特币交易越来越“疯狂”:近两成活跃投资者曾经“刷卡买币”:借贷服务平台LendEDU对672名活跃的比特币投资者进行了调查。调查结果显示,33.63%的受访者曾经使用借记卡来购买比特币;18.15%的人使用过信用卡来获取资金并购买比特币。18.6%的人使用过ACH银行转账系统,13.39%的人使用过银行电汇方式。
在使用信用卡购买比特币后,有22.13%的人没有还清信用卡账单。
在尚未还清信用卡账单的人中,超过70%的人认为,为了比特币而支付信用卡利息是“值得的”。
在已经使用过信用卡买比特币的人中,有76.23%的人计划继续“刷卡买币”。[2018/1/13]
REDSHIFTStatement->Circuit->QAPFRICommitmentNoTrustSetup
疯狂推荐竞争币背后 John McAfee称自己的Twitter账户被黑:此前,网络安全大V麦咖啡(John McAfee)的个人Twitter曾频繁推广一些鲜为人知的加密货币,很多投资者在看到这些信息之后就买入了其推荐的加密货币。然而,就在今日凌晨,这位网络安全先锋向BBC透露称,他的Twitter账号已遭黑客入侵,他表示:“我无法控制Twitter的安全。”[2017/12/29]
因此,只要对PLONK算法有深入了解的读者,相信再理解REDSHIFT算法,将是一件相对简单的事。笔者在此之前,已经对PLONK算法进行了深入的剖析;文章零知识证明算法之PLONK---电路详细的分析了PLONK算法里,关于电路部分的详细设计,包括表格里的《Statement->Circuit->QAP》过程,并且还详细描述了PLONK算法里,关于“PermutationCheck”的原理及意义介绍;文章零知识证明算法之PLONK---协议对PLONK的协议细节进行了剖析,其中多项式承诺在里面发挥了重要的作用:保持确保算法的简洁性和隐私性
CME董事长Leo Melamed:CME将驯服比特币,让比特币不狂野、不疯狂:12月18日,全球最大的衍生品交易所运营商CME开始了比特币期货交易,该合约开盘价为今日盘中高位达到20650美元,随后一度跌逾11%。CME董事长Leo Melamed声称:“CME将驯服比特币,让比特币不狂野、不疯狂,我们将把比特币驯服成一种有规则的交易工具。”[2017/12/18]
我们知道,零知识证明算法的第一步,就是算术化,即把prover要证明的问题转化为多项式等式的形式;如若多项式等式成立,则代表着原问题关系成立。想要证明一个多项式等式关系是否成立比较简单,根据Schwartz–Zippel定理可推知,两个最高阶为n的多项式,其交点最多为n个;换句话说,如果在一个很大的域内随机选取一个点,如果多项式的值相等,那说明两个多项式相同。因此,verifier只要随机选取一个点,prover提供多项式在这个点的取值,然后由verifier判断多项式等式是否成立即可,这种方式保证了隐私性。
然而,上述方式存在一定的疑问,”如何保证prover提供的确实是多项式在某一点的值,而不是自己为了能保证验证通过而特意选取的一个值,这个值并不是由多项式计算而来?“,为了解决这一问题,在经典snark算法里,利用了KCA算法来保证,具体的原理可参见V神的zk-snarks系列;在plonk算法里,引入了多项式承诺的概念,具体的原理可在”零知识证明算法之PLONK---协议“里提到,简单来说,算法实现了就是在不暴露多项式的情况下,使得verifier相信多项式在某一点的取值的确是prover声称的值。两种算法都可以解决上述问题,但是通信复杂度上,多项式承诺要更小,因此也更简洁。
协议
下面将详细介绍REDSHIFT算法的协议部分,如前面所述,该算法与PLONK算法有很大的相似之处,因此本篇只针对不同的部分做详细介绍;相似的部分将会标注出来方便读者理解,具体如下图所示:
REDSHIFT协议
协议的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))。可能读者一直在疑惑前面一直提到的FRI协议具体是怎么运行的,幸运的是,笔者早就对FRI的具体原理做了解读,可以参考链接:
1.理解零知识证明算法之Zk-stark;
2.理解零知识证明算法之Zk-stark--Arithmetization
3.深入理解零知识证明算法之Zk-stark--LowDegreeTesting
4.深入理解零知识证明算法之Zk-stark--FRI协议
结尾
老样子,欢迎读者的指正,谢谢。
2月21日,CCTV-2《经济信息联播》栏目报道称,方舟投资首席执行官伍德日前表示,强烈看多比特币前景.
RariCapital宣布新上线的利率协议Fuse上资金池部署资金突破1100万美元。Fuse目前仅支持由RariCapitalDAO创建和维护的6个池,RariCapital计划未来将支持自定.
本文来自?Decrypt,作者:TimHakki 译者|余顺遂 摘要: MoonCats在2017年由Ponderware开发,然后就被遗弃了.
Filecoin网络已经拥有了接近3EiB的存储量,3EiB即相当于30亿GB。那么,Filecoin是在哪些方面得以快速发展的呢?是哪些数据推动了Filecoin网络高效发展呢,接下来让我们一.
根据一份声明,成立于1883年的意大利作者和编辑协会选择Algorand以NFT的形式管理超过95000名作者的权利.
去中心化合成资产协议UMA公布「KPI期权和空投」标准,将向UMA内部社区和5个外部社区的参与者空投KPI期权代币.