本文由尘埃科技整理编辑发布,请拖动至文章底部查看更多精彩内容


最近几个月,在各大技术论坛大家常常能看到不少关于ZKP(Zero-Knowledge Proof)的讨论,在我们自己的账号上,我们也发了很多相关的文章介绍。


零知识技术(简称zk)是一项将改变Web3和其他行业的推动技术。它是一种具有大量用例的通用的技术,我们正处于弄清该技术可以实现的哪些用例的早期阶段。一些明显的zk用例已经找到了实际的应用,例如实现交易隐私和数据压缩。然而,要使zk成为主流应用,仍然需要更多的潜在用例和技术进步。


在今天的内容里,我们首先回顾了ZKP的不同应用。然后讨论了如何促成这项技术的下一阶段,以及一些可以从这项技术中受益的创业想法。


欢迎点赞、留言、分享到朋友圈,下次如果再有人留言问我ZKP是什么,我可要吐血了。



ZKP应用图谱


零知识证明(ZKP)自发明以来,已经在加密行业中找到了强大的立足点。ZKP确实有一些令人兴奋的魔力。在较高的层面上,ZKP允许实体证明他们知道一条信息,或者他们已经正确地完成了一项任务,而无需透露该信息或显示任务执行的细节。zk的神奇数学使我们可以通过检查生成的ZKP来信任该知识或执行的完成情况。因此,ZKP的首个也是最一致的用例是以隐私为中心的加密网络。ZKP还被用于在以太坊的L1上提供以太坊L2交易的有效性证明,以引入zk rollup的概念。此外,ZKP还在不同的项目中找到了其他利基应用。


以隐私为中心的支付和协议


ZKP自然而然地实现了隐私,特别是在缺乏中央权威作为真相来源的去中心化网络中。ZKP允许Web3用户(证明者)向网络验证者(验证者)证明他们的交易有效,而无需透露交易金额或发送方、接收方地址等交易细节。


ZKP最初是为了支持Zcash网络中的私人支付而开发的,其后又扩展到了其他网络。私人支付网络的实现包括


  • 注重隐私的L1:Zcash、Horizon、Aleo和Iron Fish

  • 通用链上的隐私智能合约:Tornado Cash

  • 注重隐私的L2:Aztec

zk rollup验证


ZKP的另一个主要用例是在底层L1上生成rollup有效性证明。通用rollup优化了吞吐量,通过不利用ZKP的隐私特性来证明更多的TX。在这种权衡中,ZKP只作为L2交易执行的正确性证明。


由于一些通用函数无法被有效证明,因此很难生成ZKP来证明任意智能合约的正确执行。解决这个问题需要专用的VM,这些VM可以使用底层的zk电路进行有效验证。由于这种复杂性,zk rollup最初只支持支付或单个应用,例如ZKSync 1.0和Loopring等可以轻松生成ZKP的DEX。随后,市场上开始出现了Starknet、zkSync 2.0、Polygon zkEVM和Scroll等通用的zkEVM实现。目前,所有的zk rollup都在以太坊上,但zk rollup也有可能在包括比特币在内的其他链上实现。然而,比特币rollup的实施将需要改变比特币的操作代码和硬分叉链,这往往不受比特币社区的欢迎。



其他ZKP应用


除了以隐私为中心的应用和rollup之外,ZKP还在其他区块链协议中发现了其他应用。本节将介绍这些用例。


  • Mina


Mina使用ZKP将区块链状态压缩到了一个很小的尺寸(~22 KB)。为了实现这一点,Mina使用了递归ZKP,即其他ZKP的ZKP。当一个区块在Mina网络中生成时,zk-SNARK用于生成该区块的证明,以确保其有效性。当新区块引用以前的区块时,新区块的ZKP在保持恒定大小的同时验证所有以前的区块。


  • Filecoin


Filecoin使用ZKP来确保存储供应商正确存储他们声称要存储的数据。这个过程称为复制证明(PoReb)。在这个过程中,存储供应商生成ZKP,以证明它们存储的是数据的唯一副本。ZKP为想要实现一定程度的冗余和可用性的Filecoin用户提供了保证。此外,由于证明的大小比存储的数据小得多,使用ZKP可以减少存储供应商的带宽要求。


  • Celo Plumo


