原文:《Are zero-knowledge proofs (ZKPs) the future of blockchain?》by ALTAN TUTAR, SAMUEL THOMAS, LINDSEY LI, DIVESH PUNJABI, ETHAN KURZWEIL - Bessemer Venture Partners 

编译:Cecilia, bfrenz DAO

想象下一代安全的互联网,从登录时刻开始,你的个人信息就受到保护。在这个新的互联网中,你的数据将留在你自己的设备内,你可以完全掌控自己的信息,消除了被盗或欺诈的风险和恐惧。我们认为,一个将安全和隐私作为优先考虑的未来互联网基础设施可能比预期的更快到来。

当今的网络基础设施旨在从每次交互中提取数据并存储在集中式数据存储中。公司随后利用这些数据分析用户的在线行为,并将定位广告以获得利润,对用户的价值很小。当然,数据共享对于许多互联网应用程序的功能也是必不可少的。从搜索引擎到社交媒体平台,再到电子商务网站,数据共享使我们日常生活中所依赖的各种在线活动成为可能。

但是许多互联网用户越来越希望拥有一个私密的互联网。这需要新的基础设施,在这个基础设施中,用户不会默认与应用程序共享其数据,但仍然可以从网络驱动的在线应用程序中获益。这可以通过在客户端执行计算,然后向中央实体或计算机证明来实现。零知识证明(ZKPs)和协议是成为新互联网基础设施的基础层的领先候选人,其中隐私是默认设置。

这不仅仅是一场未来的幻想;该领域的巨大潜力正在聚积。Steel DAO 的新成立的加密货币研究部门一直在追踪该领域,并在 2022 年见证了超过 7.25 亿美元的资金流向专门构建零知识证明解决方案的“纯玩家”公司。其中最大的两轮融资是 Aleo 和 Matter Labs 的 2 亿美元融资,其次是 Aztec 的 1 亿美元融资。其他公司还包括 Scroll、RiscZero、Elusiv 和 Mina Protocol。

这篇关于 ZK 的研究来自于美国著名投资机构 Bessmer Venture Partners。本文将用便于理解的方式解释什么是 ZKPs 和 zkEVMs,并重点探讨该领域内的三个主要创新类别:隐私、可扩展性和新型应用,以及它们的潜力和需要克服的障碍。

被誉为“终极解决方案”的ZK到底是什么?

什么是零知识证明?

零知识证明(ZKP)是一种验证陈述或计算的方法,过程中不揭示有关该陈述本身的任何信息。例如,如果一个销售酒精饮料给消费者的网站想要验证消费者是否年满 21 岁, ZKP 可以回答“是”或“否”的问题,而不会透露消费者的实际年龄或任何其他身份信息。通常,ZKP 涉及双方:证明者 (prover)和验证者 (verifier)。证明者负责证明声明,而验证者负责验证声明。这些证明通过需要进行大量计算的数学方程来解决,最初由麻省理工学院的研究人员 Shafi Goldwasser和 Silvio Micali 以及多伦多大学的 Charles Rackoff 研究。

被誉为“终极解决方案”的ZK到底是什么?

虽然这些证明本质上是技术性的,但它们能够解决的用例实际上非常普遍。举个例子,比如我们正在申请贷款。在今天的现实情况下,申请人需要向银行披露自己的资金证明、信用评分以及其他相关信息来证明自己是否有资格获得贷款。申请人需要信任银行不会滥用敏感和个人信息。但是使用ZKP,人们可以在不披露任何敏感数据的情况下申请贷款。这具有潜在的能力,可以从根本上改变我们处理真实和虚拟世界中的隐私的方式,扩展现有的基础链,并推进其他(目前还属于小众)应用,比如去中心化人工智能。

我们相信在未来几年推广 ZKP 需要以下三个因素的推动:

  1. 零知识以太坊虚拟机(zkEVM)的不断改进;
  2. 用户对数据隐私的认识和需求的不断增加;
  3. Layer-2 扩容解决方案的持续使用。

什么是 zkEVM?为什么值得关注?

zkEVM 是与 EVM 兼容的虚拟机,可以运行 ZKP 计算。以太坊虚拟机(EVM)是部署在以太坊上的智能合约的运行环境。换句话说,ZKP 现在可以与以太坊上的智能合约进行交互,从而使得可以开发更广泛的支持隐私的用例,包括 ZK-rollups(零知识汇总协议)。Rollups 是一种扩容解决方案,可以在链外处理多个交易,然后批量打包到以太坊上的一个交易中,从而减少处理交易的成本和时间。在此之前,ZKP 不能与以太坊上的智能合约兼容,必须为特定的应用程序(例如,支付、代币交换)开发。在本文中,我们将更详细地研究 ZKP 在隐私和扩展性方面的应用。

隐私‍

