Amber Group: 需要加速的零知识证明

Amber Group热度: 25308

零知识证明允许一方在不透露任何额外信息的情况下向另一方证明给定的声明是正确的。

原文标题:Need for Speed: Zero Knowledge

原文作者:Amber Group

原文来源:Medium

编译:Scroller中文社区

1. 简介

零知识证明允许一方在不透露任何额外信息的情况下向另一方证明给定的声明是正确的。它自然可以用来保护隐私,在隐藏所有细节的情况下证明某些交易是有效的。某些特定零知识证明协议(例如 STARK 和 SNARK)的另一个重要属性是可以高效地验证零知识证明。他们的证明规模很小,因此验证这类证明要快得多。这两个属性都非常适合资源受限的区块链,并且对加密行业的扩展瓶颈尤为重要。除此之外,零知识证明技术的其他用例包括:

  • 跨链桥 — 使用零知识证明验证状态转换或交易有效性,例如Alogrand ASP、Mystiko
  • 去中心化身份(DID)— 在不泄露详细信息的情况下证明某些账户或实体具有某些“特征”,例如 Sismo、First Batch
  • 社区治理 — 匿名投票,经过实战检验和广泛采用后可以扩展到现实生活中的治理
  • 财务报表 — 实体可以证明他们符合某些特定标准而无需透露实际的财务数据
  • 云服务的完整性 — 云服务提供商正确地执行了任务

一个典型的ZK系统的工作原理如下:工程师首先用领域特定语言(DSL)写出要验证的声明,然后将其编译为ZK友好的形式,例如算术电路。使用这种形式生成参数后,证明系统将它们与它见证的秘密一起作为输入来计算证明。验证者可以使用参数和证明通过相对简单的计算来决定是否接受。具体来说,对于ZK rollup来说,程序或合约本身部署在Layer 2上,编译、参数和证明生成将由一些 Layer 2节点在链下执行,证明将在以太坊主网上发布和验证。

一个典型的 ZK 系统

零知识证明资料来源:ZK Whiteboard Sessions — Module One,Dan Boneh 教授

目前已经开发出了多个优秀的证明系统,如Marlin、Plonky2、Halo2等。不同的证明系统在证明大小、验证时长和可信设置的必要性之间做了不同的权衡。经过几年的探索,无论多么复杂的声明,都可以做到常数级的证明大小(几百字节)和验证时长(几毫秒)。然而,证明生成的复杂度仍然几乎与运算电路的大小线性相关,这可能是原始任务的数百倍。这是因为证明者至少需要读取和计算电路,需要的时间在几秒到几分钟甚至几小时。较高的计算成本和较长的证明生成时间过去一直是,并且预计仍将是零知识证明技术大规模采用和发展的主要障碍。硬件加速可以用来解决这个瓶颈。通过将多个任务分配给最适合的硬件,和算法或软件优化相辅相成。本报告旨在帮助了解硬件加速的市场格局、其与之前的挖矿市场的不同之处以及潜在机会。报告由三部分组成:

  • 不同项目和新兴趋势的用例。
  • 基于GPU、FPGA、ASIC加速设计的解决方案。
  • 结束语

2. 用例

详细阐述零知识证明的用例,将有助于说明市场是如何演变的。不同类型的用例有不同的需求,这将动态影响硬件解决方案的供应。在本节末尾,我们还简单比较了零知识证明和工作量证明(尤其是比特币,以下简称PoW)。

2.1 新兴公链及其差异化需求

