您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[国盛证券]:区块链行业-ZK证明计算:算力硬件的新征途? - 发现报告
当前位置:首页/行业研究/报告详情/

区块链行业-ZK证明计算:算力硬件的新征途?

信息技术2022-11-04国盛证券杨***
区块链行业-ZK证明计算:算力硬件的新征途?

区块链 ZK证明计算:算力硬件的新征途? 零知识证明在以太坊扩容、乃至区块链行业发展中都被寄予厚望。而零知识证明技术面临一定难度,虽然各类创新算法不断涌现,但验证易、生成证明难的局面依旧。我们前期报告也分析过,区块链扩容的一大方向便是计算脱链,因此将证明生成计算放在链外则成为主流方案。为解决生成证明过程的 证券研究报告|行业专题研究 2022年11月04日 增持(维持) 行业走势 去中心化问题,ZK证明计算逐渐风生水起。随着以太坊合并之后,市场存通信沪深300 量的以显卡算力只能另寻他途。而ZK证明正是为这些矿机硬件提供了新的应用空间。 零知识证明协议的验证非常快,而所有的难点就在于生成证明。只要生成证明的速度跟得上,那么链上验证就很简单,验证亚线性特点更利于区块 链的拓展性。零知识证明目前有多种实现方式,如ZK-SNARKS、ZK-STARKS、PLONK以及Bulletproofs。每种方式在证明大小、证明者时间以及验证时间上都有自己的优缺点。完全理想的零知识证明非常难达到,几种主流的算法通常在不同维度之间做平衡。ZK-SNARK具有更简洁的证明,耗费更小的链上存储空间,但需要可信设置,存储一定的风险和漏洞。ZK-STARK具有更快的验证速度和证明速度,不需要可信设置,但是电路规模很大。BulletPropfs没有可信设置,且性能可拓展性很高,证明大小不是指数级增加,节省更多的存储空间。 ALEO的目标是构建一个可编程的隐私DeFi平台,类似Zcash和以太坊的综合体。用户可以不泄露数据隐私的情况下,使用区块链网络服务,其利用的主要技术就是零知识证明。零知识证明可以在不透露输入参数的情 况下,验证交易的有效性,这为隐私验证提供了新的解决方案。Aleo结合零 16% 0% -16% -32% 2021-112022-032022-072022-10 作者 分析师宋嘉吉 执业证书编号:S0680519010002邮箱:songjiaji@gszq.com 分析师任鹤义 执业证书编号:S0680519040002邮箱:renheyi@gszq.com 相关研究 知识提供了全栈解决方案,保证应用程序堆栈的每一层都可编程、可使用、 可去中心化隐私计算。这有些类似Zcash和以太坊的综合,既考虑隐私的需求,又能够运行各类合约,为DeFi等生态发展提供根基。 Aleo算力对CPU和GPU的要求都较高,对内存和固态存储的要求较低。从市场现有机型来看,FilecoinP1P2算力机改装最为简单,成为主流的测试机型。FilC2超算机部分机型的CPU需要加强,再更改CPU的同时也 可能会有主板的更改,改造成本也较低。对于ChiaP盘机和ARweave,除了需要增加显卡,基本不需要其他改动,改造成本中等。而以太坊在转POS之后,如果ETH矿工想要加入Aleo算力,则除了部分高端显卡之外,其余部分基本都需要改装,成本较高。 硬件方面的选择包括GPU、FPGA或ASIC,后两者潜力似乎更大。需要注意的是零知识证明仍处于早期发展阶段,目前仍然很少有标准化,且算 法也在不断更新变化中。每种算法都有其特点,适合于不同的硬件,且随着项目发展需求每种算法都会有一定程度改进,因此很难去具体评估目前存量矿机的优劣。GPU能通过算法进行加速并行计算,但是算法内包含MSM、FTT,因此即使实现了并行运算,也无法大幅降低其证明时间。FPGA能够通过针对于ZK算法定制化优化矿机。ASIC是为特定用途专门定制的集成电路芯片,从出厂硬件上实现优化。但是ASIC由于过于定制化,需要的时间和成本也会更多。也许硬件的迭代伴随着行业规模的增大,逐渐朝着ASIC方向发展,但是不会一步到位。 风险提示:区块链商业模式落地不及预期;监管政策的不确定性。 1、《通信:VR行业规划出炉,关注“终端”、“算力”与“应用”》2022-11-02 2、《区块链:香港发布宣言,剑指全球虚拟资产中心 2022-10-31 3、《通信:从北美云财报看数通投资》2022-10-30 请仔细阅读本报告末页声明 内容目录 1.核心观点3 2.零知识技术的潜力:隐私和扩容3 2.1.运行原理、特点4 2.2.几种算法方案对比5 3.ZK证明计算:算力硬件的新出路?7 3.1.ALEO的探索8 3.2.ALEO算力机器改装9 3.3.Scroll:用于ZKRollup的证明市场10 3.4.ZK证明计算机器需要解决的问题10 3.5.ZK时代,什么类型的硬件会胜出?11 风险提示12 图表目录 图表1:区块链扩容的发展历程3 图表2:证明与验证时间4 图表3:SNARK与STARK性能对比5 图表4:ZK-STARK的性能曲线6 图表5:ZK-SNARK特性曲线6 图表6:SNARK、STARK与Bulletproofs等几种主流方案性能对比6 图表7:脱链/链下计算的核心是与主链完成共识验证7 图表8:以太坊全网算力在今年5月达到顶峰(合并后算力归零)7 图表9:Aleo兼顾隐私和应用性能8 图表10:ZKCloud运行原理9 图表11:各类机型改装成本10 图表12:ZK各技术使用的MSM/FTT占比11 图表13:三款硬件ZK证明计算潜力对比12 1.核心观点 零知识证明在以太坊扩容、乃至区块链行业发展中都被寄予厚望。而零知识证明技术面临一定难度,虽然各类创新算法不断涌现,但验证易生成证明难的局面依旧。我们前期报告也分析过,区块链扩容的一大方向便是计算脱链,因此将证明生成计算放在链外则成为主流方案。为解决生成证明过程的去中心化问题,利用各类算力进行生成ZK证明计算(可以理解为类似ZKmining)逐渐风生水起。随着以太坊合并之后,市场存量的以太坊矿机只能另寻他途。而ZK证明计算正是为这些矿机硬件提供了新的应用空间。Aleo作为ZK证明计算的典型项目,提供了一种综合Zcash和以太坊的隐私平台方案。 本文分析了ZK证明计算的原理,对比了ZK-SNARKS、ZK-STARKS以及Bulletproofs几种典型方案的优劣。同时根据ZK的原理,分析了各类硬件应对零知识证明中的MSM、FFT的优劣。总而言之,对于Aleo而言,Fil矿机的改造成本最低;从硬件类型来看,FPGA和ASIC有较大的优势和潜力。但需要注意的是,ZK算法的复杂性和快速迭代下,不同需求适应的硬件可能也会不同。 2.零知识技术的潜力:隐私和扩容 自以太坊诞生以来,扩容就成为区块链永恒的主题。L2无疑是扩容的主流方案,为解决L2与主网验证效率的问题,零知识证明技术(ZeroKnowledgeProof,ZKP)是最有潜力的技术——这来源于ZKP验证的准线性特点。但其代价就是生成ZK证明计算带来的复杂性和难度,因为ZK证明计算需要大量的算力消耗,且消耗越大,验证的效率可能越高。因此ZKRollup成为最具潜力的扩容方案,而在公链的赛道上,ZK证明计算就成为绕不过去的点。因此,随着区块链扩容的发展,系统的复杂度也有着相应的提升,包括脱链(off-chain)计算(如SCP、ZKP证明计算)、硬件算力都成为扩容的选择。 图表1:区块链扩容的发展历程 资料来源:国盛证券研究所整理 以太坊扩容是大思路是数据运算、执行甚至存储脱离主链,这位硬件算力提供了新的应用场景。一些L2的ZK证明计算是放在私有算力硬件上完成的,但不要忘记零知识证明 技术最基本的潜力是隐私性。为解决ZK证明计算的去信任化,利用去中心化的硬件节点来解决算力消耗成为一种自然而然的方向。例如Scroll创建一个去中心化的证明市场来解决以太坊L2扩容问题,创造了一个兼容EVM的ZKRollup。当然也有Aleo这样,利用ZKP的隐私特点,打造了一个隐私公链平台,且利用了硬件算力来解决ZK证明计算问题的新平台。 无论是用作L2,还是独立的新公链平台,ZKP证明计算的对硬件算力的需求都会催生出新的算力市场模式。 2.1.运行原理、特点 零知识证明最早由MIT的ShafiGoldwasser和SilvioMicali在1985年一篇名为《互动式证明系统的知识复杂性》的论文中提出。作者在论文中提到,证明者(prover)有可能在不透露具体数据的情况下让验证者(verifier)相信数据的真实性。公共的函数f(x)和一个函数的输出值y,Alice对Bob说她知道x值,但是Bob不信。为此,Alice使用零知识证明算法,来生成一个证明。Bob验证这个证明,确认Alice是不是真的知道满足函数f的x。零知识证明可以是交互式的,即证明者面对每个验证者都要证明一次数据的真实性;也可以是非交互式的,即证明者创建一份证明,任何使用这份证明的人都可以进行验证。零知识分为证明和验证两部分,一般来说证明是准线性的,即验证是T*log(T)的。 图表2:证明与验证时间 资料来源:starkware,国盛证券研究所 假设验证时间是以交易数量对数的平方,那么10000笔交易一个块的机器验证时间是 VTime=(log210000)2~(13.2)2~177ms;现在将块大小增加一百倍(达到100万tx/块),验证器的新运行时间是VTime=(log21000000)2~202~400ms。因此,正是这种非线性关系,我们能看到其超强的可拓展性,这就是为什么说,从理论上tps能够达到无限的原因。 验证是非常快的,而所有的难点就在于生成证明这一部分。只要生成证明的速度跟得上,那么链上验证就很简单。零知识证明目前有多种实现方式,如ZK-SNARKS、ZK-STARKS、PLONK以及Bulletproofs。每种方式在证明大小、证明者时间以及验证时间上都有自己 的优缺点。 ZK-SNARK具有更简洁的证明,耗费更小的链上存储空间,但需要可信设置(在协议进行证明和验证之前,需要设置和生成一些公共的参数,但是在生成这些公共参数的过 程中会产生一些不能公开的中间数据,任何一方拿到这些数据都能破解协议,因此需要确保在完成设置之后删除这部分数据,在隐私保护的角度,这则成为风险和博弈的漏点)。 ZK-STARK具有更快的验证速度和证明速度,不需要可信设置,但是电路规模很大。BulletPropfs没有可信设置,且性能可拓展性很高,证明大小不是指数级增加,节省更多的存储空间。 图表3:SNARK与STARK性能对比 SNARK STARK 生成证明复杂度 低 高 验证复杂度 低 高 生成证明大小 低 高 1txn交易数据大小 低 高 以太坊主网验证gas费 低 高 是否需要可信设置 是 否 后量子安全 否 是 资料来源:国盛证券研究所整理 2.2.几种算法方案对比 一个理想的零知识证明算法满足以下条件: 1)生成证明的计算复杂度最多是线性的; 2)验证证明的计算复杂度最多是对数的; 3)证明的大小复杂度最多是对数的(证明内容和函数大小增大,呈对数增长); 4)无需可信设置(可信设置存在数据泄露的风险)。 在理想的零知识证明算法下,区块链可以不用保存原始的交易数据,而是保存协议生成的零知识证明,矿工节点只需验证零知识证明,而无需验证原始交易数据。显然,生成的证明小于原始交易数据,且验证时间比原来的验证方式短。这样可以提高区块链的拓展性。 但是完全理想的零知识证明非常难达到,几种主流的算法通常在不同维度之间做平衡。如比特币、以太坊等区块链,“矿工”验证最原始的交易数据,这种原始验证方式(下图中的Naive)计算复杂度和验证证明的计算复杂度是一样的。ZK-STARK算法的性能如 图所示,它生成证明的时间复杂度随着输入和函数f的复杂度线性变化。很明显,验证的时间复杂度是对数的(因此可以提升扩展性)。虽然生成证明的时间复杂度是线性的,但它比原始的方式慢100多倍(放大坐标轴才能看出来差别)。2013年业界提出ZK-SNARK算法(匿名币Zcash采用这种算法),性能有不小的提升,但需要可信设置 (红色曲线)。正如上文提到的,可信设置会带来一些数据泄