> 文章列表 > Ingonyama团队的ZKP加速

Ingonyama团队的ZKP加速

Ingonyama团队的ZKP加速

1. PipeMSM(cloud-ZK):ZKP+FPGA

Ingonyama团队2022年发表了论文《PipeMSM: Hardware Acceleration for Multi-Scalar Multiplication》,尝试将ZK操作与FPGA结合,并为未来ZK与ASIC(Application Specific Integrated Circuits)结合做铺垫。

在Aztec系列博客

  • SNARK性能及安全——Prover篇
  • SNARK性能及安全——Verifier篇

中指出,prover开销 相对于 “direct witness checking” 将是百万级甚至千万级的。Prover开销被认为是影响ZK应用的主要计算瓶颈,从而影响:

  • 延迟
  • 吞吐量
  • 内存
  • 耗电量
  • cost

MSM(Multi-scalar multiplication)为许多ZK prover的主要瓶颈,在PipeMSM论文中,借助:

  • Parallel Bucket Method
  • low latency Complete Elliptic Curve addition formulae
  • Domb-Barret Reduction,详情参见博客:基础算法优化——Fast Modular Multiplication

所实现的MSM算法,具有能耗效率高且速度可媲美GPU的优势。
Ingonyama团队的ZKP加速
开源代码实现见:

  • https://github.com/ingonyama-zk/cloud-ZK/(C+Rust)(专门针对 AWS EC2 F1 FPGA instance )

FPGA与GPU相比的劣势在于,GPU为商品化硬件,用户更易于获得。

第一届ZPrize FPGA MSM track winner Hardcaml的性能为:
Ingonyama团队的ZKP加速
而实际所实现的PipeMSM的性能要更优。

Ingonyama团队的ZKP加速
Ingonyama团队的ZKP加速

2. ICICLE:ZKP+GPU

开源代码见:

  • https://github.com/ingonyama-zk/icicle(Cuda+Rust)

ICICLE为基于CUDA的GPU库,支持:

  • Aleo等应用中的ZK加速。
  • Fast Danksharding应用:为以太坊rollup扩容路线图的sharding设计。引入新的名为blob-data的数据类型。blob-data由共识层(beacon链)存储有限的一段时间,不可被执行层(EVM)访问,但blob-data的内容和可用性 可由 执行层(EVM)验证。Danksharding引入builder新角色。builder给proposers提供block proposals,proposers负责根据highest bid来选择block。仅被选中的block builder需要构建整个区块。一旦选中的区块发布,可通过data availability sampling高效验证。详细参看论文:A Mathematical Theory of Danksharding。
    核心设计思想为:
    Ingonyama团队的ZKP加速
    开源代码实现见:
    • https://github.com/ingonyama-zk/fast-danksharding (Python+Rust)

参考资料

[1] Ingonyama团队2022年9月博客 Cloud-ZK: A Toolkit for Developing ZKP Acceleration in the Cloud
[2] https://zprize.hardcaml.com/msm-results.html
[3] Ingonyama团队2023年4月博客 ZK Hardware Table Stakes part 1 -MSM
[4] Ingonyama团队2023年3月博客 Introducing ICICLE: An Open-Source GPU Library for Zero Knowledge Acceleration
[5] Ingonyama团队2023年3月博客 Fast Danksharding using ICICLE
[6] Ingonyama团队博客A Mathematical Theory of Danksharding

ZKP加速系列博客

  • Multi-scalar multiplication: state of the art & new ideas
  • 采用特殊硬件指令对密码学算法加速
  • 零知识证明的硬件加速
  • STARK/SNARK加速小技巧
  • 借助FPGA硬件对Multi-Scalar Multiplication加速
  • 基础算法优化——Fast Modular Multiplication