目前对硬件加速的需求以使用零知识技术的新兴公链为主,大致可分为扩容解决方案和隐私区块链。ZK rollups或Volitions在主网上执行交易,并通过“calldata”方法提交简洁的有效性证明。隐私区块链使用零知识证明来确保用户发起的交易有效,而且无需公开披露交易细节。这些区块链使用不同的证明系统来权衡证明大小、验证时长、可信设置等。例如,Plonk 生成的证明具有常数级的较小证明规模(~400 Bytes)和验证时长(~6 ms),但仍需要全局的可信设置。相比之下,Stark 系统不需要可信设置,但其证明规模(~80 KB)更大,验证时长(~10 ms)更长,并且会随着电路规模的增加而增加。其他系统有不同的权衡。结果是,这些证明系统的选择将导致计算工作量的“重心”发生变化。更具体地说,现在的证明系统通常可以描述为多项式交互式谕示证明(以下简称PIOP)+ 多项式承诺方案(以下简称PCS)。前者可以看作是证明者说服验证者时约定的程序,后者在数学上确保程序不会被攻击。打个比方,PCS 是枪,PIOP 是子弹。项目方可以修改 PIOP以满足自己的需要,并从不同的PCS中进行选择。来自 Paradigm 的 Georgios Konstantopoulos,在他关于硬件加速的报告中解释道,用于证明生成的时间主要用于两种类型的计算任务:多标量乘法(以下简称MSM)和快速傅里叶变换(以下简称FFT)。但是构建不同的PIOP,从不同的PCS中进行选择,会带来不同的FFT/MSM工作量占比。Stark是一个极端例子,Stark使用的PCS是FRI(Fast Reed-Solomon Interactive Oracle Proofs of Proximity),是基于RS编码的,而不是KZG或IPA使用的椭圆曲线,因此证明生成过程中完全没有涉及MSM。我们在下面展示了不同证明系统的工作量比例的大致顺序,但需要注意的是 1) 很难估计整个系统的精确比例;2)项目方在实现时通常会对证明系统进行修改。不同证明系统的工作量比例

零知识证明请注意,从技术上讲,Snark和Snark是无法比较的概念。Snark是指一类满足某些特定特性的证明系统,而Stark通常是指Starware最初于2018年开发的证明系统。

这将直接影响项目方对硬件类型的偏好。现在使用最广泛的硬件是GPU(Graphics Processing Unit),因为供应量大且开发方便。此外,MSM的并行化计算非常方便,适合GPU的多核结构。然而,正如我们将在第二部分详细阐述的那样,现场可编程门阵列(以下简称FPGA)可能更擅长处理 FFT。使用Stark的项目,例如Starknet和Hermez,可能比其他项目更需要FPGA。从上面得出的另一个结论是,这项技术仍处于早期阶段,缺乏标准化或主流的解决方案。完全致力于某些特定算法的ASIC(专用集成电路)也可能为时过早。因此,开发人员正在探索一个中间地带,我们稍后将会对此进行更多解释。

2.2 趋势与新范式

2.2.1 更复杂的声明

延续我们在开头列出的用例,我们应该期待出现针对加密行业和现实世界的多种用途和更复杂的证明。其中一些甚至不必遵循现有的证明系统。他们可以开发最适合他们需求的新原语,而不是遵循PIOP和PCS的用法。在多方计算(以下简称MPC)等其他领域,将ZK协议集成到部分工作中将大大提高其实用性。以太坊最近还计划举行KZG设置仪式(KZG setup ceremony),作为Proto-Danksharding和未来的Danksharding的准备工作的一部分,处理数据可用性采样。即使是optimistic rollups,也可能有一天会采用零知识证明以获得更好的安全性和更短的争议周期。虽然许多人可能将零知识证明视为更广泛的加密行业中的一个独立部分,但我们认为正确的思路是将零知识证明视为一种可以解决多个痛点的技术。反过来,硬件加速将需要更大的灵活性和通用性来服务于不同的系统和用户。

2.2.2 本地生成的证明

用于隐私而非压缩信息的零知识证明具有明显的结构差异。为了隐藏交易细节,在证明过程中会涉及一些随机数。用户将需要在本地生成证明,但他们中的大多数人没有先进的硬件。更糟糕的是,如果大多数dapps仍然是端应用程序,则需要在浏览器中生成证明,这需要更长的时间。例如,当Manta开始为WASM(WebAssembly,一种二进制指令格式和虚拟机,为网页浏览器应用程序带来近乎本机的性能)构建高性能证明者时,他们很快意识到“与本机速度相比,WASM 给用户带来了10-15倍的性能损失”。为了解决这个问题,他们选择成为最大的零知识证明加速竞赛之一,ZPrize 的赞助商和架构者,并设立了WASM加速的特定赛道。客户端版本对于这些应用程序来说是一个更简单的解决方案,但下载过程会将大部分的潜在用户拒之门外,并且它不适用于当前的插件钱包或其他工具。另一种方法是部分外包证明生成。Pratyush Mishra在 ZK Summit 7期间提出了这种方法。用户首先执行一些轻量级计算,然后向几个第三方提供公开声明和加密后的见证(witness),这些第三方接管并完成剩下的证明。按照这种方法,只要其中一方是诚实的,用户的隐私就不会泄露。它结合了零知识协议和MPC使用的一些工具。或者,用户可以用带宽换计算:首先生成一个大规模的证明,将其发送给第三方,第三方将其进行压缩并发布到链上。