Celo Plumo使用ZKP来创建可以在手机和其他资源有限的设备上使用的超轻型网络客户端。尽管客户端是轻量级的,但它保证了所访问状态的正确性。

  • Dark Forest


Dark Forest是ZKP在游戏领域最受欢迎的应用。虽然ZKP的使用符合隐私用例,但把它用于创建不完全信息游戏是一个独特的用例,超越了ZKP在支付网络中的金融应用。



ZKP及其应用的发展轨迹


直到2016年,ZKP还只是一个只在小范围学术圈内讨论的研究课题。当Zcash创始团队创建了ZKP变体zk-SNARK的第一个可生产实现,以支持Zcash网络中的屏蔽/私人交易时,这一切都改变了。有了真正的用例,对ZKP的兴趣也就增加了,从而产生了更好的ZKP变体,这成为了第一节中讨论的许多项目的基础。然而,要使该技术获得主流采用,还需要进一步的ZKP开发。

 

为了了解如何进一步改进这项技术,我们可以从AI等类似技术中学习。在许多方面,ZKP技术类似于人工智能技术,预计将遵循类似的轨迹。和ZKP一样,人工智能一开始是一项可以解决许多问题的有前途的技术。然而,最初的人工智能算法能力有限,其计算复杂性远远超过了现有硬件的能力。这使得人工智能的应用缓慢且不切实际,导致其主要局限于研究实验室里。通过发明DNN等新架构并利用GPU来提高执行速度,这项技术得到了逐步改进。这最终带来了2012年AlexNet的突破,它在最著名的计算机视觉比赛ImageNet中以巨大优势获胜。AlexNet是人工智能时代的开端,带来了GPT-3、Dall.E 2和Stable Diffusion等目前令人兴奋的人工智能应用。


ZKP目前的状态类似于AI早期,是一种仍在积极开发的有前途的技术,只是其计算量很大,导致了证明时间过长。通过AI的经验,我们可以确定ZKP技术起飞需要解决哪些瓶颈。

 

1. 算法/电路改进


与AI从LeNet-5到AlexNet再到Resnet-50再到Transformer一样,ZKP算法也将经历发展阶段,从而实现性能的显著提高。我们已经看到了这方面的进展。自2011年引入zk-SNARK以来,已经开发出了更先进的算法。2018年,Starkware的创始人开发了STARK,这是一种不需要可信设置、证明生成时间更短的ZKP方法。这项技术是Starkware包括StarkNet在内的几个产品的基础。

 

随着2019年PLONK的引入,ZKP继续取得进展,PLONK是一种允许多个应用使用单个可信设置,而无需重复设置的SNARK实现。PLONK促进了被多个Web 3协议(如Aztec、Mina和Celo)使用的多种实现的开发。

 

2. 优化执行引擎

 

ZKP的一个主要限制是计算的复杂性,这导致了证明时间过长。例如,最近公布的来自Polygon的zkEVM实现需要在64核服务器上用5分钟左右的时间来生成500k gas的计算证明。改善ZKP证明时间是使ZKP技术成为主流的关键。与人工智能类似,优化软件执行引擎和使用专用硬件都是实现这一目标的必要条件。

 

  • 优化软件


许多ZKP生成操作是大规模并行的,这意味着并行处理可以加速ZKP计算。专用的GPU库(如CUDA)可用于加速Nvidia GPU上的ZKP计算。由于每个项目都使用不同的ZKP算法,因此有几个项目正在尝试在内部开发。这里一个值得注意的例子是Filecoin对使用GPU来加速证明过程的Groth16算法的实现。另一个例子是Edgeswap使用GPU将PLONK的证明时间缩短了75%。

 

  • 专用硬件

 

由于GPU通常会导致ZKP证明时间的改进有限,另一种选择是使用FPGA或ASIC等专用硬件。FPGA通常被认为是在制造专用芯片(即ASIC)之前的硬件原型平台。FPGA或结合了GPU和FPGA的混合解决方案在短期到中期内可以在加速ZKP用于rollup和以隐私为中心的网络方面发挥重要作用。然而,如果ZKP技术发展到我们预期的水平,ASIC将最终赢得这个市场。目前,ZKP的硬件加速还没有得到充分解决,这可能是因为ZKP算法的多样性和碎片化。然而我们相信,一旦有了正确的商业模式,一些创业公司可以专注于开发这部分技术,并使之盈利。



