本文介绍了a16z加密团队发布的Jolt zkVM的初始实现及其性能和可用性的改进,包括验证成本的显著降低,集成折叠技术以提升多项式承诺方案和简单性。此外,文章详细描述了Jolt的各项新特性和未来的发展方向,包括对RISC-V的支持、开源贡献者所做的改进与正式验证的进展。
在四月份,a16z 的加密研究和工程团队发布了初步实现的 Jolt,这是一种最先进的 zkVM。从那时起,Jolt 团队和开源贡献者对 Jolt 的性能和可用性进行了几次改进。
性能方面的好消息是,Jolt 的验证器成本大幅下降:从四月份的证明大小超过 MB,降至今天大约 200 KB。进一步减少至 25 KB 也是可能的。
Jolt 降低的验证器成本将在未来几个月进一步带来收益,解锁高效的 folding schemes 以控制证明者空间。将 folding 集成到 Jolt 中将同时带来三个主要特性。Folding 将
此外,Jolt 的证明者预计速度提升约 3 倍。这一改善将来自于整合 最近识别的 优化 以改进 sum-check 协议,并更好地利用 在 Jolt 中出现的高度一致的约束系统特性。
Jolt 路线图和愿景的简短视频概述在 这里。自四月份以来完成的改进细节如下。
在发布时,Jolt 仅支持用 “no-std” Rust 编写的访客程序。工程合作伙伴 Noah Citron 集成了对 Rust 标准库的支持,使开发者能够使用更多现成的 Rust Crates。
在开源贡献者 Mihir Wadekar 和 Ethan Lee 的帮助下,我们添加了对 RISC-V “M” 扩展的支持,以进行整数乘法和除法。这显著提高了 Jolt 在使用许多乘法或除法的访客程序上的性能,之前这些操作会被编译为冗长的指令序列。
Jolt 的初步实现使用 Hyrax 作为其多项式承诺方案,尽管 Jolt 架构与任何多线性承诺方案兼容。虽然 Hyrax 提供了良好的证明者性能,但其证明相对较大。开源贡献者 Pat Stiles 和 Ethan Lee 分别集成了 Zeromorph 和 HyperKZG 多项式承诺方案,二者都显著减少了证明大小,仅造成适度的证明者延迟。
我们实施了一种基于 sum-check 的协议(最初是在 Nova 中实现)以将多个开口证明减少为一个。这减少了证明大小,并且对于某些多项式承诺方案,也减少了证明者的时间。
开源贡献者 alpeh_v 实现了在 Quarks 论文 中描述的大乘积论证,作为 Jolt 现有实施的 Thaler ‘13 大乘积的替代方案。与 Thaler ‘13 相比,Quarks 大乘积论证以证明者时间为代价产生了更小的证明。
Alpeh_v 和 Matteo Mer 还在 Jolt 验证器的 Solidity 实现方面取得了重大进展。完成后,这将允许在任何 EVM 区块链上验证 Jolt 证明。
我们与 Dag Arne Osvik 合作发布了一个 AVX-512 库 以进行 256 位 Montgomery 算术。这可以用来加速 Jolt、Groth16 和其他基于椭圆曲线的 SNARK 的域算术,前提是硬件支持该扩展。这一库将在未来完全集成到 Jolt 中。
由我们的暑期研究项目实习生 Quang Dao 和 Carl Kwan 领导的形式验证工作迄今已经完成了四项任务:
前两项任务已经完成,第三项几乎完成,第四项正在进行中。这些工作的进展已经导致发现了 Jolt 实现中的一些小bug和优化。
我们的工作远未结束。我们正在与几个团队和个人贡献者合作推动 Jolt的进展,并且有几个激动人心的改进在进行中,包括:
Binius 承诺方案的集成和从 256 位素数域切换到二进制域的工作还在远期计划中。
如果你想要贡献或了解更多关于 Jolt 的 路线图,请联系 @moodlezoup。
\\*\
Justin Thaler 是 a16z 的研究合伙人,乔治城大学计算机科学系的副教授。他的研究兴趣包括可验证计算、复杂性理论和大规模数据集的算法。
Michael Zhu 是 a16z crypto 的研究工程师,与研究团队合作编写开源代码,并帮助投资组合公司处理所有与智能合约相关的事宜。在加入 a16z crypto 之前,Michael 在 0x Labs 领导协议开发,为多个区块链架构智能合约,以促进点对点交易。在此之前,他是斯坦福大学的学生,获得计算机科学的学士和硕士学位。
\\*\
- 原文链接: a16zcrypto.com/posts/art...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!