外包证明生成

零知识证明资料来源:Zero Knowledge Summit 7, Aleo, Pratyush Mishra

2.3 与 PoW 挖矿的比较

尽管人们很自然地将零知识证明视为PoW的一种新形式,并将用于加速的硬件视为一种新型矿机,但零知识证明的生成在目的和市场结构方面与PoW挖矿有着本质的区别。

2.3.1 权力竞争与效用计算

为了获得区块奖励和交易费用,比特币矿工通过不断迭代随机数来寻求足够小的哈希值,这实际上只与达成共识有关。相反地,零知识证明的生成是实现信息压缩或隐私保护等实际用途的必要程序,但不再必须负责达成共识。这种差异将对参与的潜在广度和奖励分配模式产生影响。下面我们列出了三种现有矿工如何协作生成零知识证明的设计。

  • Rates-are-Odds (Aleo):Aleo 的经济设计最接近比特币和其他PoW协议。它的共识PoSW(proof of succinct work)仍然需要矿工找到一个有效的nonce,但试验过程主要以重复生成SNARK证明为主,SNARK证明将nonce和状态根的哈希作为输入的一部分,直到某轮证明的哈希足够小。我们将这种类似PoW的机制称为Rates-are-Odds模型,因为你在单位时间内可以处理的尝试次数大致决定了你获得奖励的概率。在这个模型中,矿工储备大量机器可以获得更多的机会。
  • Winner-Dominates (Polygon Hermez):Polygon Hermez采用了更简单的模型。根据他们的公开文档,参与的两个主要角色是Sequencer和Aggregator,前者收集所有交易并将其预处理为新的L2区块,后者验证区块并竞争生成证明。对于给定的区块,提交第一个证明的Aggregator赚取由Sequencer支付的费用。在不考虑地理分布、网络状况和证明策略的情况下,实现和硬件最先进的聚合器可能会占据主导地位。
  • Party-Thresholds (Scroll):Scroll将他们的设计描述为“Layer2 证明外包”,其中矿工将在质押一定数量的加密货币后被随机选择,来生成证明。被选中的人需要在规定的时间内提交证明,否则其下一个epoch将被下调选中的概率。错误的证明将导致惩罚。起初,Scroll可能会与十几个矿工合作以确保稳定性,甚至运行他们自己的GPU集群。随着时间的推移,他们计划去中心化整个过程。我们将时间限制视为权衡效率和去中心化的参数。Starkware也可能属于这一类。从长远来看,只有能够及时生成证明的机器才能参与证明。

这些协调设计有着不同的权衡。我们预计Aleo将拥有最去中心化的代币分发,Hermez的效率最高,而Scroll的参与门槛最低。但根据上述设计,零知识证明的硬件军备竞赛可能不会马上发生。

2.3.2 静态算法与进化算法

另一个区别是比特币有一个单一且相对静态的算法。比特币核心开发者一直试图遵循其最初的设计和精神,以保持网络稳定并避免严重的分叉。新兴的公链或项目方没有这样的历史约束,这使得他们可以更灵活地调整他们的系统和算法。我们认为,与简单静态的PoW市场相比,所有这些差异会共同催生一个更加分散和动态的市场结构。我们建议将生成零知识证明视为一种服务(一些初创公司将其命名为ZK-as-a-Service),一种达到目的的手段,而不是最终目的本身。这种新范式最终将形成新的业务/收入模型,我们将在最后一章节中详细介绍。在此之前,我们先来看看多种解决方案。

3.解决方案

