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