本文回顾了零知识证明领域发展的十个里程碑式的论文,从早期的理论基础到实际应用,涵盖了从最初的交互式证明系统到高效的SNARKs和STARKs,再到零知识虚拟机zkVMs的关键进展,详细阐述了每篇论文的核心思想、技术贡献以及对后续研究的影响,为理解零知识证明的演进历程,提供了全面的视角。
10 篇塑造现代零知识证明的必读论文
本文介绍了一种新的SNARKs构造方法,用于在整数上进行计算,并提供了一种简单但新颖的方法来构建高效的证明系统。该方法通过使用多线性SNARKs,并结合“具有模余数的承诺方案”这一新工具,将现有的SNARKs“编译”成整数上的论证,实现了高效的范围检查、混合域仿真以及RSA群中的计算验证。
该RFC提议在noname中支持常量泛型,泛型参数可以从观察到的参数(如常量、数组或结构体)中解析。这将提高代码的可重用性和模块化,并且是支持具有符号大小的通用数组的先决条件。文章详细介绍了代码示例、内置示例、单态化、实现方法和单态化过程。
本文介绍了一种基于KZG承诺的见证加密(Witness Encryption, WE)方案。该方案允许对KZG承诺和评估声明进行加密,只有掌握有效KZG opening proof π的解密者才能解密,即只有知道承诺中多项式在某点的值时才能解密。此外,还介绍了一个基于该WE方案的高效简洁的茫然传输(Laconic Oblivious Transfer, LOT)协议。
本文介绍了MOCA意大利黑客训练营CTF竞赛中一个名为“2+2=5”的密码学挑战,该挑战利用了修改后的Jolt zkVM。挑战要求参与者构造一个无效的RISC-V程序执行证明,利用Jolt库中的漏洞,使得程序输出错误的结果“5”,从而绕过服务器的验证并获得flag。
本文介绍了noname 2.0预览版的主要更新,包括支持泛型数组、通过Sonobe集成支持folding scheme、交互式在线 Playground、R1CS优化以及社区贡献的bug修复和功能改进。这些更新旨在提高noname语言的灵活性、效率和用户友好性,使开发者能够编写更复杂的ZK电路,并简化IVC应用的开发。
本文介绍了Aleo区块链平台及其上的Leo编程语言,Leo专注于开发具有强大隐私性的应用程序。文章详细阐述了Leo语言的基础知识,包括其语法、记录模型以及与链上状态的交互方式。此外,文章还探讨了Aleo程序中可能存在的潜在漏洞,例如整数溢出、未防护的程序初始化、Record的消费限制以及函数中信息泄露,并提供了避免这些漏洞的最佳实践。
本文介绍了以太坊通过EIP-4844引入的Proto-Danksharding,旨在降低数据可用性成本。