来自 lambda class 的了解零知识证明历史。 计算机科学、数学和硬件的进步,以及区块链的引入,导致了新的更高效的 SNARKs 的出现。
如何使用 SnarkJS 和 Circom 在 JavaScript 项目中进行零知识证明
通过 Tornado Cash 的源代码理解零知识证明
太长不看版:你已经听说过 Tornado Cash 了吗?还有 Halo2?太棒了!在这里,我们将混合这两者,并将 Tornado Cash 电路重写为 Halo2。
Lookup Arguments 允许证明者(prover)证明一个值属于一个预先定义的集合。
本文深入探讨了零知识证明(ZKP)应用审计过程,包括电路设计和实施审计的关键点。文章强调了电路中变量之间逻辑关系的显式声明的重要性,以及常见的审计问题,如完整性和有效性问题,以指导ZKP安全研究者和开发者提高代码质量和安全性。
Caulk+ 是 Caulk 的优化版本方案,它用了一个被称为「polynomial divisibility check」的方法来替换原本的子协议,以提升 Caulk 生成证明的效率,使得证明复杂度仅与子集的大小有关,而与原向量的大小无关。
本文集中讨论了在 RISC Zero 中优化全同态加密 (FHE) 的性能,强调识别主要瓶颈的重要性。文章详细分析了 ZK 证明的开销,包括计算和分页的开销,并介绍了一个名为 profiler0 的工具,用于评估代码中的周期开销。此外,还讨论了未来的潜在优化方案,包括使用 Karatsuba 算法和 RISC Zero 的硬件加速功能。
Plonky2由PolygonZero团队开发,实现了一种快速的递归SNARK,据其团队公开的基准测试,2020年,以太坊第一笔递归证明需要60s生成,而于今Plonky2在MacBookPro上生成只需170毫秒。下面将逐步剖析Plonky2。整体构造每个零知识证明系统都由
本文档介绍了 Constantine's Threadpool 的设计,它受到了 Weave 和 nim-taskpools 的启发,旨在提供高性能、低开销、节能的多线程运行时环境,并着重考虑了高可靠性、可审计性和可维护性。设计关键包括分布式任务队列、减少内存分配、自适应工作窃取、数据并行中的惰性二分分割以及在等待 future 时的回退机制。
如何学习零知识证明, 明确动力、材料不那么重要,必要独自学习,多分享,不要怕提愚蠢的问题,看看可以做什么,不要对自己太苛刻了。
本文介绍了Lasso和Jolt的创新,它们能显著提升SNARK的性能,并更易于构建和审核。结合D&P的Binius方案,这些发展改变了我们对SNARK设计的基本理解,提出了新的思路以优化电路求解和多项式承诺方案,从而提高加密运算的效率,特别是在哈希函数应用中。
本文介绍了Ben Diamond和Jim Posen的研究团队在多项承诺方案Ligero/Brakedown方面的进展,并探讨了将其应用于基于sum-check的SNARK(如Lasso和Jolt)中的效益。讨论了D&P承诺方案的性能优势、所采用的哈希函数以及对小值承诺的改进,同时分析了不同承诺方案在SNARKs性能中的应用场景。
本文探讨了使用零知识证明(ZKP)验证全同态加密(FHE)的过程,重点分析了TFHE在RISC Zero平台上的实现,以及如何通过优化数据加载和计算来提高效率。文章呈现了核心概念、实施细节和代码示例,为后续优化提供基础。
FIPS 203(草案)的第 2.4 节对所有这些进行了非常清楚和更详细的解释。FIPS 标准实际上在避免形式主义和与工程师交流方面做得很好了。就把这篇当作一个更友好、更务实的总结吧。
zk-merkle-tree 库: 使用 zkSNARK 在以太坊上进行匿名投票
ZK 语言调查:Noir , o1js , Circom , Leo, Cairo, Lurk
zk-SNARK,即“零知识简洁非交互式知识论证”,使得一名验证者 能够确认一名证明者 拥有某些特定知识,这些知识被称为 witness,满足特定的关系,而无需透露关于见证本身的任何信息。
Circom 语言教程与 circomlib 演示
本文深入探讨了zk-SNARKs及其在去中心化私有计算和区块链扩展中的应用,特别是总结检查协议的工作原理和实现方法。作者详细介绍了多线性多项式的编码过程及总结检查协议的步骤,强调了它在复杂性理论和密码学中的重要性,并揭示了其在SNARKs中的基础作用。
扫一扫 - 使用登链小程序
383 篇文章,667 学分
114 篇文章,644 学分
67 篇文章,481 学分
118 篇文章,445 学分
156 篇文章,354 学分