ICICLE V3 - 旨在加速零知识证明(ZKP)的密码学库

  • ingonyama
  • 发布于 2024-09-04 22:35
  • 阅读 9

ICICLE v3 发布,这是一个密码学库,旨在加速零知识证明(ZKP)。新版本引入了强大的CPU后端,将ICICLE的卓越性能和用户友好的多项式API扩展到标准处理器,从而实现更大的灵活性和可访问性。此外,新版本还优化了GPU功能,并支持更大的原语。

ICICLE v3:走向多平台

ICICLE 是一个旨在加速零知识证明(ZKP)的密码学库。

我们很高兴地宣布发布 ICICLE v3,这是一个引入了强大的多平台支持的重大更新。我们的最新版本包括一个强大的 CPU 后端,将 ICICLE 出色的性能和用户友好的多项式 API 扩展到标准处理器,从而实现更大的灵活性和可访问性。

主要亮点

这个新版本引入了几个值得注意的功能,如下所述:

多平台支持 ICICLE v3 现在可以在 CPU 上无缝运行,提供设备无关的代码,可以在不同的硬件之间转换,而无需进行最少的努力。你现在可以在单个应用程序中利用多个设备,指定哪个设备执行你的代码的哪个部分。

增强的性能 我们优化了 GPU 功能,从而缩短了执行时间并减少了内存使用量。此外,ICICLE 现在可以有效地支持超出 GPU 内存容量的超大基元,例如 MSM 和 NTT。批处理任务的数量不再受到限制。

扩展的向量运算 现在可以使用新的向量标量运算,包括加法、减法、乘法和除法。我们还增加了对计算字段元素向量的和与积的支持。

Merkle 树增强 你现在可以在同一棵树中组合不同的哈希函数,从而提供更大的灵活性和安全性。SoonICICLE 将支持更多的哈希函数,包括 Blake2s/c 和 Keccak。

多平台:愿景

自从在 版本 2 中引入我们的多项式 API 以来,ICICLE 使⽤户能够表达复杂的协议和算法,并在 Nvidia GPU 上端到端地运行它们。

借助我们的多平台功能,可以在数据中心、移动/桌面环境、异构加速器或混合系统上部署 ICICLE。

ICICLE 高级设计理念

在接下来的几个月中,我们将继续扩展 ICICLE 的后端支持,目标是使其成为实现新的密码系统和协议的标准软件。

ICICLE 的构建旨在面向未来,支持我们所有的 IP 内核和未来的 ASIC,确保它随着技术的进步保持相关性。我们邀请其他 ZK ASIC 公司与 ICICLE 集成作为新的后端,并享受免费、丰富且经过实战考验的芯片软件堆栈。

ICICLE:ZK 的 PyTorch

正如 PyTorch 提供了一个统一的 API,允许研究人员选择他们的硬件一样,ICICLE 为密码学家也做了同样的事情。无论你是在使用 CPU、GPU 还是其他设备,ICICLE 都可以灵活地在平台之间轻松切换。

这是一个简单的代码比较,展示了两个框架之间在设备之间移动的机制 —— 值得戴上眼镜 :)

左:PyTorch,右:ICICLE v3。我们的示例使⽤用 bn254 NTT。PyTorch 示例由 ChatGPT 提供

CPU 支持 —— 但为什么?

除了 Nvidia GPU 之外,我们添加支持的第一个后端是 CPU。我们相信,我们可以从商用 CPU 中榨取更多的性能,利⽤用新的算法、并行处理技术和 CPU 专⽤用片上加速器。总的来说,我们估计与当今最先进的技术相比,平均存在一个数量级的差异。

我们优先考虑这些大量分发的处理器,⽽而不是更具异国情调的加速器。当我们考虑路线图中的下一步时,我们想到的等式是 ARM>TPU。原因如下:让 ZK 在 ARM 处理器上正确且最佳地⼯工作,可以通过使 ZK 能够在任何移动设备上运行来带来客户端证明的下一步。 另⼀一方面,Google TPU 可能会提供更⾼高的性能,但仅适⽤用于⼀一组有限的证明者,并且只能在 Google Cloud 上访问。

最终(并且很快!),我们将同时⽀支持两者,但我们的⾸首要任务是⾸首先在商品硬件上加速 ZK。

ICICLE 与 ZKVM:对比

我们最近看到市场上涌现了⼤大量的 ZKVM。ICICLE 与 ZKVM 非常不同。我们在此处提供⼀一个简短的比较来巩固差异。

例如,如果你是⼀一名密码学家,致⼒于在 EigenLayer 上加速数据可⽤用性,则可以使⽤用 ICICLE 从头开始实施 DAS 协议。或者,如果你是⼀一名⼯工程师,正在构建 ZK rollup,你可能会使⽤用 ZKVM 来实现证明者部分。虽然 ZKVM 可以使⽤用 ICICLE 实现,但反之则不然。

使⽤用 ICICLE 构建

借助 ICICLE v3,入门比以往任何时候都更容易。借助 CPU ⽀支持,只需在任何机器上运⾏行 ICICLE 即可 —— 无需特殊设置。对于那些寻求更⾼高性能的⼈人来说,只需简单地切换到 GPU 即可。有关综合指南、示例和详细⽂文档,请访问我们的 ICICLE ⽂文档 和我们的 GitHub 存储库

ICICLE 的设计考虑到了科学家。如果你是研究机构或行业研究员,我们很乐意合作。请随时与我们联系 —— 我们随时准备⽀支持你的⼯工作。

关注 Ingonyama

Twitter: https://twitter.com/Ingo_zk

YouTube: https://www.youtube.com/@ingo_zk

GitHub: https://github.com/ingonyama-zk

LinkedIn: https://www.linkedin.com/company/ingonyama

加入我们: https://www.ingonyama.com/career

  • 原文链接: medium.com/@ingonyama/ic...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
ingonyama
ingonyama
从软件到硅重定义密码学硬件加速 // 从这里开始: https://dev.ingonyama.com