写在前面
伴随着区块链的技术发展,零知识证明技术先后在隐私和Layer2扩容领域得到越来越多的应用,技术也在持续的迭代更新。从需要不同的TrustSetup的ZKP,到需要一次TrustSetup同时支持更新的ZKP,再到不需要TrustSetup的ZKP,ZKP算法逐渐走向去中心化,从依赖经典NP问题,到不依赖任何数学难题,ZKP算法逐渐走向抗量子化。
我们当然希望,一个不需要TrustSetup同时也不依赖任何数学难题、具有抗量子性的ZKP算法也具有较好的效率和较低的复杂度,它就是REDSHIFT。
LM Funding America2023年2季度开采106.35个比特币:金色财经报道,以加密挖矿和技术为基础的专业金融公司LM Funding America今天宣布截至2023年第二季度的比特币挖矿更新。二季度,该公司共开采约106.35个比特币,截至2023年6月30日的比特币持有量达到约79.1个BTC。[2023/7/12 10:51:11]
REDSHIFT
《REDSHIFT:TransparentSNARKsfromListPolynomialCommitmentIOPs》,从名字可以可出,它是基于List多项式承诺且具有透明性的SNARK算法。算法本身和PLONK有大部分的相似之处,唯一不同的是多项式承诺的原语不同。下面先简单的通过一张表格来展示REDSHIFT和PLONK算法的异同之处,具体如下:
Opside官方开放Goerli ETH水龙头领水:6月9日消息,Opside 官方正式宣布向社区开放 Goerli ETH 水龙头领水,所有新用户均有机会领取 0.5 个 Goerli ETH。据了解,以太坊 Goerli 自 2018 年启动以来,一直备受关注。其拥有安全性高、交易速度快、低成本、易于部署等优势,可以满足开发者在 Goerli 测试网上进行各种实验和测试,同时也可以作为必备“燃料”满足普通用户日常空投交互的需要。但现在 Goerli 官方的水龙头已经枯竭,其他的水龙头也日渐枯竭,故开发者和普通用户都面临着测试币领不到的困境。[2023/6/9 21:26:20]
因此,只要对PLONK算法有深入了解的读者,相信再理解REDSHIFT算法,将是一件相对简单的事。ZKSwap团队在此之前已经对PLONK算法进行了深入的剖析,我们在文章《零知识证明算法之PLONK---电路》详细的分析了PLONK算法里,关于电路部分的详细设计,包括表格里的《Statement->Circuit->QAP》过程,并且还详细描述了PLONK算法里,关于“PermutationCheck”的原理及意义介绍,文章零知识证明算法之PLONK---协议对PLONK的协议细节进行了剖析,其中多项式承诺在里面发挥了重要的作用:保持确保算法的简洁性和隐私性。
爱马仕已提交加密货币、NFT以及元宇宙相关商标申请:9月1日消息,美国专利商标局注册商标律师Michael Kondoudis发推称,奢侈品巨头爱马仕(Hermès)已为其名称提交加密货币、NFT以及元宇宙相关商标申请,声称计划扩展到NFT+虚拟货币、加密货币+NFT交易、虚拟商品市场、虚拟服装/鞋类/时装秀等等。
此前4月份消息,奢侈品巨头爱马仕考虑试水元宇宙,并认为元宇宙是很好的交流工具。[2022/9/1 13:01:41]
我们知道,零知识证明算法的第一步,就是算术化,即把prover要证明的问题转化为多项式等式的形式。如若多项式等式成立,则代表着原问题关系成立,想要证明一个多项式等式关系是否成立比较简单,根据Schwartz–Zippel定理可推知,两个最高阶为n的多项式,其交点最多为n个。
报告:加密行业最具潜力的项目包括Cosmos、Maple Finance等:8月15日消息,根据群体博客The Generalist发布的报告,投资者、运营者和创始人应该了解的加密趋势如下:
-Cosmos发展加速。尽管与其他生态系统相比,它受到的关注要少得多,但投资者在Cosmos中看到机会。“区块链互联网”提供启动可互操作区块链的工具,并且可能比更大的替代方案更加去中心化、更有弹性和可定制性。交易平台dYdX从以太坊转向Cosmos表明了后者的优势。
-机构贷款开始兴起。个人用户可能已经使用DeFi的第一批借贷产品,但最近的产品面向企业客户。Maple Finance等项目为机构级贷款池提供必要的信息和合规保障。
-重新思考用户身份验证。Web3应用程序仍然很难使用。消费者使用不链接到其他身份形式的加密钱包登录。这不仅使消费者的使用流程变得复杂,而且还阻碍开发人员与其客户交流。Notifi和Portabl正在从不同的角度解决这个问题。
-需要解决加密漏洞。今年已经发生多起加密货币漏洞事件,包括猖獗的欺诈、中断和违规行为。投资者意识到该领域的缺陷,并支持寻求改善现状的项目。例如Blowfish,它使复杂的交易变得可读。 ?
-Web3的社交时刻可能即将到来。一段时间以来,预言家认为加密货币将颠覆社交媒体。到目前为止,几乎没有什么可以支持这样的预测,但是情况可能正在改变。投资者看到Farcaster等项目的前景。[2022/8/15 12:25:49]
换句话说,如果在一个很大的域内随机选取一个点,如果多项式的值相等,那说明两个多项式相同。因此,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^nk(其中k=log(n))。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。