Halo2 中存在一个查询冲突的漏洞,当多点打开参数中多次在同一评估点查询同一多项式时,会导致一个评估被忽略,恶意证明者可以伪造评估并通过验证,文章解释了漏洞的根本原因,并通过具体的例子展示了如何利用它,以及如何在 Halo2 中修复它。
本文深入探讨了在 Circom 中编程时可能遇到的常见陷阱,包括错误地使用 assert、不正确地处理 hints (即 <-- 运算符),以及由于有限域算术导致的别名攻击。文章提供了具体的代码示例和避免这些陷阱的方法,强调了在 Circom 电路开发中进行严格约束和安全编码的重要性。
assert
<--
本文探讨了AI在零知识电路和应用程序中发现漏洞的能力,zkSecurity开发了一款名为SnarkSentinel的AI驱动的ZK审计工具。
在Solana的ZK ElGamal Proof Program中发现了一个严重的声音漏洞,该漏洞允许恶意证明者伪造sigma OR 证明,绕过机密传输中的费用验证。攻击者可以操纵加密的费用金额来任意铸造或烧毁Token,而无需泄露实际的传输价值。该漏洞的根本原因是Fiat-Shamir转换中的一个微妙错误,即一个由证明者生成的“挑战”值未被吸收到transcript中。
本文介绍了基于格的证明系统,并重点解释了最有前途的解决方案Greyhound的工作原理。Greyhound是一种多项式承诺方案(PCS),它依赖于模块短整数解(M-SIS)问题,该问题被认为是量子计算机也难以解决的。文章还讨论了如何将Greyhound整合到LaBRADOR中,以实现更小的证明尺寸和亚线性验证时间。
本文分析了Barrett reduction算法中商的近似误差界限,指出在大多数实际应用场景中,该误差界限可以从[q-2, q]收紧到[q-1, q],从而减少一次不必要的减法运算,提高计算效率。该优化已应用于RustCrypto的P-256标量域实现,性能提升了14%。
本文深入探讨了KZG多项式承诺方案的多种单变量变体,包括用于批量处理多个开放的技术以及实现无条件隐藏属性的方法。文章详细介绍了Plain KZG、Batched Variants等方案,并探讨了如何使用随机多项式或随机群元素来实现无条件隐藏特性,为构建zkSNARKs提供理论基础。
本文探讨了利用 WebGPU 加速客户端零知识证明(ZKP)的方法。WebGPU 是一种可以在多种平台(包括移动设备)上利用 GPU 的技术,通过并行计算和优化内存使用,能够显著提升证明速度。文章详细介绍了 WebGPU 的基本原理、内存层级结构,以及在 WGSL 中实现 NTT(数论变换)的优化过程,最后讨论了将 WebGPU 集成到 ZK 框架中的挑战和未来方向。
本文介绍了clean,一个为零知识电路(ZK circuits)构建的嵌入式DSL和形式验证框架,目标是使用Lean4定义电路、指定属性并进行形式化验证。clean通过将电路定义、规范和正确性证明置于一处,旨在创建一个可重用的、经过形式验证的电路组件库,并以AIR算法为目标,最终发展成通用的零知识证明框架。文章还提供了一个8位加法的具体例子,展示了如何使用clean来定义、验证电路的正确性
本文深入探讨了BitVM及其变体如何通过在比特币的UTXO模型上构建电路抽象,实现对比特币上任意计算的验证。通过模拟 covenant、利用一次性签名实现状态性,以及结合时间锁等技术,BitVM 在不修改比特币核心协议的前提下,扩展了其功能,并为高效验证复杂计算开辟了道路。