本文详细介绍了Groth16零知识证明算法的原理、实现及其应用,包括可信设置、证明生成和验证的步骤,并讨论了防止伪造证明的方法以及算法中的安全问题。
本文详细介绍了 ZKSNARK 技术,尤其是如何进行信任设置、设计零知识电路(如乘法电路)以及使用 Groth16 和 PLONK 协议进行相关的 ZKSNARK 操作。内容涵盖了电路的编写、编译、验证,以及如何处理非二次约束的问题。最后,作者提供了使用节点js 和 snarkjs 进行证明生成和验证的详细步骤。
《The RareSkills Book of Zero Knowledge》是一本面向程序员的零知识证明教程,内容涵盖从基础数学到实际编码实现,旨在帮助程序员深入理解零知识证明,尤其是Groth16算法。
本文详细介绍了零知识证明(ZKP)及其在区块链中的应用,特别是zkSNARK协议的原理和实现。文章通过代码示例和图示,讲解了证明者和验证者的角色,以及如何将程序转化为算术电路。
本文提供了一份面向程序员的零知识证明(ZKP)教程,使用了 Circom 这种用于编写 ZKP 电路的领域特定语言。文档解释了 ZKP 的概念、约束条件的重要性以及设置、构建和验证 ZKP 电路的过程。它还涵盖了基本 ZKP、使用哈希函数和承诺实现数字签名方案,以及群签名方案。
bellman是Zcash团队用Rust语言开发的一个zk-SNARK软件库,实现了Groth16算法。
Groth16,是由Jens Groth在2016年提出的算法。GGPR13,是由Rosario Gennaro,Craig Gentry,Bryan Parno,Mariana Raykova在2013年提出的算法。
zkHack发布了新的Puzzle。虽然Puzzle用的比较老的Groth16算法,Puzzle的内容非常有趣,对理解零知识证明,多项式,线性相关等等知识非常有帮助。
Groth16算法是zkSNARK的典型算法,目前在ZCash,Filecoin,Coda等项目中使用。本文从计算量的角度详细分析Groth16计算。Groth16计算分成三个部分:Setup针对电路生成Pk/Vk(证明/验证密钥),Prove在给定witness/statement的情况下生成证明,Verify通过Vk验证证明是否正确。
Matter Labs 获得了以太坊基金会的资助,用于开发基于零知识证明的 L2 扩展解决方案。他们的工作包括创建可扩展的 L2 平台、改进开发者工具以及推广零知识证明的应用。
利用Groth16计算证明之前,需要计算出H。目前,普遍采用的是FFT算法。
零知识证明 - Coda SNARK挑战(Stage2)
Geometry是Kobi Gurkan 等人所在的一个新成立不久的研究组织,Kobi本人曾给ZK HACK 出过9道puzzles,这次又合作给出了这个关于Groth16延展攻击的新puzzle:ZK Hack x Geometry Puzzle I
为什么要从R1CS转化到QAP?