通过 Tornado Cash 的源代码理解零知识证明
太长不看版:你已经听说过 Tornado Cash 了吗?还有 Halo2?太棒了!在这里,我们将混合这两者,并将 Tornado Cash 电路重写为 Halo2。
本文介绍了ICICLE库的更新,该库使用CUDA加速GPU上的ZK证明。主要更新包括:支持Poseidon哈希和优化的Merkle树构建器,新的混合基数NTT算法,改进的MSM设计,以及修复了Rust绑定在Windows上的支持问题。还包括性能测试结果,展示了Poseidon哈希树构建器和NTT算法的性能提升。
Lookup Arguments 允许证明者(prover)证明一个值属于一个预先定义的集合。
本文深入探讨了递归零知识证明(Recursive SNARKs)及其在隐私保护计算中的应用与优势,包括压缩多个证明的能力和跨信任边界的可组合性。文章详细分析了零知识证明的基本概念、类型以及递归证明的实施方法,探讨了不同的递归策略和它们的实际应用,如交易汇总、轻客户端证明以及去中心化治理等,展现了递归证明在区块链和其他领域的巨大潜力。
本文深入探讨了零知识证明(ZKP)应用审计过程,包括电路设计和实施审计的关键点。文章强调了电路中变量之间逻辑关系的显式声明的重要性,以及常见的审计问题,如完整性和有效性问题,以指导ZKP安全研究者和开发者提高代码质量和安全性。
Caulk+ 是 Caulk 的优化版本方案,它用了一个被称为「polynomial divisibility check」的方法来替换原本的子协议,以提升 Caulk 生成证明的效率,使得证明复杂度仅与子集的大小有关,而与原向量的大小无关。
本文详细比较了 Shamir's Secret Sharing (SSS) 和 Threshold Signature Scheme (TSS) 的工作原理,以及它们在 WaaS 解决方案中的应用。文章指出 SSS 在密钥管理方面存在风险,如密钥重构时可能暴露,并介绍了 TSS 如何通过分布式计算生成签名来解决这些问题,同时保持了类似 SSS 的灵活性。
本文介绍了在椭圆曲线背景下的配对技术,强调其在零知识证明协议和BLS签名中的应用。文中详细阐述了一维函数、阿贝尔群和计算难题,并通过具体示例深入探讨了配对的定义及相关性质。强调了对于椭圆曲线配对的计算需求及安全性考虑,同时对Weil和Tate配对进行了说明,最后指出将在后续文章中探讨具体的加密应用。
本文集中讨论了在 RISC Zero 中优化全同态加密 (FHE) 的性能,强调识别主要瓶颈的重要性。文章详细分析了 ZK 证明的开销,包括计算和分页的开销,并介绍了一个名为 profiler0 的工具,用于评估代码中的周期开销。此外,还讨论了未来的潜在优化方案,包括使用 Karatsuba 算法和 RISC Zero 的硬件加速功能。
本文介绍了零知识证明(ZK)领域的最新进展,重点分析了Ulvetanna发布的Binius方案。Binius通过使用二进制域、针对小域的承诺方案以及基于HyperPlonk的SNARK,能更有效地处理位运算,降低内存占用,提高硬件友好性,从而加速可验证计算,并可能在软件工程和金融领域引发变革。
Plonky2由PolygonZero团队开发,实现了一种快速的递归SNARK,据其团队公开的基准测试,2020年,以太坊第一笔递归证明需要60s生成,而于今Plonky2在MacBookPro上生成只需170毫秒。下面将逐步剖析Plonky2。整体构造每个零知识证明系统都由
本文探讨了zkSNARK技术在Groth16协议中的可塑性攻击漏洞,解释了攻击者如何通过修改证明中的椭圆曲线点来生成新的有效证明,并提供了相关的代码示例。
本文档介绍了 Constantine's Threadpool 的设计,它受到了 Weave 和 nim-taskpools 的启发,旨在提供高性能、低开销、节能的多线程运行时环境,并着重考虑了高可靠性、可审计性和可维护性。设计关键包括分布式任务队列、减少内存分配、自适应工作窃取、数据并行中的惰性二分分割以及在等待 future 时的回退机制。
本文介绍了 Binius 背后的基本概念,Binius 是一种新型 SNARK,它利用使用扩展塔构建的二元域,从而实现硬件友好的操作。该结构还允许我们连接多个元素并将它们解释为扩展域的元素。承诺方案基于 brakedown,它使用 Merkle 树和 Reed-Solomon 编码。与 FRI 相比,该方案会导致更大的证明和更长的验证时间,但证明者的计算时间显着减少。
如何学习零知识证明, 明确动力、材料不那么重要,必要独自学习,多分享,不要怕提愚蠢的问题,看看可以做什么,不要对自己太苛刻了。
文章详细介绍了Merkle树中的第二原像攻击(second preimage attack),解释了攻击的原理及如何防御这种攻击。文中使用了具体的示例和代码片段来阐述攻击的实现,并提供了OpenZeppelin库中的防御方法。
本文介绍了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平台上的实现,以及如何通过优化数据加载和计算来提高效率。文章呈现了核心概念、实施细节和代码示例,为后续优化提供基础。
扫一扫 - 使用登链小程序
207 篇文章,781 学分
67 篇文章,654 学分
133 篇文章,581 学分
413 篇文章,502 学分
25 篇文章,327 学分