美文网首页
WebGPU Zk加速

WebGPU Zk加速

作者: 雪落无留痕 | 来源:发表于2023-09-10 16:30 被阅读0次

    目前在网络中零知识证明生成速度较慢,从几十秒到几分钟,不适合一些带有隐私功能钱包和匿名身份平台的应用。为了防止隐私泄露,这些证明生成无法外包给第三方。

    目前命令行程序可以访问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对密码算法的加速

    1. 有限域运算, 这是生成证明最基本的运算
    2. MSMs的加速,MSM(multi-scalar multiplication)约占到ZK 证明生成70%的计算量;
    3. NTT 加速,NTT(Number-theoretic transformations) 也占据ZK 证明生成相当一大部分计算量。
    4. 有效地和WebGPU, WASM , 和 Javascript 整合,有效协同CPU和GPU 运算的配合。

    示例

    根据 Poseidon 示例, 采用WebGPU 需要花费103ms, 采用CPU 需要1267 ms,

    参考

    https://www.w3.org/TR/webgpu/

    https://hackmd.io/@weijiek/SysrYffq3#About-WebGPU

    https://github.com/geometryresearch/wgsl-poseidon

    https://geometry.xyz/notebook/accelerating-client-side-zk-with-webgpu

    相关文章

      网友评论

          本文标题:WebGPU Zk加速

          本文链接:https://www.haomeiwen.com/subject/rbmsvdtx.html