零知识证明的硬件加速

2022-12-15 0 990

零知识证明的硬件加速

译者 paradigm执行官控制技术官Georgios Konstantopoulos,google译者

文本

如是说为何零科学知识断定很关键?为何 ZKP 非常快,他们怎样让它减慢?硬体很关键推论

如是说

零科学知识密码学是往后50年排序机科学中达马藏县着的控制技术创新之一。零科学知识断定(ZKP)提供了独有的特性,使其成为各种区块链扩充和个人隐私软件系统的关键重要组成部分,包括像StarkNet这种的 ZK rollup、像Aztec这种的专有 ZK rollup 以及像Mina、Filecoin和Aleo这种的第1 层链。

虽然大批高昂的微积分演算,ZKP 的生产速率快且成本低。但是,通过选用当晚电子电路电子电路(FPGA)和专供器件(ASIC)等专供硬体,它能加速10-1000倍。

随着使用者谋求极具感染力、高效能和舒适度的排序,选用 ZKP 断定的句子的复杂程度Sonbhadra增加。这将引致断定聚合速率减慢,须要选用专门针对的硬体就能及时处理聚合断定。

与比特币铁路工人类似于,硬体电信公司的工作须要得到补偿金。最后,一个完备的 ZK 矿山和断定行业将出现,具体来说是发烧友在他们的 CPU 中聚合断定,接着是 GPU,接着是 FPGA。与比特币较之,他们预计今年 ASIC 可能将须要极短时间就能被选用(如果有不然)。

为何零科学知识断定很关键?

零科学知识断定有两个主要用例。

外包如上所述排序

假定虽然您选用的网络平台(比如您的笔记型电脑、Raspberry Pi 甚至是镜像坊)的管制,您有一些高昂或不可能将运转的排序。

您要在服务器端服务项目上运转排序,而不是在您的网络平台上运转排序,该服务项目能加速、Lembron向您回到排序的输入(比如 AWS Lambda 表达式,或像 Chainlink 这种的预言机服务项目)。

通常,您须要相信排序已正确执行,从而允许提供者输入无效结果,并可能将带来灾难性后果。

ZKP 允许服务器端提供商也输入排序完备性断定,以保证您收到的输入是正确的。

私人排序

如果您的排序在本地运转并不高昂,但您想隐藏其中的一部分怎么办?比如,如果我想告诉你我知道第1000个斐波那契数而不告诉你数字,或者想说服你我在不透露金额或我的身份的情况下发送了付款怎么办?

ZKP 允许您有选择地隐藏排序句子周围的部分或全部输入。

上述两个用例都以多种形式(除其他外)在加密行业中体现出来:

第2 层扩充:选用 ZKP 的如上所述排序允许 L1将事务处理外包给链下高效能系统(也称为第2 层)。这能在不影响安全性的情况下实现区块链扩充。比如,StarkWare正在构建一个可扩充的智能合约网络平台StarkNet,它选用运转 ZK 友好代码的专供虚拟机。Aztec还允许他们的第2 层程序私下运转,而不会泄露有关使用者交易的任何信息。专有 L1: Aleo、Mina 和 Zcash 等 L1链允许交易者选用 ZKP 隐藏发送者、接收者或金额,默认情况下(Aleo)或作为选择加入(Mina 和 Zcash)。去中心化存储: Filecoin选用 ZKP(在 GPU 上运转)来断定网络中的节点正确存储数据。区块链压缩: Mina 和 Celo 选用 ZKP 将同步到链上最新状态所需的区块链数据压缩成一个小断定。

鉴于上述情况,能肯定地说,随着加密货币选用率的增加,将须要 ZKP 来满足使用者对性能和个人隐私以及新型应用程序和协议日益增长的需求。

ZKP 从根本上允许可扩充的私人支付和智能合约网络平台蓬勃发展,但引入了非平凡的开销,这在历史上阻碍了它的选用。

为何 ZKP 非常快,他们怎样让它减慢?

断定排序须要具体来说将其从经典程序转换为 ZK 友好格式。这能通过手动重写代码以选用像Arkworks这种的低级库来完成,或者通过选用像Cairo或Circom这种编译成必要的原语来聚合断定的领域特定语言来完成。