零知识证明(ZKPs)的一个重要数学特性是验证者可以以零知识的方式验证陈述的正确性。如今的应用程序需要从本地计算机传输数据到中央服务器以进行计算。尽管 ZKPs 目前主要在加密社区中受到欢迎,但 ZKPs 的应用远不止区块链这一块领域。实际上,大型科技公司已经加入了这个领域,声明了大量与 ZKPs 相关的专利。自 2010 年至 2021 年,阿里巴巴发放了 1111 项 ZKP 专利。腾讯( 382 项专利)和 IBM( 225 项专利)等其他关键参与者紧随其后。阿里巴巴和腾讯特别专注于 ZKPs 的金融服务用例,因为它们可以成为许多银行流程的核心基础设施,包括客户身份验证、贷款处理、开立投资账户等。我们相信,在 ZKP 工具和基础设施的创新和变革的推动下,将以三种主要方式影响我们与具有虚拟和现实工作流的应用程序的交互。

1)账户登录

在今天,所有的应用程序都会通过储存密码来验证用户的身份。虽然使用零知识证明的安全远程密码协议(SRPP)已经有一段时间了,但我们还没有看到有哪个创业公司利用这项技术来与 Okta 竞争。这是因为网页端应用程序是用 JavaScript 编写的,由于开发人员工具不成熟,编写 SRPP 在网页端应用程序上很困难。我们相信通过使用零知识证明,可以重新设计广泛使用的应用程序的身份验证流程,从而向应用程序证明你拥有你的账户密码。

2)付款

应用程序今天的电子商务网站积累了许多用户财务数据,可以用在一些不利于客户的地方。虽然听起来问题不大,但我们认为有空间构建标准化的付款 API ,不用透露用户的数据,而是以完全零知识的方式促进支付。类似于 Aztec 这样的隐私第一的第二层扩展解决方案,但用于常规的互联网支付。

3)线上(虚拟)及现实世界中的身份认证环节

在几乎所有的线上和现实世界的交互中,用户都需要验证他们的身份。例如,申请签证时需要向第三方提供银行账单、护照和其他敏感数据。如果使用零知识证明,当你申请签证时,它只会向相关机构发出“是”或“否”的答复,告诉他们你是否拥有所需文件。同样地,在网上购买加密货币时,我们需要向第三方发送我们的“护照”和其他敏感文件,以进行KYC / AML检查。像 Notebook Labs 这样的公司正在使用零知识证明来防止可疑的不良行为者与 DeFi 协议进行交互。这个公司通过向遵守规定的用户发放通过 ZKP 验证的代币,来让其他协议知道这些用户是遵守规定的,进而省去了查看用户的文件的步骤。

期待看到区块链领域之外的零知识证明用例,尽管我们认识到,正是由于区块链的存在,它们可以独特地扩展。此外,设计上,区块链是匿名的,但它们并不具有隐私保护,其中所有交易都是完全透明的。所以我们认为需要像 Aleo 这样的隐私保护区块链来解决这个问题。

除了用户对隐私的不断追求之外,还需要解决可扩展性问题。像以太坊这样的 Layer 1 面临可扩展性“三难情况”,必须在可扩展性、安全性和去中心化之间做出权衡。比如,以太坊的愿景是尽可能保持安全和去中心化,那代价可能就是舍弃可扩展性,但同时,以太坊使用量日益增长,后果就是交易变慢和高昂的费用。为此,零知识证明也可用于提高可扩展性。

可扩展性

区块链(比如以太坊)的可扩展性可以通过两种方式实现:一是增加区块的交易容量,但这会带来一些风险,例如使验证变得更加困难;二是采用不同的方法与其交互,如将交易批量处理并作为单个交易提交到主网络。实施这种方法的以太坊上层网络称为 L2 扩容解决方案。它们允许开发人员构建生活在以太坊生态系统中的应用程序,以利用其安全性、去中心化和网络效应,但同时提高了交易吞吐量并降低了交易成本。

这些解决方案也被称为 rollups ,分为两种形式:Optimistic rollups 和 zero-knowledge ( ZK ) rollups 。Optimistic rollups 是“欺诈证明 ( fraud proofs )”,这意味着批量交易在 7 天的挑战期内被认为是有效的,在此期间任何人都可以对基础交易的有效性提出异议。另一方面,ZK Rollups 不默认假定交易有效,而是作为“有效性证明 ( validity proofs )”,验证基础交易的有效性。它们依赖于自己的数学属性——soundness。soundness 是指数学保证,如果陈述为假,除了一些小概率之外,没有欺骗证明者能够说服一个诚实的验证者其为真。这是通过经过深入研究的密码学假设和可验证计算来保证的,这使得证明者很难通过恶意方式(如更改输入)黑入系统。

被誉为“终极解决方案”的ZK到底是什么?

来源:https://vitalik.ca/general/2021/01/05/rollup.html