CPU是通用计算机中的主芯片,负责将指令分发到主板上的各个组件。然而,由于 CPU 的设计目的是快速处理范围更广的任务,这种通用性反过来又限制了它处理并发或执行某类特定任务的速度,GPU、FPGA 和 ASIC 通常作为补充。在本节中,我们将重点介绍它们各自的功能、优化过程、现状和市场。

3.1 GPU:目前最常用的硬件

GPU 最初是为计算机图形和图像处理而设计的,但其并行架构使其成为计算机视觉、自然语言处理、超级计算以及PoW挖矿等领域的不错选择。MSM和FFT都可以在GPU上加速,特别是MSM可以通过利用称为“pippenger”的算法进行加速,并且与 FPGA或ASIC相比,GPU开发过程要简单得多。GPU加速的思路非常简单:将这些集中计算的任务从CPU转移到 GPU。工程师们将把这些部分改写入CUDA,这是一个由英伟达开发的并行计算平台和编程模型,用于在自家GPU上进行通用计算,或者是它的竞争对手OpenCL,其由Apple和 Khronos Group推出,为异构计算提供一个标准,这样用户就不用局限于英伟达的GPU。然后这些代码将被编译并直接在GPU上运行。对于颗粒度更细的加速,抛开算法改进本身不谈,开发者可以:

  1. 通过使用尽可能多的快速内存和尽可能少的慢速内存来优化,以减少昂贵的数据传输(特别是CPU和GPU之间的数据传输)。
  2. 通过更好地平衡多处理器之间的工作、构建并发内核以及合理分配任务资源来优化执行配置,以提高硬件利用率,让它们尽可能保持运行。

简而言之,尽可能得将整个工作流程并行化,避免不同部分因为相互依赖彼此结果而导致的顺序执行。

并行化节省时间

零知识证明

GPU 加速设计流程

零知识证明

3.1.1 开发者基数大,开发方便

与FPGA和ASIC不同,GPU开发不涉及硬件设计。CUDA或OpenCL也有更大的开发者基础。开发者能够基于开源实现非常快速地上手修改。例如,Filecoin 在 2020 年发布了他们的第一个 GPU 实现。Supranational 最近也开源了他们的通用加速解决方案,这可能是目前同类中最好的开源解决方案。当考虑到MSM和FFT以外的工作时,这个优势就更加明显了。虽然证明生成中确实主要要计算这两个问题,但是其他部分还是可以占到约20%的比重(来源:Sin7Y的白皮书),所以单纯加速MSM和FFT对最终的耗时影响有限。即使将计算这两个问题的时间压缩到瞬时,总耗时仍是最初的五分之一。此外,由于这是一个不断在发展的新兴领域,因此很难预测未来这一比重将如何变化。为了加速这些异构工作,鉴于 FPGA需要重新配置,ASIC可能需要重新设计和制造,GPU 更方便。

3.1.2 GPU过剩

GPU市场由英伟达主导。根据Jon Peddie Research的数据,其2022年第一季度零售GPU的出货量的市场份额为 78%。尽管与制造商的建议零售价(MSRP)相比,许多GPU的价格仍然高得离谱,但它们的供应量正在不断提高。2021 年,GPU出货量超过 5000 万台(价值 520 亿美元)。从这个角度来看,这几乎是同期FPGA销量的8.5 倍。GPU芯片市场份额

零知识证明资料来源:Jon Peddie Research

具体到挖矿,我们保守估计以太坊合并后,大约会有626万个GPU从以太坊PoW挖矿中解放出来。我们假设GPU占以太坊哈希率的绝大部分,将以太坊当前的哈希率 (890 Th/s) 乘以90%得出801 Th/s,除以最先进的GPU卡RTX 3090 Ti的挖矿能力 (128 Mh/s),得出了626万个GPU的保守估计。随着ASIC主导比特币挖矿,没有其他使用PoW的项目可以容纳如此大的挖矿能力。除了以太坊分叉链或提供云服务外,转向零知识证明服务是另一个值得探讨的选择。

以太坊哈希率

零知识证明资料来源:Messari

3.2 FPGA:平衡成本与效率