3.软件抽象层


为了释放ZKP的潜力,需要构建几个抽象层和工具。这些抽象对于简化ZKP应用的开发过程并让每组开发人员专注于他们最擅长的领域是必要的。例如,应用程序开发人员不应该担心zk电路的底层细节及其工作方式。再次使用AI类比,通过创建多个抽象层,AI可能取得巨大进步。通过使用这些抽象,AI应用程序开发人员不需要担心神经网络架构或硬件资源的分配。像TensorFlow和PyTorch这样的框架就抽象掉了所有这些底层细节。



zk开发堆栈还没有AI堆栈那么完善。然而,构建这些抽象需要进行一些努力。在堆栈的底部存在着PLONK和STARK等低级ZKP库。在这一层之上,诸如Noir之类的高级语言试图抽象出底层的zk密码学,并帮助应用开发人员专注于应用逻辑。Circom是位于这两层之间的另一种流行的ZKP语言,它既可以用来创建复杂的zk后端,也可以用来开发基于ZKP的应用。

 

Web3中ZKP抽象的另一个例子是StarkWare的Cairo语言,它允许开发人员实现在底层使用STARK证明的通用智能合约。为了提供进一步的抽象,Nethermind的Warp工具允许Solidity开发人员将他们的Solidity代码直接转换为Cairo。通过使用Warp,可以在对原始Solidity代码进行最小修改的情况下,将Uniswap V3代码转写为Cairo。

 

ZKP创业机会

 

基于对ZKP可能的发展路径的讨论,我们已经确定了一些与ZKP相关的创业想法。这可以分为两组:工具和应用

 

ZKP工具


1.高级开发框架

 

与人工智能中的Tensorflow和PyTorch类似,高级ZKP开发框架对于解锁应用级别的创新至关重要。这些框架需要:


  • 抽象底层ZKP后端的复杂性

  • 支持多种ZKP后端和硬件环境

  • 允许高效的调试和测试

  • 提供丰富的开发环境

 

以太坊生态系统中与之最接近的例子是Hardhat和Foundry,但它们不太可能很快支持zkEVM或ZKP。相反,Cairo这样的现有抽象工作最终可能会演变为填补这一空白。

 

2. zk rollup SDK


zk rollup越来越受欢迎,它可以为游戏或高吞吐量DeFi协议启用特定于应用的L2。在这种情况下,zk rollup主要进行执行和结算,而L1将处理共识和数据可用性。启动一个特定应用的zk rollup仍然非常复杂。我们相信,提供对开发者友好的SDK来启动定制zk rollup的初创公司将解决真正的商业需求,并可以通过提供开发工具箱、开发者服务、排序器服务和支持基础设施而成为有价值的企业。

 

3.ZKP硬件加速器


针对特定用例并建立早期市场领先地位的专业硬件公司最终被证明为是具有巨大价值的公司。英伟达通过专注于人工智能硬件而成为了最有价值的北美半导体公司。在比特币挖矿领域也是如此,当时Bitmain、Canaan和Whatsminer通过专门从事ASIC矿机而成为了独角兽。所以,设计和制造高效ZKP硬件加速器的公司也将遵循同样的轨迹。

 


ZKP Web 3应用


1.zk跨链桥和互操作性

 

ZKP可用于为跨链消息传递协议创建有效性证明,其中跨链消息可以在目标链上快速验证。这类似于在底层L1上验证zk rollup的方式。然而,对于跨链消息传递,由于要验证的签名方案和加密函数在源链和目标链之间可能不同,因此其复杂性会更高。

 

2. zk链上游戏引擎


Dark Forest证明了ZKP可以使信息不完整的链上游戏成为可能。这对于设计互动性更强的游戏至关重要。随着链上游戏的成熟,我们希望ZKP可以成为游戏执行引擎的一部分。对于那些成功地将隐私功能整合到高吞吐量链上游戏引擎中的初创公司来说,机会是巨大的。



3.身份解决方案


