零知识证明的硬件加速

  • Paradigm
  • 发布于 2022-04-14 12:54
  • 阅读 26

零知识证明(ZKP)是一项重要的密码技术,具有显著的隐私和可扩展性优点。尽管ZKP在计算速度上存在挑战,但通过使用FPGAs等专用硬件,可以显著提高生成速度。随着区块链的普及,ZKP的需求将不断增长,可能会催生新的矿业行业。

大纲

引言

零知识密码学是过去五十年来计算机科学最显著的创新之一。零知识证明 (ZKPs) 提供了独特的特性,使其成为各种区块链扩展和隐私解决方案的核心组成部分,包括 ZK rollups,如 StarkNet、私有 ZK rollups,如 Aztec,以及 Layer 1 链,如 MinaFilecoinAleo

ZKPs 的生成速度慢且成本高,原因是需要大量昂贵的数学操作。然而,通过使用专门的硬件,如现场可编程门阵列 (FPGAs) 和特定应用集成电路 (ASICs),它们可以加速 10-1000 倍。

随着用户寻求更具表现力、性能和隐私的计算,使用 ZKPs 证明的陈述的复杂性将增加。这将导致证明生成速度变慢,因此需要使用专门硬件,以便能够及时生成证明。

硬件的运营者需要得到与 Bitcoin 矿工类似的补偿。最终,一个完整的 ZK 矿业和证明行业将出现,最初是爱好者在他们的 CPU、随后是 GPU、再到 FPGA 进行证明生成。与 Bitcoin 不同,我们预期 ASICs 可能需要很长时间才会被采用,甚至可能永远不会。

零知识证明为什么重要?

零知识证明主要有两个用例。

外包可验证计算

假设你有一些由于使用的平台的限制(例如你的笔记本电脑、树莓派,甚至以太坊)而费用昂贵或无法运行的计算。

与其在你的平台上运行计算,你必须在一个第三方服务上运行它,该服务可以快速且廉价地返回你计算的结果(例如,一个 AWS Lambda 函数,或像 Chainlink 这样的 oracle 服务)。

通常,你需要信任计算已正确执行,否则提供者可能会输出一个无效结果,并可能导致灾难性后果。

ZKPs 允许第三方提供者也输出一个计算完整性的证明,确保你收到的输出是正确的。

私密计算

如果你有一个在本地运行并不昂贵的计算,但你想隐藏其中的部分内容应该怎么办?例如,如果我想向你展示我知道第 1000 个 Fibonacci 数而不告诉你这个数字,或者说服你我发送了一笔付款而不透露金额或我的身份又该怎么办?

ZKPs 允许你选择性地隐藏一些或所有输入关于计算声明。

上述两种用例已在加密行业中以多种形式显现(其中包括):

  • Layer 2 扩展:使用 ZKPs 的可验证计算允许 L1 将交易处理外包给链外高性能系统(即 Layer 2)。这使得区块链扩展而不妥协安全性。例如,StarkWare 正在构建一个可扩展的智能合约平台 StarkNet,使用运行 ZK 友好代码的 专用虚拟机Aztec 也使他们的 Layer 2 程序可以私密运行,不泄露任何关于用户交易的信息。
  • 私有 L1:像 Aleo、Mina 和 Zcash 的 L1 链允许交易者使用 ZKPs 隐藏发送方、接收方或金额,Aleos 默认如此,而 Mina 和 Zcash 则是可选的。
  • 去中心化存储:Filecoin 使用 ZKPs(在 GPU 上运行)证明网络中的节点以正确的方式存储数据。
  • 区块链压缩:Mina 和 Celo 使用 ZKPs 将同步到链的最新状态所需的区块链数据压缩为一个小证明。

基于以上内容,可以安全地说,随着加密货币的采用增加,ZKPs 将是为了满足用户对性能和隐私日益增长的需求而必不可少的,并且将出现新的类型的应用和协议。

ZKPs 从根本上允许可扩展和私密的支付及智能合约平台蓬勃发展,但引入的非平凡开销历史上阻碍了它们的采纳。

为什么 ZKPs 慢以及我们如何加速它们?

证明一个计算首先需要将其从经典程序转换为 ZK 友好的格式。这可以通过手动重写代码以使用诸如 Arkworks 的低级库,或通过使用编译为生成证明所需原语的领域特定语言(如 CairoCircom)来完成。

更昂贵和复杂的操作所需的证明生成时间更长。通常,一些操作不是 ZK 友好的(例如用于 SHA 或 Keccak 的位操作),这将导致在经典计算机上的简单操作也需要较长的证明生成时间。

一旦你的计算转化为 ZK 友好的形式,你需要选择一些输入并将其发送到证明系统。有许多证明系统,其中一些以其论文的作者命名(例如 Groth16GM17),还有一些更具创造性的名字(PLONKSpartanSTARK)。它们共同点在于,接受一个 ZK 友好的格式表示的计算及某些输入并输出一个证明。

根据证明系统的不同,证明生成过程可能有所不同,但瓶颈通常是:

  1. 对大量数字(域或群元素)进行的乘法,特别是可变基和定基多标量乘法(MSMs);或者,
  2. 快速傅里叶变换(FFTs)和反傅里叶变换(尽管存在一些 技术用于无 FFT 的证明系统)。