FPGA是具有可编程硬件结构的集成电路。FPGA 芯片内部的电路没有硬蚀刻,因此设计人员可以根据特定需求对其进行多次重新配置。一方面,这有效降低了ASIC的巨大制造成本。另一方面,硬件资源的使用比GPU更灵活,有进一步加速和降低能耗的潜力。例如,虽然在GPU上优化 FFT 仍然可以实现,但频繁的数据洗牌将导致 GPU和CPU之间的通信开销很大。然而,数据洗牌实际上并不是完全随机的,通过在电路设计中直接实现内在逻辑,我们可以期待FPGA更快地执行任务。要在FPGA 上实现 ZKP 加速,仍然需要几步。首先,需要一个用C/C++编写的特定证明系统的参考实现。然后,这个实现需要用硬件描述语言(以下简称HDL)来描述高级的数字逻辑电路。随后需要执行行为模拟来显示输入和输出的波形,以查看代码是否按预期运行。这一步是实现最关键的地方。工程师可以比较两个输出,而不是通过整个过程来识别一些细微的错误。稍后,合成器会将HDL转换为具有门和触发器等元件的实际电路设计,然后在硬件设备上实现设计和模拟分析。确保电路正常运行之后,最终将创建一个编程文件并加载到FPGA设备中。

FPGA设计流程

零知识证明

3.2.1 当前障碍和未建立的基础设施

虽然 GPU 上的一些模块优化工作可以重复使用,但也有一些新的挑战:

  1. 由于更高级别的内存安全性和更好的跨平台兼容性,零知识证明的开源实现大多使用 Rust 编写,但大多数FPGA开发工具都适配于C/C++,硬件工程师也更习惯C/C++。因此在进一步工作之前,团队可能必须重写或翻译这些实现。
  2. 在编写这些实现时,软件工程师在当前开发支持下,仅限于很小范围的可映射到硬件体系结构的C/C++开源库。
  3. 除了这些可以由软件工程师和硬件工程师相对独立地完成的工作之外,一些深度优化将依赖于他们的密切合作。比如在算法上做一些修改,功能会和以前一样,但会节省大量的硬件资源,不过这只能建立在对软硬件的共同认知基础之上。

简而言之,与AI或其他成熟领域不同,工程师将不得不几乎从头开始学习并构建以实现零知识证明加速。幸运的是,我们看到了更多的进步。例如,Ingonyama 在他们最近的论文中提出了PipeMSM ,一种在FPGA或ASIC上进行MSM的加速方案。

3.2.2 双寡头垄断市场

FPGA市场是典型的双寡头垄断市场。根据Frost & Sullivan的数据,2019 年,Xilinx(2022 年 2 月被 AMD 收购)和 Altera(2015 年 12 月被英特尔收购)大约占据了全球 FPGA市场出货量的85%。因此,可能需要与英特尔或AMD建立密切关系才能优先使用最先进的FPGA。此外,这个新兴领域已经引起了这些行业巨头的注意。AMD 是 ZPrize 的技术供应商之一。

FPGA是典型的双头垄断市场

零知识证明资料来源:Frost & Sullivan工程师们已经意识到,单个FPGA无法为复杂的零知识证明生成提供足够的硬件资源,因此他们必须同时使用多张卡的组合进行试验。即使在他们完成设计后,目前由AWS和其他云提供商提供的标准FPGA云服务也无法很好地提供服务。此外,加速解决方案的初创公司通常规模太小,无法让AWS或其他公司托管他们的定制硬件,而且他们也没有足够的资源来运行自己的服务器。更好的选择可能是与大型矿工或Web3原生的云服务提供商合作。然而,考虑到这些矿业公司的内部工程师可能会同时开发自己的加速解决方案,这种关系可能会很微妙。

3.3 ASIC:终极武器

