ZKP:Paradigm:零知识证明挖矿或将成为下一片蓝海_FFT

一、简介

零知识密码学是过去50年计算机科学领域中最重要的创新之一。零知识证明(ZKP)提供了独特的属性,使其成为各种区块链扩容和隐私解决方案的重要组成部分,包括像StarkNet这样的ZKrollup、像Aztec这样的隐私ZKrollup,以及像Mina、Filecoin和Aleo这样的L1公链。由于ZKP涉及到大量昂贵的数学运算,因此它的生产速度很慢并且成本很高。但通过使用FPGA和专用集成电路(ASIC)等专用硬件,ZKP可以加速10-1000倍。随着用户寻求更具表现力、更高性能和更隐私的计算,用ZKP证明的语句复杂性将会增加。这将导致证明生成速度变慢,需要使用专门的硬件才能及时生成证明。与比特币矿工类似,硬件运营商的工作是需要得到补偿的。最终,一个完整的零知识证明挖矿和验证行业将会显现,首先是爱好者在他们的CPU中生成证明,然后是GPU,然后是FPGA。与比特币相比,我们预计ASIC可能需要很长时间才能被采用。二、为什么零知识证明很重要?

零知识证明有两个主要用例。1、可验证外包计算

假设由于使用的平台存在的限制,你的计算变得非常昂贵或无法运行。那么你必须在第三方服务上运行计算,而不是通过你自己的平台,这种第三方服务可以快速、廉价地向你返回计算输出。通常情况下,你需要信任计算已正确执行,而允许提供者输出无效结果,可能会带来灾难性的后果。ZKP允许第三方提供商也输出计算完整性的证明,以保证你收到的输出是正确的。2、隐私计算

如果你有一种在本地运行成本不高的计算,但你想隐藏其中的一部分,那该怎么办?比方说,如果我想告诉你我知道第1000个斐波那契数,而不告诉你这个数,或者要说服你,我在没有透露金额或身份的情况下支付了款项,那该怎么办?ZKP允许你有选择地隐藏计算语句周围的部分或全部输入。上述两种用例都以多种形式在加密行业中得到了体现:Layer2扩容:ZKP的可验证计算,允许L1将交易处理外包给链外高性能系统。这使得区块链可以在不损害安全性的情况下进行扩容。例如,StarkWare正在使用运行ZK友好代码的专用虚拟机构建一个可扩展的智能合约平台StarkNet。Aztec还允许他们的Layer2程序私下运行,而不会泄露有关用户交易的任何信息。隐私L1:Aleo、Mina和Zcash等L1公链允许交易者使用ZKP隐藏发送者、接收者或金额。去中心化存储:Filecoin使用ZKP来证明网络中的节点正确存储数据。区块链压缩:Mina和Celo使用ZKP将同步到链上最新状态所需的区块链数据压缩成一个小证明。鉴于上述情况,可以肯定地说,随着加密资产采用率的增加,我们将需要ZKP,以适应用户对性能和隐私以及新型应用程序和协议日益增长的需求。ZKP从根本上允许可扩展的私人支付和智能合约平台蓬勃发展,但也带来了巨大的开销,这在历史上阻碍了它们的采用。三、ZKP为什么慢,以及我们如何让它们变快?