在同时存在 FFT 和 MSM 的系统中,生成证明的时间约 70% 花费在 MSMs 上,其余的则主要是由 FFTs 占据。

MSMs 和 FFTs 都比较慢,但有改善其性能的方法:

  • MSMs 是不主张并行的,通过在多个线程中运行可以加速。但是,即使在数百个核心上,如果每个元素的向量长度为 225(大约 3300 万个元素,这是像 zkEVM 这样应用的保守复杂度估计),乘法操作依然耗时。这意味着经常重复同样操作,并占用设备上大部分可用内存。简而言之,MSMs 需要大量内存,即使在高度并行化时仍然很慢。
  • FFTs 在算法运行时严重依赖频繁的数据洗牌。这使得其在计算集群中分布负载变得困难,正如在 DIZK 中所示。此外,运行时对硬件的带宽需求很高。数据的洗牌意味着你需要“随机地”从一个例如存在超过 100GB 数据集的硬件芯片中加载和卸载元素,而该芯片的内存通常不超过 16GB。虽然硬件上的操作非常快速,但通过线路加载和卸载数据的时间会显著减慢操作。

简而言之:

  • MSM 具有可预测的内存访问,这使得其能够高度并行化,但由于其所需的原始计算和内存量,其成本仍然很高。
  • FFTs 随机的内存访问使得它们不适合硬件,再加上在分布式基础设施上运行的天生困难。

我们看到的最有前景的解决大规模 MSM 和 FFTs 慢的问题的工作是 PipeZK。在他们的论文中,作者描述了使用Pippenger 算法 制造更便宜的 MSM,以跳过重复计算。他们还描述了一种方法来“展开” FFT,这样它们就可以在没有明显洗牌的情况下进行,这使得由于现有内存访问模式的可预测性而加速硬件得以实现。

假设以上方法解决了每个算法的基本瓶颈,问题就变成:最佳的硬件是什么,以便与高度优化的 MSM 和 FFT 算法结合,加速 ZKP 生成?

硬件很重要

以上加速技术可以在多种硬件技术上实现:GPU、FPGA 或 ASIC。那哪一个是最佳选择呢?

要回答这个问题,我们首先必须承认 ZKPs 在其发展过程中仍然处于早期阶段。系统参数(例如 FFT 宽度或元素的位数)或证明系统的选择仍然缺乏标准化。

由于这些因素,FPGA 有两个核心特性使其在 ZK 背景下优于 ASIC:

  • “多次写入”与“一次写入”:ASIC 上的业务逻辑是一次性写入。如果任何 ZKP 逻辑发生变化,你需要从头开始。FPGA 可以在不到 1 秒内重新刷新任何数量,这意味着他们可以跨多个具有不兼容证明系统的链重用相同硬件(例如,因为他们希望跨链提取 MEV),并在 ZK “ ”变化时敏捷适应。
  • 更健康的供应链: ASIC 的设计、制造和部署通常需要 12 到 18 个月或更长。而FPGA 供应链健康,领先的供应商如 Xilinx 允许从网站上进行大宗零售订单(即无任何接触点),而这些订单可在16 周内送达。这使得以 FPGA 为中心的操作在其产品上有更紧密的反馈循环,并可通过购买和部署更多 FPGA 来扩展其操作。

我们还预期因类似的原因,FPGA 将优于 GPU,这也是其在机器学习和计算机视觉中成功的原因:

  • 硬件成本: 顶级 FPGA(领先的工艺节点、时钟速度、能效和内存带宽)的价格约为顶级 GPU 的 3 倍。GPU 的全球需求进一步加剧了这个问题。
  • 功率效率: FPGA 的能效可能高于 10 倍 相较于 GPU,主要原因是 GPU 往往需连接至主机设备,而后者通常较耗电。

基于上述原因,我们预期市场中的赢家将是专注于 FPGA 而非 ASIC 或 GPU 的公司。然而,如果只有一个或少数 ZK L1 或 L2 最终实现主导规模,且 ZK 证明系统在一个单一实现上稳定,则 ASIC 执胜于 FPGA 的可能性可能会更高。但这种情况的出现可能需要数年时间,如果它真的发生。

结论

在 2021 年,比特币矿工获得了 超过 150 亿美元 的收入,而以太坊矿工刚刚超过 170 亿美元。零知识证明可能最终成为网络中计算完整性和隐私的事实标准。在这种情况下,ZK 矿工/证明者的机会可能与工作量证明挖矿市场的规模相当。

ZKPs 很慢,并且需要硬件加速才能使复杂的计算成为可行。我们相信,对 ZK 硬件加速最重要的技术是 FPGA,而非 GPU(由于成本和能效)或 ASIC(由于它们的不灵活性和较长的迭代周期)。

如果你是一位硬件、Rust 或密码学专家,感兴趣进一步讨论或合作这个主题,请通过 georgios@paradigm.xyz 联系我。

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

0 条评论

请先 登录 后评论
Paradigm
Paradigm
Paradigm 是一家研究驱动型技术投资公司 https://www.paradigm.xyz/