gpu
目前在网络中零知识证明生成速度较慢,从几十秒到几分钟,不适合一些带有隐私功能钱包和匿名身份平台的应用。为了防止隐私泄露,这些证明生成无法外包给第三方。
目前命令行程序可以访问GPUs, FPGAs, ASICs等硬件设备,但是浏览器的资源很受限。目前已经有一些团队采用硬件加速zk, 例如Scroll 采用GPU 加速Prover, Ingonyama ICCLE 库 采用CUDA 加速Gnark 库。
WebGPU可以实现客户端的证明生成,允许开发基于浏览器的应用,可以利用GPU的高速以及并行计算能力。
WebGPU 于2017年由W3C 工作组开发,它定义了一组API, 可以访问GPU 算力资源。 目前标准越来越成熟,2023年4月,Google 升级Chrome 以支持WebGPU, 目前,Firfox, Safari, Edge 也提供了对WebGPU的支持。
WebGPU可以支持能用的计算,可以开发类似Rust的 WebGPU Shading Language (WGSL) 语言的程序,以定义GPU的运算。
对于GPU的计算和内存模型和CPU完全不一样,GPU首先需要考虑并行化问题。
GPU对密码算法的加速
- 有限域运算, 这是生成证明最基本的运算
- MSMs的加速,MSM(multi-scalar multiplication)约占到ZK 证明生成70%的计算量;
- NTT 加速,NTT(Number-theoretic transformations) 也占据ZK 证明生成相当一大部分计算量。
- 有效地和WebGPU, WASM , 和 Javascript 整合,有效协同CPU和GPU 运算的配合。
示例
根据 Poseidon 示例, 采用WebGPU 需要花费103ms, 采用CPU 需要1267 ms,
参考
https://hackmd.io/@weijiek/SysrYffq3#About-WebGPU
https://github.com/geometryresearch/wgsl-poseidon
https://geometry.xyz/notebook/accelerating-client-side-zk-with-webgpu
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理