ZK-rollup 可以更快地处理交易,并且不需要像 optimistic rollup 那样的 7 天挑战期。因此,用户不必等待 7 天才能提取他们的资金。尽管如此,optimistic rollup 目前在 L2 扩展市场上占据着大约 80% 的总锁定价值(TVL)。历史上,零知识证明与智能合约不兼容。因此,使用 ZK-rollup 构建的应用程序只能适用于有限的、特定于应用程序的用例,如二层去中心化交易所 dYdX 和用于支付和交易的协议 Loopring。因此,开发人员选择了乐观 rollup,因为它们与通用应用程序兼容。

如今,随着对 zkEVM 的改进,这种历史限制正在得到解决。现在,通用应用程序可以利用 ZK-rollup 的安全性和效率,因为它们与 EVM 兼容,可以与智能合约进行交互。因此,我们认为,在未来几年内,ZK-rollup 将有望接管 L2 扩展市场,特别是由于正在构建基础架构工具来改进使用 zkEVMs 开发通用应用程序的体验,如 StarkWare、Polygon、MatterLabs 和 Scroll。

话虽如此,zkEVMs 仍然相对较新,并且正在使用不同程度的以太坊兼容性和性能构建。总体而言,兼容性的最高级别是 (1) 与以太坊等效,而最低级别是 (4),在这种环境下,智能合约代码(例如 Solidity)被编译为 ZK-friendly 的语言。例如,像以太坊的研究部门 Privacy&Scaling Exploration 这样正在追求最高级别兼容性的团队,其代价是性能降低,因为它们的目的并不一定是在不久的将来投入生产。

相反,像 StarkWare 这样的公司已经部署了 StarkNet,这被认为是最完整和性能最高的 zkEVM 之一,但需要使用一种新的本地编程语言 Cairo,以支持在 EVM 上的 ZKP 计算。因此,它需要开发人员学习如何在自定义环境中执行智能合约代码,这是采用的一个挑战。Polygon 的 Hermez、Matter Labs 的 zkSync2.0 和 Scroll 等项目正在寻求解决这些摩擦领域以扩大开发人员的使用。

被誉为“终极解决方案”的ZK到底是什么?

来源:https://vitalik.ca/general/2021/01/05/rollup.html

除了进一步改进 zkEVMs 外, ZKP 的大范围采用还面临其他挑战,包括提供更好的基础设施和降低理解和使用它们的复杂性。

当前需要克服的困难

在硬件方面,开发者需要改善图形处理单元 (GPU)的并行处理能力或设计特定的硬件,例如应用特定集成电路(ASIC),以继续减少证明语句所需的时间和资源。

尽管在数学算法方面已经取得了许多进展,例如引入了 PLONK,但我们认为新算法将继续出现,最终实现更快、更好的解决方案。此外,如果我们想让这个领域真正起飞,还需要构建更多的抽象层。尽管这已经吸引了许多开发者和用户的关注,但总的来说,它仍然是一个相当复杂的领域,需要付出较大的精力才能够构建和交互。

最后,鉴于零知识证明的本质复杂性,监管机构甚至用户可能会谨慎对待——例如最近对 Tornado Cash 的禁令加强了一种错误的观念,即所有寻求匿名性的人都是恶意行为者。

尽管存在困难,我们很高兴看到公司以不同创新的方式克服这些障碍。

创新的实际用例

虽然 ZKP 技术早在 1989 年就被提出,但密码学的普及推动了创新,过去几年中,水平应用案例和应用程序显著增加。例如,去中心化存储提供商 Filecoin 使用 PoRep 或复制证明来验证存储提供商确实存储了他们声称存储的数据。通过使用 ZKP 技术,验证者可以更快地验证这些信息,而不会损害安全性、信任或信心。

另一个令人兴奋的应用领域是游戏,像 Dark Forest 这样的链上游戏正在引领基于 ZKP 的创新。其中一个核心特点是博弈论家所谓的“不完全信息”,即大部分虚拟宇宙都是隐藏的,除非玩家探索它。另一个关键特点是玩家可以通过向区块链发送证明来探索这个宇宙,证明移动是有效的,但不会揭示他们在宇宙中的坐标。

最后,Chainlink 和 Teller 正在 build 为“未充足抵押贷款”进行概念验证。一句话解释就是,Teller 证明用户的离线银行账户余额超过所请求的贷款金额指定的动态阈值,而不实际揭示他们的银行账户详细信息。

ZKP 市场全览图

被誉为“终极解决方案”的ZK到底是什么?

零知识证明领域的不完全市场图来源:BVP

ZKP 未来可期

尽管在这个领域存在许多挑战,但加密基础设施将继续演进和发展。开发活动仍然强劲,相关公司继续投资于后端和面向消费者的加密机会,这一切让人感觉 ZKP 的“春天”已经近在眼前。我们对 ZKP 的未来感到兴奋,因为它似乎是建立更去中心化的网络的关键技术里程碑。尽管目前仍存在一些障碍,还没有被大规模采用,但 ZKP 正在推动互联网隐私至上的重建,并推进其他区块链应用和用例的采用。