当前位置: 首页 > article >正文

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的优势。
在这里插入图片描述
开源代码实现见:

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

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

第一届ZPrize FPGA MSM track winner Hardcaml的性能为:
在这里插入图片描述
而实际所实现的PipeMSM的性能要更优。

在这里插入图片描述
在这里插入图片描述

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。
    核心设计思想为:
    在这里插入图片描述
    开源代码实现见:
    • 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

http://www.kler.cn/a/14355.html

相关文章:

  • docker常用命令
  • servlet技术
  • 云原生|kubernetes|rancher-2.6.4安装部署简明手册
  • Oracle的学习心得和知识总结(二十二)|Oracle数据库Real Application Testing之Database Replay实操(二)
  • redis学习笔记
  • Rust之泛型、特性和生命期(一):基本概念
  • 记录自己第一次项目管理(附件:WBS计划与会议纪要模板)
  • 操作系统原理 —— 进程有哪几种状态?状态之间如何切换?(七)
  • 【iOS】—— 响应者链和事件传递链
  • 我实现了一个乞丐版的评论功能
  • C语言函数大全-- q 开头的函数
  • 搞懂位图和布隆过滤器
  • 【社区图书馆】 Go佬—Go程序开发实战宝典书评
  • Django项目之经济预测平台,应用LSTM、GBDT等算法
  • 管理系统的实现_01
  • Progress ThemeBuilder crack
  • 对数据库中存储的程序进行现代化改造,以使用 Amazon Aurora PostgreSQL 联合查询、pg_cron 和 Amazon Lambda
  • 总结829
  • Android Jetpack - Navigation 组件:进行应用程序导航
  • HDCTF KEEP ON