更高昂和更复杂的操作会引致更长的断定聚合时间。某些操作对 ZK 不友好也很常见(比如,SHA 或 Keccak 中选用的按位操作),引致在经典排序机上可能将是廉价操作的断定聚合时间较长。

一旦您的排序选用 ZK 友好的形式,您就能选择一些输入并将其发送到断定系统。有许多断定系统,一些以他们论文的译者命名(比如Groth16、GM17),而另一些则以更有创意的名称命名(PLONK、Spartan、STARK)。它的共同点是,它选用 ZK 友好格式表示的排序以及一些输入并输入断定。

根据断定系统的不同,断定聚合过程可能Sonbhadra有所不同,但瓶颈始终是:

对大型数字向量(字段或组元素)的乘法,特别是可变基数和固定基数多标量乘法(MSM);或者,加速傅里叶变换(FFT)和逆 FFT(尽管有用于无 FFT 断定系统的控制技术)。

在同时存在 FFT 和 MSM 的系统中,大约70%的时间聚合断定花费在 MSM 上,其余时间则由 FFT 主导。

MSM 和 FFT 都非常快,但都有提高效能的方法:

MSM 具有令人尴尬的并行性,能通过在多个线程上运转它来加速。然而,即使在数百个内核上,如果每个元素向量是2 25长(即3300万个元素,对于像zkEVM这种的应用程序来说,这是一个保守的复杂度),那么乘法最后仍然会花费大批时间。这意味着经常重复相同的操作,并且会耗尽设备上的大部分可用内存。简而言之,MSM 须要大批内存并且即使在高度并行化时仍然非常快。FFT 严重依赖算法运转时数据的频繁洗牌。这使得它很难通过跨排序集群分配负载来加速,如DIZK所示。此外,它在硬体上运转时须要大批带宽。改组意味着您须要“随机”加载和卸载元素,比如,具有16GB 或更少内存的硬体芯片上的>100GB 数据集。虽然硬体上的操作非常快,但通过网络加载和卸载数据的时间最后会显着减慢操作速率。

简而言之:

MSM 具有可预测的内存访问,允许大批并行化,但虽然所需的原始排序量和内存量,它的成本仍然很高。FFT 具有随机内存访问,这使得它对硬体不友好,而且自然难以在分布式基础设施上运转。

在解决大型 MSM 和 FFT 的缓慢问题方面,他们看到的最有希望的工作是 PipeZK。在他们的论文中,译者描述了一种选用Pippenger 算法跳过重复计算来使 MSM 更便宜的方法。他们还描述了一种“展开”FFT 的方法,这种它就能在没有显着改组的情况下执行,虽然现在可预测的内存访问模式,这能提高硬体的速率。

假定上述方法解决了每种算法的基本瓶颈,那么问题就变成了:选用高度优化的 MSM 和 FFT 算法来加速 ZKP 聚合的最佳硬体是什么?

硬体很关键

上述加速控制技术能在多种硬体控制技术上实现:GPU、FPGA 或 ASIC。但是哪一个是最好的选择?

要回答这个问题,他们具体来说要承认 ZKP 仍处于早期发展阶段。系统参数(比如 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的能效比 GPU 高10倍以上,其中一个关键原因是须要将 GPU 连接到主机设备,这通常会消耗大批电力。

鉴于上述情况,他们预计市场上的赢家将是专注于 FPGA 而非 ASIC 或 GPU 的公司。然而,如果只有一个或几个 ZK L1或 L2最后实现了主导规模,并且 ZK 断定系统稳定在单个实现附近,那么 ASIC 胜过 FPGA 的可能将性可能Sonbhadra更高。但是,如果这种情况真的发生不然,他们可能将还须要几年的时间。

推论

2021年,比特币铁路工人净收入超过150亿美元,镜像坊铁路工人刚刚超过170亿美元。零科学知识断定最后成为网络上排序完备性和个人隐私的事实上的媒介是合理的。在这种情况下,零科学知识铁路工人/断定人的机会可能将与工作量断定矿山市场的规模相似。

ZKP 非常快,须要硬体加速就能在复杂的排序中变得可行。他们认为,对 ZK 硬体加速最关键的控制技术是 FPGA,而不是 GPU(虽然成本和能源效率)或 ASIC(虽然它的不灵活性和长迭代周期)。

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务