ICICLE-Snark 是一种快速的 Groth16 证明实现,适用于零知识证明的应用。文章详细论述了 Groth16 的原理、工作流程,以及 ICICLE 如何通过优化算法和缓存技术提升性能,达成记录-breaking 的速度提升,从而为区块链应用提供更高效的解决方案。
本文介绍了Ingonyama团队在2023年ZPrize竞赛中获得第一名的基于FPGA的MSM加速方案。该方案首次在加速器平台上实现了批量仿射椭圆曲线加法,显著降低了MSM的计算负担。该设计在AMD Alveo U250 FPGA上实现了高性能,支持BLS12-381和BLS12-377曲线,并在未来异构计算中具有广阔的应用前景。
本文介绍了对 rapidsnark 进行 GPU 加速的动机、背景和性能。通过将硬件加速集成到 rapidsnark 中,性能达到了 CPU 版本的约 4 倍。主要针对 NTT 和 MSM 计算进行优化,Orbiter Finance 团队开源了加速后的 rapidsnark 代码。
本文介绍了用于多标量乘法(MSM)的Pippenger算法。该算法首先将标量分割成多个窗口,然后针对每个窗口,通过桶排序的方法计算点的和,最后将各个窗口的结果进行累加以得到最终结果。文章还提供了一个参考链接,可以了解更多关于多标量乘法策略和挑战的信息。
本文介绍了带符号桶索引的多标量乘法(MSM)技术,也称为NAF方法。该方法通过将桶索引视为带符号整数,减少了桶的数量和内存使用。文章详细解释了如何将标量切片映射到新的范围,并提供了伪代码算法。同时讨论了处理最高切片溢出的问题,并提出了一种改进的技巧来避免最终进位。
本文介绍了ICICLE V1.6.0版本的一系列更新,包括稳定的Golang绑定、多GPU支持、向量运算API、Grumpkin曲线支持、NTT改进和MSM改进。这些更新旨在提升零知识证明(ZKP)加速的性能和效率,并扩展ICICLE的应用范围,如支持更大的电路和更多编程语言。
本文介绍了ICICLE库的更新,该库使用CUDA加速GPU上的ZK证明。主要更新包括:支持Poseidon哈希和优化的Merkle树构建器,新的混合基数NTT算法,改进的MSM设计,以及修复了Rust绑定在Windows上的支持问题。还包括性能测试结果,展示了Poseidon哈希树构建器和NTT算法的性能提升。
Kroma Network 通过集成 Ingonyama 的 ICICLE 库到其 Tachyon 项目中,显著加速了零知识证明的生成过程,特别是在 Circom 证明和 SP1 zkVM 证明方面。通过 GPU 加速,MSM 速度提升了 8-10 倍,NTT 速度提升了 3-5 倍,Circom 证明生成速度提升了 4 倍。
ICICLE 是一个使用 CUDA-enabled GPUs 进行 ZK 加速的库。最新版本引入了 ECNTT、列式 NTT 处理、MSM 预计算等新特性,并优化了编译时间。即将发布的 v2 版本将提供丰富的多项式 API,并支持在 GPU 内部运行端到端的证明器。