本文详细介绍了Jolt zkVM 的工作原理,它是一个为 RISC-V 架构设计的零知识虚拟机,由 a16z 开发,并采用 Lasso 查找参数来证明 VM 执行的正确性,文章详细解释了指令查找、离线内存检查和 Rank-1 约束系统 (R1CS) 三个主要组件,以及它们如何协同工作以确保 VM 执行的正确性。
本文深入探讨了零知识虚拟机(zkVM)的工作原理、潜在的安全漏洞以及构建安全零知识应用的必要性。文章详细介绍了zkVM的编译、执行、证明和验证流程,并分析了每个阶段可能出现的安全风险,例如编译器漏洞、执行不确定性、电路约束不足以及验证过程中的输入混淆等问题。
zkSecurity 团队与 a16z 合作,对 Jolt zkVM 进行了深入研究,发现了多个严重的安全漏洞,如执行跟踪验证、输出检查和内存布局约束等方面的问题。这些漏洞可能允许恶意证明者绕过验证。Jolt 团队已经修复了这些问题, 并通过这次合作显示了对 zkVM 进行安全审计的重要性。
Noname 3.0 发布,它是一种受 Rust 和 Golang 启发的 zk 编程语言,旨在为开发人员提供比 Circom 更好的体验。此版本包含原生 hint、标准库 (stdlib) 和更丰富的调试功能,并介绍了 hint 函数的使用方式、标准库的模块、迭代器、日志记录和编译器管道可视化工具,同时规划了未来的开发方向。
本文回顾了零知识证明领域发展的十个里程碑式的论文,从早期的理论基础到实际应用,涵盖了从最初的交互式证明系统到高效的SNARKs和STARKs,再到零知识虚拟机zkVMs的关键进展,详细阐述了每篇论文的核心思想、技术贡献以及对后续研究的影响,为理解零知识证明的演进历程,提供了全面的视角。
10 篇塑造现代零知识证明的必读论文
本文介绍了一种新的SNARKs构造方法,用于在整数上进行计算,并提供了一种简单但新颖的方法来构建高效的证明系统。该方法通过使用多线性SNARKs,并结合“具有模余数的承诺方案”这一新工具,将现有的SNARKs“编译”成整数上的论证,实现了高效的范围检查、混合域仿真以及RSA群中的计算验证。
该RFC提议在noname中支持常量泛型,泛型参数可以从观察到的参数(如常量、数组或结构体)中解析。这将提高代码的可重用性和模块化,并且是支持具有符号大小的通用数组的先决条件。文章详细介绍了代码示例、内置示例、单态化、实现方法和单态化过程。
本文介绍了一种基于KZG承诺的见证加密(Witness Encryption, WE)方案。该方案允许对KZG承诺和评估声明进行加密,只有掌握有效KZG opening proof π的解密者才能解密,即只有知道承诺中多项式在某点的值时才能解密。此外,还介绍了一个基于该WE方案的高效简洁的茫然传输(Laconic Oblivious Transfer, LOT)协议。