Kroma Network 通过集成 Ingonyama 的 ICICLE 库到其 Tachyon 项目中,显著加速了零知识证明的生成过程,特别是在 Circom 证明和 SP1 zkVM 证明方面。通过 GPU 加速,MSM 速度提升了 8-10 倍,NTT 速度提升了 3-5 倍,Circom 证明生成速度提升了 4 倍。
Kroma Network 是一个基于 OP stack 的通用 rollup,它利用零知识证明进行主动容错证明。它的使命是通过提升用户和开发者的体验来加速区块链技术在日常生活中的应用。
作为发展成为通用 ZK rollup 的战略愿景的一部分,Kroma 预计经常需要生成证明,这可能会导致巨大的成本。因此,减少生成证明所需的时间成为首要任务,使得集成 ICICLE 成为实现其目标的关键一步。
为了保持领先地位,并为 ZK 领域的创新保留灵活性,Kroma 团队认识到需要一种通用的、GPU 加速的解决方案。然而,现有的 ZK 开源库却不尽如人意 —— 它们要么与 Halo2 不兼容,要么不是通用的,要么不支持 GPU 加速。为了克服这些限制,Kroma 发起了 Tachyon 项目。
Tachyon 是一个高性能、通用、开源的 ZK 证明库,专为无缝 GPU 互操作性而设计。它支持各种语言和运行时,使其对开发者友好且易于集成。Tachyon 旨在作为当前 Halo2 后端的直接替代品,从而显著减少证明生成时间和成本。为了达到所需的性能,Kroma 团队将 Ingonyama 的 GPU 加速库 ICICLE 集成到 Tachyon 中,用于零知识证明。
将 ICICLE 集成到 Tachyon 的系统和工作流程中,包括调整 ICICLE 以便与其现有基础设施无缝协作,从而提高其 ZK 证明过程中的性能。
ICICLE 的 GPU 算法不仅应用于 BN254,还应用于所有已实现的字段和曲线,包括 Babybear 字段。Tachyon 进一步利用 ICICLE 的资源进行构建,这样如果 GPU RAM 不足,MSM 将在 GPU 上尽可能多地进行计算,并使用 CPU 完成其余过程,或者重复调用 GPU 算法。
集成 ICICLE 使 Kroma 能够使用 GPU 加速生成第一个端到端证明。此外,在集成 ICICLE 之前,当标量点不是均匀分布时,Tachyon 的 MSM GPU 存在显著的速度差异,从而限制了它们在生产环境中的使用。这个问题通过 ICICLE 的实现得到了解决。
ICICLE 的集成引入了用于多标量乘法 (MSM) 和快速傅里叶变换 (FFT) 的 GPU 加速,从而使 Circom 证明生成速度提高了 4 倍。然而,最显著的影响是加速了 SP1 zkVM 证明,这是 Kroma 的主要目标,通过用 Tachyon 替换 Plonky3 后端来实现。
与传统的 CPU 实现相比,ICICLE 集成到 Tachyon 中使 MSM 的速度提高了 8-10 倍,数论变换 (NTT) 的速度提高了 3-5 倍。
总体而言,Circom 证明生成速度提高了 4 倍,GPU 实现与 Tachyon 已经很快的 CPU 实现形成了鲜明对比。
下图显示了 Tachyon 已经很快的 CPU 实现与 Tachyon 极其快速的 GPU 实现之间的速度差异。
Kroma 计划在未来的项目中继续利用 ICICLE 的功能。即将进行的增强包括:
Kroma 和 Ingonyama 之间的合作特点是良好的沟通和近乎实时的支持。这种密切的合作确保了及时解决任何问题,从而促进了平稳的集成过程。
当速度、效率和可扩展性至关重要时,ICICLE 成功集成到 Kroma Network 的 Tachyon 中,证明了 GPU 加速在 ZK 证明生成中的变革潜力。
非常感谢 Kroma 团队的帮助和审查。
Twitter: https://twitter.com/Ingo_zk
YouTube: https://www.youtube.com/@ingo_zk
GitHub: https://github.com/ingonyama-zk
LinkedIn: https://www.linkedin.com/company/ingonyama
加入我们: https://www.ingonyama.com/career
- 原文链接: medium.com/@ingonyama/ic...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!