证明计算需要首先将其从经典程序转换为ZK友好格式。这可以通过手动重写代码以使用Arkworks之类的低级库来实现,也可以通过使用Cairo或Circom之类的域特定语言来编译成必要的原语来生成证明。而更昂贵和更复杂的操作会导致更长的证明生成时间。一些操作对ZK不友好也很常见,这导致在经典计算机上可能是廉价操作的证明生成时间很长。一旦您的计算采用ZK友好的形式,你就可以选择一些输入并将其发送到证明系统。目前已经有很多证明系统,一些以论文作者的名字命名,另一些则以更具创造性的名字命名。它们的共同点是,它们接受一个以ZK友好格式表示的计算,以及一些输入,并输出一个证明。根据证明系统的不同,证明生成过程可能会有所不同,但瓶颈始终是:对大型数字向量的乘法,特别是可变基数和固定基数多标量乘法;或快速傅里叶变换和逆快速傅里叶变换;在同时存在FFT和MSM的系统中,大约70%的生成证明时间都花在MSM上,而其余时间则由FFT主导。MSM和FFT都很慢,但也都有提高性能的方法:MSM可以通过在多个线程上运行它们来进行加速。然而,即使在数百个内核上,如果每个元素向量的长度为2^25,那么乘法最终仍然会花费大量时间。这意味着经常重复相同的操作,并且会耗尽设备上的大部分可用内存。简而言之,MSM需要大量内存,并且即使在高度并行化时仍然会很慢。FFT严重依赖算法运行时数据的频繁洗牌。这使得它们很难通过在计算集群中分配负载来实现加速,正如DIZK所示。此外,它们在硬件上运行时需要大量带宽。洗牌意味着你需要“随机”加载和卸载元素,例如,在内存等于或少于16GB的硬件芯片上,从大于100GB的数据集中加载和卸载元素。虽然硬件上的操作非常快,但通过网络加载和卸载数据的时间最终会显着减慢操作速度。简而言之:MSM具有可预测的内存访问,并允许大量并行化,但由于所需的原始计算量和内存量,它们的成本仍然很高。FFT有随机的内存访问,这使得它们对硬件不友好,而且很难在分布式基础设施上运行。在解决大型MSM和FFT的缓慢问题方面,我们看到的最有希望的研究工作是PipeZK。在他们的论文中,作者们描述了一种使用Pippenger算法跳过重复计算的方法来降低MSMs的成本。他们还描述了一种“展开”FFT的方法,这样它们就可以在不进行重大洗牌的情况下执行,而由于可预测的内存访问模式,这可以提高硬件的速度。假设上述方法解决了每种算法的基本瓶颈,那么问题就变成了:使用高度优化的MSM和FFT算法来加速ZKP生成的最佳硬件是什么?四、硬件很重要

上述加速技术可以在多种硬件技术上实现:GPU、FPGA或ASIC。但是哪一种是最好的选择呢?要回答这个问题,我们首先必须承认ZKP仍处于早期发展阶段。系统参数或证明系统的选择,仍然缺乏标准化。由于这些因素,FPGA有两个核心特性使其在ZK环境中优于ASIC:“多次写入”与“一次写入”:ASIC上的业务逻辑是一次写入。如果任何ZKP逻辑发生变化,你需要从头开始。FPGA可以在1秒内重新刷新任意次数,这意味着它们可以在具有不兼容证明系统的多个链上重复使用相同的硬件,并灵活地适应ZK“meta”的变化。更健康的供应链:ASIC从设计、制造到部署,通常需要12到18个月或更长的时间。相比之下,FPGA供应链是健康的,Xilinx等领先供应商允许在16周内从网站获得大量零售订单。这允许以FPGA为中心的运营商在其产品上有一个更紧密的反馈回路,并通过购买和部署更多FPGA来扩大运营规模。我们还预计FPGA的性能将优于GPU,原因与它们在机器学习和计算机视觉领域蓬勃发展的原因类似:1、硬件成本:一流的FPGA比一流的GPU便宜约3倍。此外,全球对GPU的需求进一步加剧了这一问题。2、能源效率:FPGA的能效比GPU高10倍以上,其中一个重要原因是需要将GPU连接到主机设备,这通常会消耗大量电力。鉴于上述情况,我们预计市场上的赢家将是专注于FPGA而非ASIC或GPU的公司。然而,如果只有一个或几个ZKL1或L2项目最终主导了市场,并且ZK证明系统稳定在单个实现附近,那么ASIC胜过FPGA的可能性可能会更高。但这种情况要真的发生,我们可能还需要等待几年的时间。五、结论

2021年,比特币矿工的净收入超过150亿美元,以太坊矿工则刚刚超过170亿美元。零知识证明最终成为网络计算完整性和隐私的事实媒介,这似乎是合理的。在这种情况下,零知识矿工/证明人的机会可能与工作量证明挖矿市场的规模相似。ZKP很慢,其需要硬件加速才能在复杂的计算中变得可行。我们认为,对ZK硬件加速最重要的技术是FPGA,而不是GPU或ASIC。如果你是一位硬件、Rust或密码学专家,并且有兴趣进一步讨论或合作解决这个问题,请通过georgios@paradigm.xyz与我联系。感谢AsimakisKattis、AchalSrinivasan、HowardWu、JimProsser、JustinDrake、KobiGurkan、MattMizbani、PratyushMishra以及RadiavCojbasic对本文早期草稿提供的反馈。原地址

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

大币网

[0:15ms0-4:545ms