ASIC是为特定用例定制的集成电路 (IC) 芯片。通常,工程师仍然会按FPGA类似的方式,用HDL指定ASIC的逻辑功能,但最终产生的电路会永久地蚀刻在硅片中,而在 FPGA 中,电路是通过连接数千个可配置块制成的。与从英伟达、英特尔或AMD 采购不同,公司必须设法自己完成从电路设计一直到制造和测试的整个过程。ASIC将仅限于某些特定功能,但相反,它使设计人员能够在资源分配和电路设计方面拥有最大的自由度,因此在性能和能效方面具有巨大的潜力。设计人员可以舍弃浪费的空间、功率和功能,拥有所需的精确数量的门,在设计流程方面,与FPGA相比,ASIC 涉及HDL编写和合成之间的详细的硅前验证(以及 DFT),以及实现前的平面图。前者是让工程师使用复杂的模拟和仿真工具在虚拟环境中测试设计,后者是为了确定芯片中模块的大小、形状和位置。设计实现后,所有文件将发送到台积电或三星等代工厂进行测试流片。如果成功,原型将被送去组装和测试。

专用集成电路设计流程

零知识证明

3.3.1 面向零知识证明的相对通用ASIC

对ASIC的一个普遍批评是,一旦改变了算法,以前的芯片就完全没用了,但也不一定是这样。巧合的是,我们采访过的所有规划ASIC方案的公司都没有押注于特定的证明系统或项目。或者说,他们更愿意在ASIC之上开发一些可编程模块,这样就可以通过这些模块处理不同的验证系统,并且只将MSM和FFT任务分配给 ASIC。这对比将特定芯片用于特定项目时,肯定是次优方案,但在短期内牺牲性能以获得更好的通用性可能优于针对特定任务的设计。

3.3.2 非经常性的高昂投入

ASIC不仅设计过程比FPGA复杂得多,而且制造过程也需要消耗更多的时间和资金。初创公司可以直接或通过一些分销商联系代工厂进行流片。直到排队等候大约三个月或更长时间,才会真正执行。光罩和晶圆构成流片的主要成本。光罩用于在晶圆(硅薄片)上制作图案。初创公司通常会选择MPW(多项目晶圆),使他们能够与其他几个项目分担光罩和晶圆的制造成本。不过,保守估计一次流片的成本仍将高达数百万美元,这取决于他们选择的工艺和芯片数量。流片以及组装和测试还需要几个月的时间。如果可行,他们最终将开始为量产做准备。但是,如果出现任何问题,调试和故障分析将花费的时间难以预料,并且需要再次流片。从初步设计到量产需要几千万元,18个月左右。缓和的是,上面提到的很大一部分成本是非经常性的。此外,ASIC 提供的性能及其节省的能源和空间通常很可观,而且价格可能相对较低。庆幸的是,上面提到的很大一部分成本是非经常性的。此外,ASIC提供的性能及其节省的能耗和空间通常很可观,而且价格可能相对较低。

4. 结语

下面显示了对不同硬件解决方案的大致评估。

零知识证明资料来源:Amber

为了更清楚地了解可能的商业模式,我们在一张图表中显示了所有潜在的市场参与者。由于它们之间的关系可能是混合的和复杂的,我们简单地按功能对它们进行分类。

硬件加速的功能层

零知识证明

除了开发新的 GPU 或 FPGA 芯片外,初创公司几乎可以从任何层面切入这一领域。他们可以选择从头开始设计和制造ASIC,将芯片封装成专用设备并出售给矿工,也可以出售裸芯片,由下游供应商组装。他们还可以构建自己的服务器,参与证明生成或提供云服务。或者,他们可以选择作为顾问公司,提供设计解决方案,但不参与实际运营。如果他们拥有强大的合作伙伴关系或足够的资源来覆盖整个产业链,他们还可以为零知识证明应用程序提供从硬件资源到系统定制化设计的全栈解决方案。零知识证明的大规模采用尚未发生,但构建加速解决方案将是一个长期过程。我们预计将会出现一个转折点。对于开发建设者和投资者来说,关键问题是何时,而不是是否。

声明:本文为入驻“MarsBit 专栏”作者作品,不代表MarsBit官方立场。
转载请联系网页底部:内容合作栏目,邮件进行授权。授权后转载时请注明出处、作者和本文链接。未经许可擅自转载本站文章,将追究相关法律责任,侵权必究。
提示:投资有风险,入市须谨慎,本资讯不作为投资理财建议。
免责声明:本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况,及遵守所在国家和地区的相关法律法规。
关键字:零知识证明