PlonK算法实现了Universal的零知识证明。SRS只需要提供比多项式阶高的可信设置即可。PlonK电路采用特殊描述,一个门只支持乘法和加法操作。电路需要证明门的输入输出满足外,还需要证明连线的连接关系。PlonK算法的底层原理是多项式承诺。PlonK算法巧妙地将电路的满足关系通过多项式承诺进行证明并验证。
本文从MSM的计算入手,分析FPGA和GPU加速零知识证明计算的优缺点。
缘起
进来参与了很多安永的区块链技术活动,安永发布了基于零知识证明的Nightfall框架。因此决定把零知识证明这个加密体系中的硬核知识给全方位的梳理一遍,就有了此零知识证明系列文章。...
zk-SNARK,即“零知识简洁非交互式知识论证”,使得一名验证者 能够确认一名证明者 拥有某些特定知识,这些知识被称为 witness,满足特定的关系,而无需透露关于见证本身的任何信息。
bellman是Zcash团队用Rust语言开发的一个zk-SNARK软件库,实现了Groth16算法。
本文将详细探讨零知识证明如何保障隐私,而隐私保护是零知识证明对用户的核心价值。另外文中还会列举零知识证明在区块链上的各种用例,以及如何利用Chainlink的DECO技术建立保护隐私的预言机网络,证明数据来自某一web服务器的同时保护数据隐私,并实现向后兼容。
这几天在日本大阪正在举办Devcon 5。议题中有个topic吸引我的眼球:
Shrubs - A New Gas Efficient Privacy Protocol
文章分为两部分:1/介绍MPT的基础背景知识 2/导读MPT电路代码和原理。
零知识证明(ZKP)正在因其在代理计算给不受信任的服务器,解决去中心化账本的可扩展性问题等方面的诸多应用而逐渐变得流行起来。
介绍一点配对的性质,其在密码学的应用和历史。
zkSync通过zk Rollup协议,实现了L2的转账。zkSync项目非常完整,是学习L2非常好的参考项目。zkSync采用Plonk零知识证明算法向L1证明状态的正确性。Plonk算法是Universal的零知识证明算法,只需要一次可信设置。zkSync电路设计采用Chunk设计,支持不同的区块大小。
有限域上的椭圆曲线是零知识证明的基础。零知识的实现是基于离散对数问题。从计算的角度来看,F_p是个有限域,在之基础上建立的椭圆曲线点的运算都是在这个域范围内。有限域上的椭圆曲线上有很多循环子群F_r,具有加法同态的特性。离散对数问题指的是,在循环子群上已知两点,却很难知道两点的标量。
前一段时间,介绍了零知识证明的入门知识,通过QSP问题证明来验证另外一个NP问题的解。最近在看QAP问题相关的文章和资料,这篇文章分享一下QAP问题的理解。
Groth16,是由Jens Groth在2016年提出的算法。GGPR13,是由Rosario Gennaro,Craig Gentry,Bryan Parno,Mariana Raykova在2013年提出的算法。
这次的挑战赛由两道题目组成。一道题目一个星期的挑战时间。和第一期的挑战不同,这一期的题目都是基于STARK算法。STARK算法,AIR,FRI低阶测试等等技术会在后续的文章仔细介绍。本文先总结一下这次挑战赛的两个题目的解题思路。