1. 引言
Geometry团队近日发布了一个bounty(1500美金)项目:
希望借助WebGPU技术,实现在客户端的ZKP证明。
现有的一些WebGPU基础算法库有:
- https://github.com/geometryresearch/wgsl-poseidon(Rust+TypeScript+WGSL):基于BN254 Scalar域以WGSL实现了Poseidon哈希函数,可在浏览器内和命令行运行。
- https://github.com/sampritipanda/msm-webgpu(HTML+Python):实现了Vesta域的基于Pippenger算法MSM,以及其他一些关键椭圆曲线运算函数。
- https://github.com/voidash/webgpu-examples(Rust+WGSL):实现了BLS12-381有限域运算。
本次bounty项目重点关注但不限于以下维度:
- 1)高层算法:
- Multi-scalar multiplication(MSM)
- 快速傅里叶变换(FFT)
- 2)高效椭圆曲线运算:
- 如曲线加法、指数幂运算等。
- 3)高效有限域运算:
- 如Poseidon哈希函数中高频使用的 x 5 m o d p x^5\mod p x5modp运算,或MiMC7哈希函数中高频使用的 x 7 m o d p x^7\mod p x7modp运算。
- 4)任意常用哈希函数:
- 如Poseidon 2、Reinforced Concrete、Tip5 或 MiMC等。
Rust提供了wgpu
库,可实现CLI方式来运行WGSL代码。
2. 何为WebGPU?
WebGPU详细背景知识见:
参考资料
[1] Geometry团队2023年7月博客 Geometry Bounty: WebGPU for ZK Proving