zk-merkle-tree 库: 使用 zkSNARK 在以太坊上进行匿名投票
本文详细讨论了BN254曲线,强调其在以太坊上进行zkSNARK验证的实用性,尤其是与Groth16和PlonK证明方案的结合。文章提供了BN254的数学背景、参数、曲线定义、群体检查等信息,还涉及到Frobenius映射和优化Ate配对等高级概念,旨在为开发者和研究人员整合与BN254相关的所有重要信息。
本文详细介绍了 ZKSNARK 技术,尤其是如何进行信任设置、设计零知识电路(如乘法电路)以及使用 Groth16 和 PLONK 协议进行相关的 ZKSNARK 操作。内容涵盖了电路的编写、编译、验证,以及如何处理非二次约束的问题。最后,作者提供了使用节点js 和 snarkjs 进行证明生成和验证的详细步骤。
本文介绍了 zk-SNARK 技术的工作原理和难点、多项式以及多项式承诺如何让 zk-SNARK 的实现更加高效。
本文介绍了如何使用zkSNARK(如Plonk)构建算术电路来进行零知识证明,特别是范围证明和集合成员证明。通过具体的例子,展示了如何将数学表达式转化为电路,并讨论了其中的技术和挑战。
本文详细介绍了零知识证明(ZKP)及其在区块链中的应用,特别是zkSNARK协议的原理和实现。文章通过代码示例和图示,讲解了证明者和验证者的角色,以及如何将程序转化为算术电路。
本文介绍另一种基于plonk的proof system--halo2,目前看到基于plonk的工程实现有三种:bellman, dusk, halo2.
前文主要介绍了如何构造多项式的零知识证明协议,现在将开始探讨如何构造更通用的协议。本节主要是讲如何将一组计算的证明转换为多项式进行证明。本文重点主要包括:多项式的算术性质,多项式插值等。
上一篇文章中我们学习了如何将程序转换为多项式进行证明。到这里似乎已经有点晕了,本文将对协议执行进一步的约束,并对协议展开优化。
作为本系列的最后一篇文章,本文继续对 zk-SNARK 协议进行完善,最终形成一个完整的 zk-SNARK 协议
本文将介绍一种新的椭圆曲线实例-- Baby Jubjub Elliptic Curve。
通过这篇文章,能快速建立零知识证明的逻辑框架。
我认为区块链很难称为一个“技术”。它更像是一个领域,包罗万象。或者形而上地说,区块链更像一个有机体,融合了各种不同的理论技术。
零知识证明是构建信任的重要技术,也是区块链这个有机体中不可缺少的一环。
来自 lambda class 的了解零知识证明历史。 计算机科学、数学和硬件的进步,以及区块链的引入,导致了新的更高效的 SNARKs 的出现。
谈到ZKP算法,大伙可能听过一些,比如zk-snark,zk-stark, bulletproof, aztec, plonk等等。今天,咱就给大伙聊聊这一对“表面兄弟”,zk-stark和zk-snark算法的异同之处。