ZKP可以在身份领域中提供多种机会。它们可以用于声誉或连接Web 2和Web 3身份。目前,我们的Web 2和Web 3身份是分开的。Clique等项目通过使用oracles来连接这些身份。通过支持Web 2和Web 3身份的匿名链接,ZKP可以将这种方法向前推进一步。这可以为那些使用Web 2或Web 3数据证明特定领域专业知识的人启用匿名DAO成员资格等用例。其另一个用例是基于借款人Web 2社交状态(例如Twitter粉丝数)的无担保Web 3贷款。

 

4.用于监管的 ZKP


Web 3使匿名在线帐户能够积极参与到金融系统中。从这个意义上说,web3实现了巨大的财务自由和包容性。随着Web 3法规的增加,ZKP可以在不破坏匿名性的情况下用于合规。ZKP可用于证明用户不是受制裁国家的公民或居民,还可用于证明投资者合格身份或任何其他KYC/AML要求。


5. 原生web3私人债务融资


TradeFi债务融资通常被用来支持成长型初创公司的加速发展或新业务线的启动,而不需要筹集额外的风险资本。Web 3 DAO和匿名公司的兴起为Web 3原生债务融资创造了机会。例如,通过使用ZKP,DAO或匿名公司可以根据其增长指标的证明,以具有竞争力的利率获得无抵押贷款,而无需向贷款人透露借款人的信息。

 

6. 私人DeFi


金融机构通常会对自己的交易历史和风险敞口保密。由于链上分析技术的不断进步,当使用链上协议(即DeFi协议)时,这一点很难满足。一个潜在的解决方案是开发以隐私为中心的DeFi产品,以保护协议参与者的隐私。Penumbra的zkSwap就是一个试图实现这一目标的协议。此外,Aztec的zk.money通过模糊用户对透明DeFi协议的参与,提供了一些私人DeFi的赚钱机会。一般来说,成功实现高效和以隐私为中心的DeFi产品的协议可以从机构参与者那里获得可观的收入。


7. ZKP用于Web 3广告


Web 3推动了用户对其数据的所有权。Web 3还实现了这些数据的货币化,从而使用户受益。由于数据货币化可能与隐私相矛盾,ZKP可以在控制个人数据的哪些方面可以透露给广告商和数据聚合者方面发挥重要作用。



8. 私人数据的共享和货币化


如果与正确的实体共享,我们的许多私人数据可能会产生很大的影响。个人健康数据可以通过众包来帮助研究人员开发新药。私人财务记录可以与监管机构共享,以识别和惩罚腐败。ZKP可以实现这些数据的私人共享和货币化。


9. 去中心化的情报组织


ZKP可以催生去中心化的情报组织。在这些组织中,情报人员、数据侦探和间谍可以无需相互作用或相互了解而成为网络的一部分。参与者可以使用ZKP来证明对某些情报数据的了解,然后再接受私人付款以换取这些数据。这样的系统还可以促进以协作和可组合的方式来丰富或解释收集到的数据,同时维护参与者的隐私。

 

10. 私人治理


随着DAO和链上治理的普及,Web 3正在向直接参与民主迈进。当前治理模式的一个主要缺陷是参与的非隐私性。而ZKP是解决这个问题的基础。治理参与者可以在不透露投票方式的情况下进行投票。此外,ZKP可以限制治理提案对DAO成员的可见性,从而使DAO建立竞争优势。

 

结论


ZKP技术是Web 3领域中最具创新性的技术之一。它为开创性的协议和企业提供了许多机会。


2023年ZKP的应用上或许有更多的创新和更多的惊喜带给我们,你对ZKP的大规模采用有什么看法吗?

信息来源自Alliance DAO,略有修改,作者Mohamed Fouda, Qiao Wang

尘埃科技


尘埃科技每周五晚9点线上「大佬问DAO」

扫描二维码即可本周五精彩活动


更多DAO、Web3、NFT、Metaverse

专业研究请关注尘埃科技旗下「Fastdaily」


Web3知识点、干货类内容

请关注尘埃科技旗下「Allrecode重构」


为Web3从业者建立内部链接,了解「重构研究院」

“商务合作”、“内容转载”请直接在后台回复关键字