撰写:Mohamed Fouda & Qiao Wang,Alliance DAO
编译:深潮 TechFlow
在惨淡的加密冬天,无论是一级还是二级市场似乎都来到了“冰点时刻”,只有一条赛道仍然红火和 FOMO,那就是“零知识证明”,目前,加密市场的唯一显学。
为什么说零知识证明(ZKP)是一次技术革命,甚至是超越 Crypto 本身的存在?
今天,我们分享来自 AllianceDao 对于零知识证明的深度研究,一探ZKP的应用案例与投资机会。
以下为全文:
零知识技术,或简称为 ZK,是一种推动技术,不仅会改变 Web 3,而且会改变其他行业。
它是一项通用的技术,可以有很多的使用案例,我们正处于弄清楚该技术的所有用例的早期阶段。
一些明显的 ZK 用例已经找到了实际的应用,如实现交易隐私和数据压缩,即 Rollup。
然而,要让 ZK 成为主流,仍然需要更多用例和技术进步。
在本文中,我们需要首先回顾 ZKP 的不同应用,然后再去讨论什么是可以实现这项技术的下一阶段,以及一些可以从这项技术中受益的创业想法。
ZKP 应用地图
零知识证明(ZKPs)自发明以来,已经在加密货币找到了一个强大的立足点。
ZKPs 确实是一项令人兴奋的神奇的技术,在高层次上,ZKPs 允许一个实体向世界其他地方证明他们知道某条信息,或在不透露信息/交代任务执行细节的情况下,证明他们成功完成了某项任务。
ZK 的神奇让我们只需检查生成的 ZKP,就可以相信该知识或执行完成情况。由于这个原因,ZKPs 的第一个和最符合的用例是以隐私为重点的加密网络。
ZKPs 还被用来为以太坊上的 L2 交易提供有效性证明,以引入 ZK Rollup 的概念。此外,ZKPs 还在不同项目中找到了其他利基应用。
以隐私为中心的支付和协议
ZKPs 实现了隐私,特别是在缺乏可以作为真相来源的中央机构的去中心化网络中。
ZKPs 允许 Web 3 用户(即证明者)向网络验证者(即核实者)证明他们的交易是有效的。即他们有足够的余额来消费,而不透露交易细节,如交易金额,或发送者或接收者的地址。
ZKPs 最初是为了支持 Zcash 网络中的隐蔽(即私人)支付而开发的,然后扩展到其他网络。
私人支付网络的实施包括:
以隐私为重点的 L1s:Zcash、Horizon、Aleo 和 Iron Fish
通用链上的隐私智能合约:Tornado Cash
以隐私为重点的 L2s:Aztec
zkRollup 的验证
ZKPs 的另一个主要用例是在底层 L1 上生成 Rollup 的有效性证明。通用的 Rollups 优化了吞吐量,即通过不利用 ZKP 的隐私功能来证明更多的 TX。在这种权衡中,ZKP 只作为 L2 交易执行的正确性证明。
由于一些通用函数不能被有效证明,生成 ZKP 来证明任意智能合约的正确执行是很困难的,解决这个问题需要实现可以使用底层 zk 电路有效证明的专用虚拟机。由于这种复杂性,zk Rollups 一开始只支持支付或单一的应用程序,例如 DEX,其中 ZKPs 可以很容易地生成。例子包括 zkSync 1.0 和 Loopring。
之后,zkEVM 开始出现,包括 Starknet、zkSync 2.0、Polygon zkEVM 和 Scroll。
目前,所有的 zkRollup 都在以太坊上,但这种技术也有可能在其他链上实现,例如比特币。
然而,比特币 Rollup 的实施将需要改变比特币的操作代码和硬分叉链,这通常不受比特币社区的欢迎。
其他零知识证明应用
在以隐私为重点的应用和 Rollup 之外,ZKPs 在其他区块链协议中也得到了应用。
Mina
Mina 使用 ZKPs 将区块链状态压缩到一个很小的状态(约 22 KB)。
为了实现这一点,Mina 使用递归 ZKPs,即其他 ZKPs 的 ZKPs。当一个区块在 Mina 网络中生成时,zk-SNARKs 被用来生成这个区块的证明,确保其有效性。由于新区块引用了以前的区块,新区块的 ZKP 验证了所有以前的区块,同时保持恒定的大小。
Filecoin
Filecoin 使用 ZKPs 来确保存储供应商正确地存储他们的数据。
这个过程被称为复制的证明(PoReb)。在这个过程中,存储提供商生成 ZKPs,以证明他们正在存储数据的唯一副本,即不引用其他提供商维护的副本。ZKPs 为希望实现提供了保障。此外,由于证明的大小比存储的数据小得多,使用 ZKPs 可以减少存储供应商的带宽要求。
Celo Plumo
Celo Plumo 使用 ZKPs 来创建轻量网络客户端,可以在手机和其他资源有限的设备上使用。
尽管客户端是轻量级的,但它保证了它访问的状态的正确性。
Dark Forest
Dark Forest 是 ZKPs 在游戏领域的最流行的应用。
尽管 ZKPs 最符合隐私,但其创建不完全信息博弈的应用是一个独特的用例,超越了 ZKPs 在支付网络中的金融应用。
ZKP 及其应用的发展轨迹
直到 2016 年,ZKPs 都还只是一个研究课题,只在小范围的学术圈内讨论。
当 Zcash 创始团队创建了 ZKP 变体 zk-SNARK,以支持 Zcash 网络中的隐私/私人交易时,这一切都改变了。ZKPs 有了真正的用例,对 ZKPs 感兴趣的人越来越多,从而产生了更好更多的 ZKP 变体。然而,要使这项技术获得主流采用,还需要进一步开发 ZKP。
要了解如何进一步改进该技术,我们可以从类似的技术(如人工智能)中学习。在许多方面,ZKP 技术类似于人工智能技术,预计将遵循类似的轨迹。与 ZKPs 一样,人工智能开始时是一项很有前景的技术,可以解决许多问题。然而,最初的人工智能算法能力有限,其需要的计算复杂性远远超过了现有硬件的能力。这使得人工智能的应用变得缓慢且不切实际,人工智能大多被限制在研究实验室里。
通过发明新的架构,如深度神经网络(DNN)和利用 GPU 来提高执行速度,逐步改进。最终导致了技术的突破,如 2012 年的 AlexNet,它在最著名的计算机视觉竞赛 ImageNet 中以巨大的优势获胜。AlexNet 是人工智能时代的开端,它催生了目前令人震惊的人工智能应用,如 GPT-3、Dall.E 2 和 Stable Diffusion。
如今的 ZKPs 类似于人工智能的早期状态,是一种仍在积极开发的有前景的技术。从人工智能的进展中学习,我们可以确定 ZKP 技术起飞所需解决的瓶颈。
1.算法/电路改进
与人工智能从 LeNet-5 到 AlexNet、Resnet-50 再到 Transformer 的发展方式一样,ZKP 算法也将经历类似发展阶段。我们已经看到了这方面的进展,自 2011 年推出 zk-SNARKs 以来,更高级的算法被开发出来。
2018 年,Starkware 的创始人开发了 STARK,这是一种不需要信任的 ZKP 方法,它的证明生成时间更短。这项技术是 Starkware 的几个产品的基础,包括 StarkNet。
随着 2019 年 PLONK 的引入,ZKP 继续前进,PLONK 是一种 SNARK 实现,允许多个应用使用单个受信任的设置,而无需重复设置。PLONK 刺激了多个实现的开发,这些成果被多个 Web 3 协议使用,如 Aztec、Mina 和 Celo。
2.优化执行引擎
ZKPs 的一个主要限制是计算的复杂性,导致证明的时间很长。例如,Polygon 最近宣布的 zkEVM 需要在 64 核服务器上用大约 5 分钟来生成 500k Gas 计算证明。改善 ZKP 证明时间是使 ZKP 技术成为主流的一个关键部分。
与人工智能类似,优化软件执行引擎和使用专用硬件都是实现这一目标的必要条件。
优化软件
许多 ZKP 的生成操作是都是同时的,这意味着并行处理(如 GPU)可以加速 ZKP 的计算。专用的 GPU 库,如 CUDA,可以用来加速 Nvidia GPU 上的 ZKP 的计算。一些项目正在尝试内部开发,因为每个项目都使用不同的 ZKP 算法。这里一个值得注意的例子是 Filecoin 的 Groth16 算法,该算法使用 GPU 来加速证明过程。另一个例子是 Edgeswap 使用 GPU 将 PLONK 的证明时间减少 75%。
专用硬件
由于 GPU 对 ZKP 证明时间的改善有限,另一个选择是使用专用硬件,如 FPGA 或 ASIC。在制造专用芯片之前,FPGA 通常被当作是一个硬件原型开发平台。在中短期内,FPGA 或结合 GPU 和 FPGA 的混合解决方案可以为 Rollup 和以隐私为中心的网络加速 ZKP 发挥重要作用。
然而,如果 ZKP 技术发展到我们预期的水平,ASIC 最终会出现,并赢得这个市场。目前,ZKPs 的硬件加速没有得到充分解决,可能是 ZKP 算法的多样性和碎片化导致的。然而,我们相信,有了正确的商业模式,一些初创公司可以专注于开发技术堆栈的这一部分,并使之盈利。
3.软件抽象层
为了释放 ZKPs 的潜力,需要建立若干抽象层和工具。这些抽象层对于简化 ZKP 应用的开发过程是必要的,并允许每组开发人员专注于他们最擅长的领域。例如,应用开发者不应该担心 ZK 电路的低级细节以及它们如何工作。
再次使用人工智能的类比,人工智能的巨大进步是通过创造几层抽象而实现的。使用这些抽象层,人工智能应用开发者不需要担心 NN 架构或硬件资源分配。像 TensorFlow 和 PyTorch 这样的框架将所有这些低层次的细节抽象出来。
ZK 开发堆栈还没有像人工智能堆栈那样发展完善。然而,有一些努力在建立这些抽象层。在堆栈的底部存在低级 ZKP 库,如 PLONK 和 STARK。在该层之上,Noir 等高级语言试图抽象出底层的 ZK 密码学,并帮助应用开发者专注于应用逻辑。
Circom 是另一种流行的 ZKP 语言,位于这两层之间,因为它既可以用来创建复杂的 ZK 后端,也可以开发基于 ZKP 的应用程序。
Web3 中 ZKP 抽象的另一个例子是 StarkWare 的 Cairo 语言,它允许开发人员使用 STARK 证明的通用智能合约。
为了提供进一步的抽象,Nethermind 的 Warp 工具允许 Solidity 开发者将他们的 Solidity 代码直接转换为 Cairo。
使用 Warp,可以将 Uniswap V3 的代码转译为 Cairo,而对原始 Solidity 代码的改动很小。
ZKP 创业机会
根据对 ZKP 可能的进展路径的讨论,我们确定了一些与 ZKP 相关的创业想法。
这些创业想法被分为两组:工具和应用。
ZKP 工具
1、高级开发框架
与人工智能中的 Tensorflow 和 PyTorch 类似,高水平的 ZKP 开发框架对于释放应用层面的创新至关重要。
这些框架需要:
抽象底层 ZKP 后端的复杂性
支持各种 ZKP 后端和硬件环境,如 CPU 和 GPU。
允许高效的调试和测试
提供丰富的开发环境,包括实例和教程。
以太坊生态系统中最接近的例子是 Hardhat 和 Foundry,但它们不可能很快支持 zkEVMs 或 ZKPs。相反,现有的抽象工作,如 Cairo,最终可能会发展到填补这一空间。
2、ZK Rollup SDKs
ZK Rollups 越来越受欢迎,这是一种可以为游戏或高吞吐量 DeFi 协议实现特定应用的 L2。ZK Rollups 主要负责执行和结算,而共识和数据可用性将由 L1 处理。然而,启动一个特定应用的 ZK Rollups 仍然非常复杂。
我们相信,提供对开发人员友好的 SDK 以启动自定义 ZK Rollups 的初创公司将解决真正的业务需求,并能通过提供开发工具箱、开发者服务、排序器服务和支持基础设施而成为有价值的企业。
3、ZKP 硬件加速
瞄准特定用例并建立早期市场领先优势的专业硬件公司,最终会成为具有巨大价值的公司。当英伟达通过专注于人工智能硬件而成为价值最高的北美半导体公司时,人工智能就是如此。
当比特大陆、Canaan 和 Whatsminer 通过专注于 ASIC 矿工成为独角兽时,比特币挖矿领域也是如此。设计和建造高效 ZKP 硬件加速器的公司将遵循同样的轨迹。
ZKP Web 3 应用程序
1、ZK 跨链桥和互操作性
ZKPs 可以用来为跨链信息传递协议创建有效性证明,其中跨链信息可以在目的链上快速验证。
这类似于 ZK Rollups 在底层 L1 上的验证方式。
然而,对于跨链信息传递来说,其复杂性更高,因为签名方案和要验证的加密函数在源链和目标链之间可能不同。
2、ZK 链上游戏引擎
Dark Forest 表明,ZKPs 可以实现信息不完整的链上游戏。这对于设计更具互动性的游戏至关重要,在这些游戏中,玩家的行为在他们决定公开之前都是保密的。
随着链上游戏的成熟,我们预计 ZKPs 将成为游戏执行引擎的一部分。
于成功将隐私功能集成到高吞吐量链上游戏引擎中的初创公司来说,机会是巨大的。
3、身份解决方案
ZKPs 可以在身份认证领域中实现若干机会。它们可以用于信誉或连接 Web 2 和 Web 3 的身份。目前,我们的 Web 2 和 Web 3 的身份是分开的。像 Clique 这样的项目通过使用预言机来连接这些身份。
ZKP 可以通过启用 Web 2 和 Web 3 身份的匿名链接,将这种方法向前推进一步。这可以使那些能够使用 Web 2 或 Web 3 数据证明特定领域专业知识的人成为匿名 DAO 成员等用例。
另一个用例是基于借款人的 Web 2 社会地位(例如 Twitter 关注者的数量)的无担保 Web 3 贷款。
4、遵守法规的 ZKPs
Web3 使匿名在线账户能够积极参与金融系统。在这个意义上,Web3 实现了大规模的金融自由和包容。
随着 Web3 法规的增加,ZKPs 可以在不破坏匿名的情况下合规。
ZKPs 可以用来证明一个用户不是被制裁国家的公民或居民。
ZKPs 还可用于证明经认可的投资者身份或任何其他 KYC/AML 要求。
5、Web3 原生私募债权融资
TradeFi 债务融资经常被用来支持成长中的初创企业加速发展或开始新的业务线,而不需要筹集额外的风险资本。Web3 DAO 和匿名公司的崛起为 Web3 原生债务融资创造了机会。
例如,使用 ZKPs,DAO 或假名公司可以在不向贷款人透露借款人信息的情况下,根据其增长指标的证明,以有竞争力的利率获得非抵押贷款。
6、隐私 DeFi
金融机构通常对用户的交易历史和风险进行保密。由于链上分析技术的不断进步,在使用链上,即 DeFi 协议时,这一点很难满足。一个可能的解决方案是开发以隐私为重点的 DeFi 产品,以保护协议参与者的隐私。
Penumbra 的 zkSwap 就是一个试图实现这一目标的协议。
此外,Aztec 的 zk.money 通过混淆用户对透明 DeFi 协议的参与,提供了一些私人 DeFi 赚钱的机会。一般来说,成功实施高效和注重隐私的 DeFi 产品的协议可以从机构参与者那里获得大量的数量和收入。
7、Web3 广告
Web3 推动了用户对其数据的所有权,例如,浏览历史、私人钱包活动等。Web3 还实现了这些数据的货币化,使用户受益。
由于数据货币化可能与隐私相矛盾,ZKPs 可以在控制个人数据的哪些方面可以透露给广告商和数据聚合者方面发挥重要作用。
8、私人数据的共享和货币化
我们的许多私人数据如果与正确的实体分享,可以产生很大的影响。个人健康数据可以分享,以帮助研究人员开发新药。
私人财务记录可以与监管机构和监督机构共享,以识别和惩罚腐败。ZKPs 可以实现这些数据的私人共享和货币化。
9、去中心化的情报组织
ZKP 可以催生去中心化的情报组织。在这些组织中,情报员、数据侦查员和间谍可以成为网络的一部分,而不需要相互交流或相互认识。
参与者可以使用 ZKPs 来证明对某些情报数据的了解,然后再接受私人付款来交换这些数据。这种系统还可以促进协作和可组合的方式来丰富或解释收集的数据,同时保持参与者的隐私。
10、治理的隐私化
随着 DAO 和链上治理的激增,Web3 正在向直接参与的民主靠拢。当前治理模式的一个主要缺陷是参与的非隐私性。
ZKPs 可以成为解决这个问题的根本。治理参与者可以在不透露他们如何投票的情况下进行投票。
此外,ZKPs 可以限制 DAO 成员对治理提案的可见性,允许 DAO 建立竞争优势。
结论
ZKP 技术是 Web 3 领域最具创新性的技术之一, 它为具有革命性的协议和初创项目提供了多种机会。
深潮 TechFlow 是由社区驱动的深度内容平台,致力于提供有价值的信息,有态度的思考。
社区:
公众号:深潮 TechFlow
进微信群添加助手微信:blocktheworld
向深潮 TechFlow 捐赠,获得祝福和永久记录
ETH:0x0E58bB9795a9D0F065e3a8Cc2aed2A63D6977d8A
BSC:0x0E58bB9795a9D0F065e3a8Cc2aed2A63D6977d8A