1. 引言
Jolt路线图信息见:【相关详细介绍见2024年11月13日视频An update on Jolt’s development roadmap。】

2024年4 月,a16z crypto 研究和工程团队发布了Jolt的初始实现,Jolt是一款最先进的 zkVM。此后,Jolt 团队和开源贡献者对 Jolt 的性能和可用性进行了多项改进。
性能提升的结果是 Jolt 的verifier成本大幅下降:
- 证明大小从 2024年4 月份的数 MB 下降到 2024年11月份的约 200 KB。
- 进一步降低到 25 KB 是可能的。
Jolt 降低的verifier成本将在未来几个月带来更多红利,解锁高效的Folding方案 来控制prover空间。将Folding集成到 Jolt 中将同时产生三大功能。Folding方案可:
- 1)将prover的空间限制在几 GB 以内,
- 2)实现零知识数学,并
- 3)产生链上证明。
另外,Jolt prover的速度有望提高大约 3 倍。这一改进将来自于将最近发现的优化:
- 2024年Ingonyama团队和a16z crypto团队论文《The Sum-Check Protocol over Fields of Small Characteristic》。
- 2024年a16z crypto团队论文《More Optimizations to Sum-Check Proving》。
- 2024年Polygon Zero团队论文《Some Improvements for the PIOP for ZeroCheck》。
纳入到 sum-check协议中,以及更好地利用Jolt 中出现的约束系统的高度统一性——详情见Simplified second-Spartan-sum-check (via simpler uniform R1CS product-vector MLE) #347。
自2024年4月发布Jolt以来,做了如下改进:
- 1)Rust 标准库支持
在发布时,Jolt 仅支持用“非标准”Rust 编写的客户程序。工程合作伙伴Noah Citron集成了对 Rust 标准库的支持,使开发人员能够使用更多现成的现有 Rust 包。 - 2)RISC-V“M”扩展
在开源贡献者Mihir Wadekar和Ethan Lee的帮助下,添加了对 RISC-V “M” 整数乘法和除法扩展的支持。这显著提高了 Jolt 在使用大量乘法或除法的客户程序上的性能,而这些程序以前会被编译为冗长的指令序列。 - 3)支持新的承诺方案
Jolt 的初始实现使用 Hyrax 作为其多项式承诺方案,尽管 Jolt 架构与任何multilinear承诺方案兼容。虽然 Hyrax 提供了良好的prover性能,但其证明相对较大。开源贡献者Pat Stiles和Ethan Lee分别集成了Zeromorph和HyperKZG多项式承诺方案,这两种方案都显著减少了证明大小,而prover速度仅略有下降。 - 4)更小的opening proofs
实施了基于sum-check的协议(最初在Nova中实施),以将多个opening proofs reduce为一个。这减少了证明大小,并且对于某些多项式承诺方案,还减少了prover的时间。 - 5)“Quarks” grand products
开源贡献者alpeh_v实现了 2020年Quarks论文中所描述的grand product argument,作为 Jolt 现有的 2013年Justin Thaler论文Time-Optimal Interactive Proofs for Circuit Evaluation 实现的grand product argument替代方案。与 2013年Justin Thaler论文Time-Optimal Interactive Proofs for Circuit Evaluation 相比,Quarks grand products以prover时间为代价,来获得较小的证明。 - 6)链上验证的进展
alpeh_v和Matteo Mer还在 Jolt verifier的 Solidity 实现方面取得了重大进展。一旦完成,这将允许在任何 EVM 区块链上验证 Jolt 证明。 - 7)用于域运算的 AVX-512 库
与 Dag Arne Osvik 合作发布了一个用于 256-bit Montgomery 算法的AVX-512 库。这可用于在支持扩展的硬件上加速 Jolt、Groth16 和其他基于椭圆曲线的 SNARK 中的字段算法。此库将在未来完全集成到 Jolt 中。 - 8)正在进行的形式验证工作
在a16z crypto暑期研究项目实习生 Quang Dao 和 Carl Kwan 的带领下,形式验证工作迄今已完成四项任务:【详情见2024年论文《Verifying Jolt zkVM Lookup Semantics》,相应代码见:https://github.com/kwancarl/acl2-jolt(Rust + Common Lisp)。】- 在 ACL2 中构建和验证 RISC-V 的形式化模型
- 验证 Jolt 中的“evaluation table decompositions评估表分解”是否全部正确(即验证“将每个原始指令分解为lookups subtable,并将结果整理到指令的输出中”的方式)
- 确认 Jolt 中的“R1CS 约束和lookups”确实捕获了正确的 RISC-V 语义
- 在 Lean 中形式化 Jolt 多项式 IOP 的完整性和合理性,从其两个关键组件开始:Lasso 和 Spartan。
前两个任务已经完成,第三个任务接近完成,第四个任务正在进行中。这些努力已经识别出了 Jolt 实现中的小错误和优化。
2. Jolt未来规划
目前正在与多个团队和个人贡献者合作以推进 Jolt,并且正在进行多项令人兴奋的改进,包括:
- 各种sum-check prover优化
- 进一步减少证明尺寸和verifier成本
- GPU 集成
- 通过folding实现continuations(即 Jolt 与 Nova 的整合)。
Binius 承诺方案的集成以及从 256 位素数阶域到二进制域的转换还有待进一步研究。
参考资料
[1] a16zcrypto团队 2024年11月12日博客 Jolt: An update
1467

被折叠的 条评论
为什么被折叠?



