本文介绍了零知识证明(ZK)领域的最新进展,重点分析了Ulvetanna发布的Binius方案。Binius通过使用二进制域、针对小域的承诺方案以及基于HyperPlonk的SNARK,能更有效地处理位运算,降低内存占用,提高硬件友好性,从而加速可验证计算,并可能在软件工程和金融领域引发变革。
本文介绍了 Binius 背后的基本概念,Binius 是一种新型 SNARK,它利用使用扩展塔构建的二元域,从而实现硬件友好的操作。该结构还允许我们连接多个元素并将它们解释为扩展域的元素。承诺方案基于 brakedown,它使用 Merkle 树和 Reed-Solomon 编码。与 FRI 相比,该方案会导致更大的证明和更长的验证时间,但证明者的计算时间显着减少。
本文深入探讨了zk-SNARKs及其在去中心化私有计算和区块链扩展中的应用,特别是总结检查协议的工作原理和实现方法。作者详细介绍了多线性多项式的编码过程及总结检查协议的步骤,强调了它在复杂性理论和密码学中的重要性,并揭示了其在SNARKs中的基础作用。
本文深入解析了 Groth16 协议,这是一种用于在不泄露敏感信息的情况下证明计算正确性的框架。文章详细介绍了将程序转换为算术电路或等效的 R1CS 的步骤,然后将其编译为二次算术程序,解释了协议如何转换基本方程以确保证明者无法作弊,验证者无法了解有关私有数据的任何信息。
本文深入分析了 Starkware 开源的 Stone Prover,一个使用 STARKs 技术生成计算完整性证明的 C++ 库。
本文探讨了Lambda不同的运作方式,强调了观察、迭代、简化等原则在工程实践中的重要性。文章论述了如何在解决问题时建立良好的沟通文化,重视可观测性,并提出敏捷开发和过程管理的有效策略,以提升团队的协作与生产力。
本文深入探讨了FRI(快速Reed-Solomon交互式Oracle证明)协议,该协议用于证明某个函数接近于低阶多项式,这在构建STARKs等证明系统中非常有用。文章详细解释了FRI协议的原理、实现过程,包括多项式的随机折叠、使用Merkle树进行承诺,以及验证过程,并讨论了该协议的安全性依赖于有限域的大小、哈希函数的安全性以及查询的数量。
文章讨论了零知识证明(ZKPs)等密码学技术在应对日益复杂的社会挑战中的作用,强调了其在区块链、人工智能、硬件安全、国家安全以及数据隐私保护等多个领域的潜在应用。文章指出,随着AI普及和中心化信任的减弱,ZKPs和同态加密等技术将变得至关重要,并表示将致力于支持相关技术的初创企业。
本文通过一个笔和纸的例子,介绍了使用STARKs进行计算完整性的方法。