编程语言
首页 > 编程语言> > 介绍 ICICLE:用于零知识加速的开源 GPU 库

介绍 ICICLE:用于零知识加速的开源 GPU 库

作者:互联网

Web3 的基础建立在去中心化计算之上,因此为 ZK 提供了一个独特的设置,以开创一个去信任和隐私保护服务和基础设施的时代。大多数基于 ZK 构建的 Web3 协议和应用程序的“首选武器”是 ZK-SNARKs 协议家族。SNARKs的一个已知权衡是,我们得到了一个小的证明和一个快速的验证者,代价是资源匮乏的证明者。

 

进入硬件加速

就像历史上早期改变游戏规则的技术一样,大规模采用和扩展的道路是通过硬件来实现的。SNARK 存在于大型有限字段的领域,这些字段在 CPU 中不受本机支持。数学原语,如多标量乘法(MSM)和多项式算术,支配着SNARK证明者的时间和内存消耗,可以从并行性和专用算法中受益。如今,ZK 原语的硬件加速是一个令人兴奋且不断增长的领域——ZK 协议和密码学的设计空间正在转向硬件友好的思维方式。

GPU 和 ZK

在ZK ASIC变得可行之前,还有很长的路要走。我们将在以后的一篇文章中专门讨论我们的 ZPU 和 ASIC 路线图。

如果我们今天想要 ZK 硬件,我们有 FPGA 或 GPU 可供我们使用。此时,GPU 几乎可以被视为商品硬件;由于它们在图形和人工智能方面的成功,它们随处可见,而且相对便宜。但是,GPU的最大卖点是软件。我们特别讨论了 CUDA,它可以轻松编写在 Nvidia GPU 上运行的代码,利用其高度并行的架构。再加上这些设备的广泛可用性,如果我们可以让 GPU 在 ZK 工作负载上工作,那么我们就朝着可访问和高效的 ZK 证明器迈出了一大步。

之禾简介

在Ingonyama,我们从第一天起就一直在试验GPU。其中一些实验是富有成效的,并已在实践中部署和使用。一个例子是最近激励的 Aleo 测试网,我们在 zksync 团队的大力帮助下,使用 CUDA 实现了整个证明者代码。这个证明者负责大约 50% 的网络哈希算力,跨越数十万个 GPU,包括旧的以太坊矿工。

今天,我们发布了ICICLE,这是一个新的基于CUDA的GPU库,以支持Aleo等应用程序的ZK加速。作为示例应用程序,我们还介绍了“Fast Danksharding”,这是我们对 Danksharding Builder 的 Rust 实现。有关我们的 Danksharding 代码以及如何使用它的更多详细信息,请参阅我们的配套博客文章。

我们的目标是促进 ZK 的采用,并使 GPU 成为 ZK 应用程序的标准硬件。我们编写ICICLE时遵循以下设计原则:

 

标签:Github,显卡,硬件
来源: