零知识证明(ZKP)是一项重要的密码技术,具有显著的隐私和可扩展性优点。尽管ZKP在计算速度上存在挑战,但通过使用FPGAs等专用硬件,可以显著提高生成速度。随着区块链的普及,ZKP的需求将不断增长,可能会催生新的矿业行业。
零知识密码学是过去五十年来计算机科学最显著的创新之一。零知识证明 (ZKPs) 提供了独特的特性,使其成为各种区块链扩展和隐私解决方案的核心组成部分,包括 ZK rollups,如 StarkNet、私有 ZK rollups,如 Aztec,以及 Layer 1 链,如 Mina、Filecoin 和 Aleo。
ZKPs 的生成速度慢且成本高,原因是需要大量昂贵的数学操作。然而,通过使用专门的硬件,如现场可编程门阵列 (FPGAs) 和特定应用集成电路 (ASICs),它们可以加速 10-1000 倍。
随着用户寻求更具表现力、性能和隐私的计算,使用 ZKPs 证明的陈述的复杂性将增加。这将导致证明生成速度变慢,因此需要使用专门硬件,以便能够及时生成证明。
硬件的运营者需要得到与 Bitcoin 矿工类似的补偿。最终,一个完整的 ZK 矿业和证明行业将出现,最初是爱好者在他们的 CPU、随后是 GPU、再到 FPGA 进行证明生成。与 Bitcoin 不同,我们预期 ASICs 可能需要很长时间才会被采用,甚至可能永远不会。
零知识证明主要有两个用例。
外包可验证计算
假设你有一些由于使用的平台的限制(例如你的笔记本电脑、树莓派,甚至以太坊)而费用昂贵或无法运行的计算。
与其在你的平台上运行计算,你必须在一个第三方服务上运行它,该服务可以快速且廉价地返回你计算的结果(例如,一个 AWS Lambda 函数,或像 Chainlink 这样的 oracle 服务)。
通常,你需要信任计算已正确执行,否则提供者可能会输出一个无效结果,并可能导致灾难性后果。
ZKPs 允许第三方提供者也输出一个计算完整性的证明,确保你收到的输出是正确的。
私密计算
如果你有一个在本地运行并不昂贵的计算,但你想隐藏其中的部分内容应该怎么办?例如,如果我想向你展示我知道第 1000 个 Fibonacci 数而不告诉你这个数字,或者说服你我发送了一笔付款而不透露金额或我的身份又该怎么办?
ZKPs 允许你选择性地隐藏一些或所有输入关于计算声明。
上述两种用例已在加密行业中以多种形式显现(其中包括):
基于以上内容,可以安全地说,随着加密货币的采用增加,ZKPs 将是为了满足用户对性能和隐私日益增长的需求而必不可少的,并且将出现新的类型的应用和协议。
ZKPs 从根本上允许可扩展和私密的支付及智能合约平台蓬勃发展,但引入的非平凡开销历史上阻碍了它们的采纳。
证明一个计算首先需要将其从经典程序转换为 ZK 友好的格式。这可以通过手动重写代码以使用诸如 Arkworks 的低级库,或通过使用编译为生成证明所需原语的领域特定语言(如 Cairo 或 Circom)来完成。
更昂贵和复杂的操作所需的证明生成时间更长。通常,一些操作不是 ZK 友好的(例如用于 SHA 或 Keccak 的位操作),这将导致在经典计算机上的简单操作也需要较长的证明生成时间。
一旦你的计算转化为 ZK 友好的形式,你需要选择一些输入并将其发送到证明系统。有许多证明系统,其中一些以其论文的作者命名(例如 Groth16、GM17),还有一些更具创造性的名字(PLONK、Spartan、STARK)。它们共同点在于,接受一个 ZK 友好的格式表示的计算及某些输入并输出一个证明。
根据证明系统的不同,证明生成过程可能有所不同,但瓶颈通常是:
在同时存在 FFT 和 MSM 的系统中,生成证明的时间约 70% 花费在 MSMs 上,其余的则主要是由 FFTs 占据。
MSMs 和 FFTs 都比较慢,但有改善其性能的方法:
简而言之:
我们看到的最有前景的解决大规模 MSM 和 FFTs 慢的问题的工作是 PipeZK。在他们的论文中,作者描述了使用Pippenger 算法 制造更便宜的 MSM,以跳过重复计算。他们还描述了一种方法来“展开” FFT,这样它们就可以在没有明显洗牌的情况下进行,这使得由于现有内存访问模式的可预测性而加速硬件得以实现。
假设以上方法解决了每个算法的基本瓶颈,问题就变成:最佳的硬件是什么,以便与高度优化的 MSM 和 FFT 算法结合,加速 ZKP 生成?
以上加速技术可以在多种硬件技术上实现:GPU、FPGA 或 ASIC。那哪一个是最佳选择呢?
要回答这个问题,我们首先必须承认 ZKPs 在其发展过程中仍然处于早期阶段。系统参数(例如 FFT 宽度或元素的位数)或证明系统的选择仍然缺乏标准化。
由于这些因素,FPGA 有两个核心特性使其在 ZK 背景下优于 ASIC:
我们还预期因类似的原因,FPGA 将优于 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 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!