本文将构建一个zk-dApp(零知识证明 DApp),以证明用户是否属于某个特定组,而无需透露用户具体是谁。
本教程是circom 和 snarkjs 最经典的入门文章
零知识证明正变得越来越流行,但可能很难找到入门资料。在花了一些时间研究这个主题之后,我整理了我学到的东西,希望它能帮助大家入门零知识证明编程。
Circom 语言教程与 circomlib 演示
ZK 语言调查:Noir , o1js , Circom , Leo, Cairo, Lurk
编写零知识 dApp,这篇文章将介绍如何将零知识电路集成到智能合约中,然后再集成到 dApp 中。
通过 Tornado Cash 的源代码理解零知识证明
如何创建 零知识证明并在Solidity 合约中验证
该项目提供了一系列练习以帮助用户学习Circom语法,并创建与以太坊虚拟机(EVM)兼容的零知识程序。它包含了多种零知识难题和使用文档,能有效支持学习和测试各类算法和程序。项目提供结构清晰,步骤明确的安装和使用说明,适合加密技术与区块链技术的学习者使用。
本文提供了一份面向程序员的零知识证明(ZKP)教程,使用了 Circom 这种用于编写 ZKP 电路的领域特定语言。文档解释了 ZKP 的概念、约束条件的重要性以及设置、构建和验证 ZKP 电路的过程。它还涵盖了基本 ZKP、使用哈希函数和承诺实现数字签名方案,以及群签名方案。
zkHack发布了新的Puzzle。虽然Puzzle用的比较老的Groth16算法,Puzzle的内容非常有趣,对理解零知识证明,多项式,线性相关等等知识非常有帮助。
以简洁易懂的方式介绍了 zkRollup 的实现原理和技术细节.
本文介绍了如何使用JavaScript中的zk-SNARK技术,特别是通过Circom和SnarkJS库来生成和验证零知识证明。首先解释了零知识证明的基本概念及其在区块链中的应用,接着介绍了如何安装Circom和SnarkJS,并详细说明了如何编写电路代码以生成证明,最后展示了验证证明的步骤。读者在完成后应该对如何在JavaScript项目中实现zk-SNARK有初步的理解和实践能力。
文章介绍了零知识证明编程语言的工作原理,并列举了几种流行的零知识证明编程语言,如Circom、Zokrates、Noir和Cairo,同时讨论了它们在区块链和隐私保护中的应用。
如何使用 SnarkJS 和 Circom 在 JavaScript 项目中进行零知识证明