零知识证明会成为模块化区块链的核心吗?

进阶5/15/2024, 1:03:42 AM
虽然Web3通常被定义为“读、写、拥有”,但考虑到公共区块链的核心优势是确保计算的准确性并简化验证过程,我们认为对于互联网的第三次迭代,一个更准确的描述应是“读、写、验证”。

什么是区块链以及它们如何扩展当前的计算范式?

区块链,一种协作机制,让全球的参与者能够在不需要第三方介入的情况下,按照一致认同的规则进行合作。

计算机的设计初衷是进行数据存储、数据处理和进行通信。而区块链技术引入了第四个元素:确保上述三个过程(数据存储、处理和通信)能按照约定的方式进行。这种确保机制让不相识的人也能够进行合作,而不需要依赖任何可信的第三方介入,实现了去中心化。

这些额外的确保机制可能是基于经济(如信任博弈理论和奖惩机制)或是基于密码学(信任数学)的,但大部分应用是这两者的结合,即所谓的“密码经济学”。这与目前主要基于声誉的系统形成了明显的对比。

尽管Web3常被描述为“阅读、写入、拥有”,我们认为,鉴于公链的关键优势在于可靠的计算和易于验证这些保证是否得到履行,互联网的第三个阶段更合适的描述应该是“阅读、写入、验证”。如果我们创建了可以买卖和控制的数字产品,拥有权可以视为一种确保计算的特例。然而,许多区块链应用受益于这种确保计算的特性,但并不直接涉及拥有权。比如,在一个完全基于链的游戏中,如果你的健康值是77/100,这个健康值是你拥有的吗,还是仅仅因为遵循了大家共同认可的规则而在链上得以执行的?我们倾向于后者,但Chris Dixon可能有不同的看法。

Web3= “读、写、验证”。

零知识证明与模块化——加速变革的两大趋势

尽管区块链技术备受期待,但其分散化的特点也带来了效率低下和操作复杂的问题。大多数区块链为确保交易的正确性需要节点重复执行交易验证,这种方法不仅浪费资源,还与高效的集中式处理形成对比。区块链的发展目标是尽可能地提高效率,使其接近集中化处理的水平。

尽管区块链的基础设施在过去十年有了显著改进,但距离能够支持互联网规模的处理还有很长的路要走。我们观察到,无论是在表达性还是难度方面,区块链都面临着权衡选择。模块化设计可以加快这种权衡的实验过程,而零知识证明技术则能进一步扩展这些权衡的界限。

  • 表达性关乎系统能够保障的内容范围,包括可扩展性、隐私保护、可编程性和组件间的互操作性;
  • 而难度则涉及这些保障的实现难度,如安全性和去中心化程度。

模块化是指系统的不同组件可以被独立出来并重新组合的能力。这种设计通过快速反馈和低门槛进入特性,促进了快速的试验和专业化发展。模块化与一体化的选择不是非黑即白,而是需要在不同程度的解耦和集成间寻找平衡。

零知识证明(ZKP)允许一方(证明者)向另一方(验证者)证明某信息的真实性,而无需透露除了验证信息本身之外的任何细节。这种方式不仅提高了系统的可扩展性和效率,还增强了隐私保护,因为它减少了重复执行的需要。此外,ZKP还通过提供强有力的技术保证,增强了系统的安全性和可靠性,推动了技术的进步和应用的广泛性。

我们认为,模块化和对所有事物的零知识证明化(简称“ZK化”)是两个未来将持续加速发展的趋势。这两个趋势各自为领域内的探索提供了独特的视角,但我们更加关注它们的交集部分。我们关注的两个主要问题是:

  1. 目前模块化技术堆中,哪些部分已经开始使用零知识证明(ZKPs),而哪些部分还待开发?
  2. 使用零知识证明(ZKPs)能解决哪些问题?

然而,在讨论这些问题之前,我们需要了解 2024 年模块化堆栈的最新情况。

2024年的模块化技术堆

我们过去常用的模块化技术堆图示,包含四个基本组件(执行、数据发布、共识、结算),虽然作为一个基础思维模型很有帮助,但考虑到模块化领域的快速发展,我们认为这种表示方式已不再足够。随着进一步的解构,出现了之前被认为是更大模块一部分的新组件,同时也产生了新的依赖关系以及不同组件之间需要的安全互操作性(后文将进一步讨论)。鉴于这一领域发展的速度,要全面跟进堆栈各层面的创新变得相当困难。

早期对web3技术堆的探索尝试包括Kyle Samani(Multicoin)的工作,他的研究最初发布于2018年年,并在2019年进行了更新。他的研究内容从去中心化的最后一英里互联网接入(比如Helium)到最终用户的密钥管理等方面都有涵盖。虽然其背后的理念可以重新利用,但某些部分,如证明和验证等,完全缺失。

基于这些考虑,我们尝试构建了一个关于2024年模块化技术堆的更新视图,对现有的四部分模块化技术堆进行了扩展。我们按组件而非功能进行了分类,这意味着比如P2P网络被归入到共识组件中,而不是作为独立组件分离出来,主要是因为围绕它建立协议相当困难。

零知识证明在模块化技术栈中的应用

随着我们对模块化技术栈的理解逐步深入,现在是时候探讨一个核心问题了:零知识证明(ZK)技术已经影响了技术栈的哪些部分,以及它有潜力解决哪些现有的问题,特别是那些可以通过零知识证明来避免重复执行操作或增强隐私保护的问题。在我们深入分析每个单独组件之前,这里先提供一个我们研究的概要。

1 - 用户操作的简化

目前,区块链用户面临着需要同时操作多个链条、钱包和界面的复杂情况,这不仅麻烦而且阻碍了区块链的广泛应用。用户操作的简化是一个广泛的概念,旨在将这种复杂性隐藏起来,让用户只需通过一个界面(比如一个特定的应用或钱包)进行交互,复杂的操作都在后台完成。基础层面的简化尝试包括:

  • 账户简化(AA)允许智能合约在不需要用户对每个操作都签名的情况下进行交易(即“可编程加密账户”)。它涉及到定义谁能签名(密钥管理)、签什么(交易内容)、怎么签(签名算法)以及何时签名(交易批准条件)。这些功能的结合,实现了如使用社交媒体登录操作去中心化应用、两步验证、账户恢复和自动化操作(如自动签名交易)等。虽然这类讨论常常围绕以太坊(2023年春季通过的ERC-4337标准),但许多其他链条如Aptos, Sui, Near, ICP, Starknet, 和 zkSync已经内置了账户简化功能。
  • 链条简化让用户可以在不同的链条上进行交易,同时只需要操作一个账户(一个界面,多个链条)。包括Near, ICP, 和 dWallet在内的几个团队正在研究这个问题。这些解决方案采用了多方计算(MPC)和链上签名技术,将其他网络的私钥分割成多个小部分,在源链的验证者之间共享,由他们签署跨链交易。当用户想要操作另一条链时,需要足够数量的验证者签名以满足加密阈值。这种方式保持了安全性,因为私钥从未完全在任何地方共享过。但是,这也存在验证者可能串通的风险,因此底层链的密码经济安全和验证者的去中心化仍然至关重要。
  • 在更高层面上,意图功能使得将用户的需求和愿望转换成区块链可执行的操作成为可能。这需要意图解决者——专门的链外代理,负责找到满足用户意图的最佳解决方案。已经有一些应用采用了特定的意图,例如DEX聚合器(寻找“最佳价格”)和桥接聚合器(寻找“最便宜/最快的桥接方式”)。旨在简化用户表达复杂意图和开发者构建以意图为中心应用的通用意图解决网络(如Anoma, Essential, Suave)正在出现。但是,这方面还存在许多问题,包括如何规范化这一过程、意图中心语言将是什么样的、是否总有最优解以及是否能找到它。

零知识证明的实际应用案例:

  • 使用 AA x ZK 进行身份验证: Sui 就是一个例子 zkLogin,这使用户能够使用熟悉的凭据(例如电子邮件地址)登录。它使用 ZKP 来防止第三方将 Sui 地址与其相应的 OAuth 标识符链接起来。
  • 提高AA钱包签名验证的效率:通过智能合约进行交易验证的成本通常比通过传统账户(EOA)进行的要高。Orbiter项目通过一个综合服务来应对这一挑战,该服务使用零知识证明来确保交易签名的正确性,并且通过一个Merkle世界状态树来维持AA账户的nonce值和gas余额。通过证明的聚合和在所有用户之间平等分担链上验证的成本,这种方法能够大幅度降低费用。

零知识证明(ZKPs)可能解决的挑战

  • 实现最优执行或意图满足的证明:尽管意图和账户抽象(AA)能够简化用户面临的复杂性,但它们也可能导致中心化趋势,并使我们需要依赖特定的中介(即解决方案提供者)来寻找最佳执行路径。不是仅仅依赖于这些中介的诚信,零知识证明技术有潜力用来确保为用户选择的是解决方案提供者评估过的最佳路径。
  • 意图结算的隐私保护:协议如Taiga 旨在实现完全私密的意图结算,以保护用户隐私——这是向区块链网络中增加隐私(或至少是保密性)的更广泛努力的一部分。它利用零知识证明(Halo2)来保护状态转换(如应用类型、参与方等)的敏感信息不被泄露。
  • AA钱包的密码找回:这个提案的目标是让用户在丢失私钥时能够恢复他们的钱包。方法是在合约钱包中存储一个散列(密码和随机数的组合),用户可以利用他们的密码生成一个零知识证明,以此来证明自己是账户的主人,并请求更换私钥。设定一个确认期限(3天或更长),以此作为预防未授权访问尝试的安全措施。

2 - 交易排序机制

在区块链中,所有交易都需要先进行排序才能被打包进区块。排序的方法有很多,例如:按照交易给出的手续费高低排序(手续费高的优先处理)、按交易提交的时间顺序排序(先提交的先处理),或是给私有交易内存池中的交易优先权等。

关于谁来负责这一排序工作,模块化架构提供了多种可能性,包括Rollup的排序器(可以是中心化或去中心化的)、基于L1的排序以及共享排序网络(一个由多个Rollup共用的去中心化排序器网络)。这些方法各有不同的信任假设和扩展能力。在实际应用中,交易的排序和打包过程有时也会由协议外的专业机构(如区块建造者)来执行,这些机构专门负责创建和优化区块内容。

零知识证明技术的现有应用

  • 确保交易池加密正确: Radius是一个采用了实用可验证延迟加密((PVDE)技术的加密交易池的共享排序网络。用户通过生成零知识证明来确保解开时间锁的谜题能正确解密有效交易,这意味着所涉及的交易确实包含了有效的签名和随机数,并且交易发起人拥有足够的资金支付交易费用。

零知识证明(ZKPs)能够解决的潜在问题

  • 可验证的排序规则(VSR):这是一种要求提案人或排序者遵守一系列执行排序规则的机制,并额外保证这些规则得到了遵循。这种验证既可以通过零知识证明来实现,也可以通过欺诈证明来实现,后一种方式需要提案人或排序者提供足够的经济保证金,一旦他们的行为被证明是不当的,这笔保证金就会被没收。

3 - 执行与结算层

执行层负责智能合约的运行和状态的更新。使用zkVM技术的执行层,不仅返回运算结果,还能证实状态转换的正确性。这意味着网络的其他参与者无需重新执行交易,只需通过验证相关的证明就能确认交易的正确性。

使用可证明的执行还有一个额外的好处:可以进行更复杂的计算,因为在链外计算时不会受到链上资源限制的影响。这开启了一扇大门,允许在区块链上运行那些计算密集的新应用,而这些应用都是建立在可靠计算的基础之上的。

现有的 ZK 集成

  • zkEVM rollups:一种特殊类型的 zkVM,经过优化,可与以太坊兼容并证明 EVM 执行环境。然而,以太坊兼容性越接近,性能方面的权衡就越大。 2023 年推出的多个 zkEVM,包Polygon zkEVM, zkSync Era, Scroll, 和 Linea。 Polygon 最近宣布了他们的类型1 zkEVM验证器,这使得能够以每个区块 0.20-0.50 美元的价格证明主网以太坊区块(即将进行优化以进一步降低成本)。RiscZero等提供成本较高的以太坊区块验证解决方案
  • 替代zkVM:一些协议采取了另一种路径,优化性能/可证明性(Starknet, Zorp)或开发者友好性,而不是尽量与以太坊兼容。后者的例子包括zkWASM协议(Fluent, Delphinus Labs)和zkMOVE(M2zkmove)。
  • 以隐私为重点的zkVM:在这种情况下,ZKP用于两件事:避免重新执行和实现隐私。尽管仅使用ZKP能够实现的隐私有限(仅个人隐私状态),即将推出的协议为现有解决方案增加了很多表达性和可编程性。例子包括Aleo的snarkVM, Aztec’s的AVM和Polygon的 MidenVM
  • ZK协处理器:允许在链上数据上进行链下计算(但不包括状态)。ZKP用于证明正确执行,比乐观协处理器结算更快,但存在成本折衷。鉴于生成ZKP的成本和/或难度,我们看到了一些混合版本,例如Brevis coChain,允许开发者在ZK或乐观模式之间选择(成本与保证难度之间的折衷)。

零知识证明(ZKPs)能够解决的未解决问题

  • 集成zkVM:当前,大部分的底层网络(L1s)还是通过重新执行操作来验证状态是否正确转换。如果能在底层网络中集成一个zkVM(零知识虚拟机),就能避免这种重复执行,因为验证者可以直接验证证明。这样不但能提高系统的运行效率。虽然大家最关注的是集成了zkEVM的以太坊,但实际上许多其他的生态系统也存在依赖于重复执行的问题。
  • zkSVM:尽管目前SVM(Solana虚拟机)主要在Solana的L1网络中使用,但有些团队,如Eclipse,正尝试利用SVM支持在以太坊上进行结算的rollups。Eclipse还计划使用Risc Zero技术为SVM中状态转换的潜在问题提供零知识欺诈证明。然而,一个完整的zkSVM还没有被真正探索过,这可能是因为这个问题的复杂性,以及SVM本身更多地被优化用于其他方面,而不是证明性。

4 - 数据查询与读取性能提升

在大多数应用中,从区块链读取数据的过程,即数据查询,扮演着至关重要的角色。尽管近年来的讨论和改进大多集中在提升写入(即执行操作)的能力上,但由于读取和写入之间的不平衡性(特别是在去中心化环境中),提升读取能力实际上更加重要。不同区块链的读/写比例各不相同,但根据Sig基于两年实际数据的估计,Solana节点上超过96%的调用是读取操作——读/写比例达到了24:1。

提升读取能力不仅包括通过专用的验证器客户端(例如Solana的Sig)来增加读取速度(即每秒更多的读取次数),还包括实现更复杂的查询功能(比如结合读取和计算),例如通过使用协处理器来完成。

另一个考虑点是如何去中心化数据查询方式。目前,区块链上的大部分数据查询请求都依赖于受信任的第三方(基于声誉),如RPC节点(Infura)和索引器(Dune)。一些更去中心化的选择包括The Graph和存储证明运营商(这些也可以进行验证)。此外,还有一些尝试建立去中心化RPC网络的努力,比如 Infura DIN 或者 Lava Network ((除了提供去中心化RPC服务,Lava还计划未来提供更多的数据访问服务)。

现有的零知识证明应用

  • 存储证明:使用户能够在不依赖第三方的情况下,从区块链查询历史和当前数据。零知识证明技术用于数据压缩和验证提取数据的正确性。这方面的开发项目包括Axiom, Brevis, Herodotus,和 Lagrange

ZKP 可以解决的问题

  • 更高效的私密状态查询:为了增强隐私保护,许多隐私保护项目采用UTXO模型的改进版,这比传统的账户模型具有更优的隐私性,但这种模型不够对开发者友好,并可能引起同步问题。例如,Zcash 自2022年以来就因屏蔽交易量的大幅增加而面临同步挑战。用户必须等钱包与区块链同步后才能使用资金,这对网络的正常运作是一个基本挑战。Aztec最近为解决这一问题征求了关于节点发现的建议,但尚未找到确定的解决方案。

5 - 证明

随着越来越多应用引入零知识证明(ZKPs),证明和验证过程已迅速成为模块化体系中不可或缺的一环。但目前,大部分证明基础架构仍旧采用有权限和集中化的形式,很多应用都依赖于单一的证明提供者。

尽管集中化的方案在复杂性上较为简单,但是去中心化证明架构,并将其作为模块化体系中的一个独立部分,能带来多重益处。最关键的一点是它能提供活性保证,这对于那些需要频繁生成证明的应用来说至关重要。用户还能因为竞争增加和分摊给多个证明提供者的工作量而享受到更强的抗审查性和更低的费用。

我们认为,面向通用目的的证明者网络(多应用、多证明者)相比于单一应用证明者网络(单一应用、多证明者)更为优越,因为它们能更高效地利用现有硬件并且对证明者来说更简单。更高的硬件利用率也意味着用户能享受到更低的费用,因为证明者无需通过提高费用来弥补冗余(尽管仍需覆盖固定成本)。

Figment Capital 对当前的证明供应链状况进行了详细的概述,包括证明生成和证明聚合两个部分(证明聚合本质上也是证明生成,只不过是以两个证明作为输入,而不是执行路径)。

来源:Figment Capital

现有的 ZK 技术应用

  • STARK与SNARK结合:STARK技术具有快速且无需可信设置的优点,但其生成的证明文件较大,在以太坊L1上的验证费用较高。通过在最后一步将STARK用SNARK封装,可以大幅降低验证成本。但这样做增加了系统的复杂性,并且这种复合证明系统的安全性还未经过深入研究。目前已实施的项目包括Polygon的 Polygon zkEVM, Boojum in zkSync Era, 和 RISC Zero
  • 去中心化的通用证明网络:通过将更多应用集成到去中心化的证明网络中,不仅可以提高证明硬件的使用效率,还可以降低用户成本(无需为硬件冗余支付费用)。此类项目包括GevulotSuccinct

ZKP 可以解决的问题

  • ZK欺诈证明:在乐观模式解决方案中,任何人都可以挑战状态转换并创建欺诈证明。但传统的验证方式需要通过重新执行来完成,这一过程较为繁琐。ZK欺诈证明通过创建状态转换的证明来解决这一问题,这样可以更高效地完成验证(无需重新执行),可能还能加快结算速度。这一技术正在由Optimism(与O1 Labs和RiscZero合作)和AltLayer x RiscZero等团队开发。
  • 更高效的证明聚合:ZKP的一个重要功能是可以将多个证明聚合成一个,这样做不会显著增加验证成本,从而可以在多个应用中分摊验证费用。此类技术目前由NEBRAGevulot等项目进行开发。

来源: Figment Capital

6 - 数据发布与信息可获取性

数据发布(DP)的目标是确保数据在短时间内(1-2周)不仅可用,而且容易获取。这一点对于确保系统的安全性(例如,乐观rollups需要在挑战期(1-2周)通过重新执行来验证交易的正确执行)和活性(比如,即便使用了有效性证明,有时仍需底层交易数据来确认资产所有权,处理紧急撤离、强制交易或核对输入输出是否一致)都非常关键。对于使用者(比如zk-桥和rollups),这涉及到一次性费用,用于覆盖短期内存储交易和状态信息的成本,直到数据被清理。需要注意的是,数据发布网络并不适用于长期存储数据(对于长期存储的方案,请参考下一节)。

Celestia 率先推出了其主网,成为首个替代DP层(10月31日),但随着Avail, EigenDA,和Near DA 等预计在2024年推出,未来将有更多选择。此外,以太坊的EIP 4844 升级增强了其数据发布能力(同时为blob存储创造了独立的费用市场),并为全面实施dank-sharding奠定了基础。DP功能也在向其他生态系统扩展,例如 @nubit_org/riema-secures-angel-investment-for-launching-the-first-bitcoin-native-data-availability-layer-49ccf0487380">Nubit 致力于在比特币上实现原生DP。

很多DP方案不仅仅提供基本的数据发布服务,它们还包括为主权rollups提供共享安全性(如CelestiaAvail)或增强rollups间的互操作性(如Avail的Nexus)。还有项目(如(DomiconZero Gravity)同时提供数据发布和长期状态存储服务,这是一个非常有吸引力的方案。这也展示了在模块化体系中两个组件的再次整合趋势,未来我们可能会看到更多这样的尝试,无论是进一步分解还是重新整合。

零知识证明技术的现有应用

  • 确保擦除编码准确无误:擦除编码通过增加数据的冗余度,确保即便部分数据丢失,也能恢复原始数据。这一机制对于数据可用性抽样(DAS)尤为关键,其中轻节点仅需抽样区块的一小部分数据,便能以较高概率确认数据的完整性。然而,如果数据的编码过程出现恶意篡改,即使轻节点抽样了足够多的数据块,也可能无法恢复原始数据。通过有效性证明(即零知识证明)或欺诈证明来验证擦除编码的正确性,其中后者可能会因挑战期的延迟而受到影响。除Celestia外,其他所有方案均采用有效性证明进行验证。
  • 利用零知识轻客户端实现的数据桥:即使是使用了外部数据发布层的Rollups,也必须向结算层证明数据已被正确发布。这正是数据认证桥的作用所在。采用零知识证明,可以提高在以太坊上验证源链共识签名的效率。Avail的VectorX和Celestia的BlobstreamX数据认证桥,都是依托与Succinct合作构建的零知识轻客户端来驱动的。

ZKP 可以解决的问题

  • Celestia通过引入有效性证明优化擦除编码的准确性:在数据发布网络中,Celestia因采用欺诈证明来确保擦除编码的正确性而独树一帜。如果有区块提案者恶意地错误编码了数据,其他任何完整节点都能提出欺诈证明来质疑此行为。尽管这种方式实施起来较为简单,但它引入了延迟问题(区块直到欺诈证明期结束后才被确认)并且依赖轻节点信任至少有一个诚实的完整节点来提出欺诈证明(轻节点无法自行验证)。然而,Celestia正在考虑将其目前使用的Reed-Solomon编码与零知识证明相结合来证实编码的正确性,这样做能大幅缩短确认时间。关于这个讨论的最新进展可以在这里 找到,包括先前工作组的记录资料(以及将ZKPs加入到Celestia基础层的更广泛尝试)。
  • 零知识证明的数据可用性抽样(DAS):已经进行了一些使用零知识证明来验证数据可用性的尝试,在此模式下,轻节点仅需验证默克尔根和一个零知识证明,而无需下载数据的小片段来进行传统的抽样。这会进一步降低轻节点的要求,但看起来相关的开发工作目前已经暂停。

7 - 数据长期(状态)存储

长期存储历史数据主要用于数据同步和响应查询请求。然而,不是每个节点都能存储全部数据,多数节点会删除旧数据以维持硬件需求在合理范围内。我们通常依赖专门的节点(如归档节点和索引器)来保存所有历史数据,并按需为用户提供。

此外,像 FilecoinArweave这样的去中心化存储提供商,提供了成本效益较高的长期存储解决方案。尽管大部分区块链没有固定的归档存储流程,这些去中心化存储协议是存储历史数据并通过其网络内置激励措施增加数据冗余的理想选择。

ZK技术在现有存储中的应用

  • 存储证明:长期存储服务商需要定期产生零知识证明(ZKP),证明他们确实保存了所声明的数据。例如,Filecoin 的时空证明(PoSt)就是一种存储服务商通过定期验证他们的存储数据,以此获得区块奖励的机制。

ZKP 可以解决的问题

  • 证明数据来源和查看敏感数据的授权:对于想要交换敏感数据的两个不可信方,ZKP 可用于证明一方拥有查看数据所需的凭据,而无需上传实际文档或泄露密码和日志。详细信息。

8 - 共识机制的作用

由于区块链技术基于分布式点对点系统,不存在一个被普遍信任的第三方来定义所谓的全球性真理。相反,网络中的节点通过一种被称为“共识”的机制来共同认定当前的真实情况(即确定哪一个区块是正确的)。基于权益证明(PoS)的共识方法大致可分为两类:一是基于拜占庭容错(BFT)的方法,即一群验证者通过共识来决定最终状态;二是基于链的方法,即通过分叉选择规则来事后决定最终状态。尽管大多数现行的PoS共识机制都是基于BFT的,但Cardano采用的是最长链策略。同时,基于有向无环图(DAG)的共识机制,如Narwhal-Bullshark,也在Aleo、Aptos和Sui等平台上得到了某种程度的应用,并引起了人们的广泛关注。

共识机制是模块化系统中多个不同组件的核心,包括共享序列器、去中心化证明和基于区块链的数据发布网络(与基于委员会的如EigenDA不同)。

零知识证明技术的现有应用

  • 在基于ZK的隐私网络中进行质押:对于基于PoS的隐私网络,质押代币持有者面临一个难题,即他们需要在保护隐私与参与共识(以及获得质押奖励)之间做出选择。Penumbra通过一种独特的方式应对这一挑战,即取消质押奖励,而是将未绑定和已绑定的质押视作两种不同的资产,这样既保护了个人的委托隐私,同时还能公开每个验证者绑定的总金额。
  • 私密治理:长期以来,实现匿名投票在加密世界一直是个挑战,Nouns Private Voting等项目正在努力推动这一进展。匿名投票同样适用于治理领域,Penumbra等至少一个项目正在尝试实现提案的匿名投票。在这里,零知识证明技术可以用来证实投票者拥有投票权(例如通过代币所有权)并且满足了特定的投票条件(例如尚未投票)。

ZKP 可以解决的问题

  • 私人领导人选举:以太坊目前在每个 epoch 开始时选举接下来的 32 个区块提议者,并且本次选举的结果是公开的。这会带来恶意方依次对每个提议者发起 DoS 攻击以试图禁用以太坊的风险。为了解决这个问题, 是一项用于在以太坊上选举区块提议者的隐私保护协议的提案。验证者使用 ZKP 来证明洗牌和随机化是诚实执行的。还有其他方法可以实现类似的最终目标,本文涵盖了其中一些方法 a16z 的博客文章
  • 私密领导人选举:以太坊目前在每个时代开始时公开选举接下来的32个区块提案者。这种公开的选举结果可能使得恶意方有机会对每个提案者依次发起DoS攻击,试图瘫痪以太坊网络。为了应对这一问题,Whisk 提出了一个隐私保护的协议,用于在以太坊上选举区块提案者。在这个方案中,验证者利用零知识证明来证实洗牌和随机化过程的诚实性。此外,还有其他方法旨在实现类似的目标,a16z的一篇博客文章中对此进行了介绍。
  • 签名聚合:通过零知识证明聚合签名可以大幅降低签名验证的通讯和计算成本(验证一个聚合证明而不是每个单独的签名)。这一策略已在ZK轻客户端中得到应用,未来有可能进一步扩展到共识机制中

9 - 结算过程

在区块链中,结算过程可视为验证事务正确性和解决争议的最终环节,相当于法律体系中的最高法院。一项交易被认为是最终性的,当它达到不可逆转的状态时(或在使用概率性最终性时,达到难以逆转的程度)。达到最终性的时间依赖于所用的结算层,而这层的性能则依赖于具体采用的最终性规则和区块时间。

特别是在跨rollup交互中,最终性的延迟成问题,rollup在能够确认交易前需要等待以太坊的确认(乐观rollup需要7天,有效性rollup需要12分钟加上验证时间)。这降低了用户体验。为解决这一问题,业界正在尝试采用具有一定安全级别的预确认方案,如Polygon AggLayer 或者zkSync HyperBridge等生态系统特定解决方案,以及Near的快速最终确定层这类通用解决方案,后者通过利用Near’s Fast Finality Layer的经济安全性来连接不同的rollup生态系统。此外,还有使用EigenLayer进行“软确认”的原生rollup桥梁,以避免等待完全最终确定。

现有的 ZK 应用

  • 通过有效性rollup加速结算:与乐观rollup不同,有效性rollup不依赖挑战期来验证状态转变的正确性,而是直接利用零知识证明(ZKP)。这大大加快了在基础层的结算速度(从以太坊的7天缩短到12分钟),并且避免了交易的重复执行。

10 - 安全性

安全性涉及到保障措施的坚固程度,是区块链价值提案中至关重要的一环。然而,建立起加密经济的安全机制并非易事 - 它提高了进入门槛,对那些急需安全保障的应用(如各类中间件和其他第一层协议)构成了创新的阻碍。

共享安全的概念是利用现有的权益证明(PoS)网络的经济安全基础,并让它面临额外的风险(即处罚的条件),而非让每个单独的组件自己尝试建立安全机制。虽然在工作量证明(PoW)网络中也进行过类似的尝试(合并挖矿.)),但由于激励机制不一致,矿工更容易合谋利用协议(由于工作在现实世界中进行,即利用计算力挖矿,因此更难以惩罚不良行为)。与之相比,PoS的安全机制更为灵活,可以被其他协议所利用,因为它同时具有正面(质押收益)和负面(削减)激励。

基于共享安全理念构建的协议包括:

  • EigenLayer力图利用现有的以太坊安全机制来保护广泛的应用程序。该项目的白皮书于2023年初发布,EigenLayer目前处于主网alpha测试阶段,预计在今年晚些时候正式推出主网。
  • Cosmos在2023年5月推出了其跨链安全(ICS)功能,使得Cosmos Hub(Cosmos上最大的链之一,拥有约24亿美元的质押ATOM)能够将其安全机制租赁给其他链。通过使用验证Cosmos Hub区块的验证者集来验证消费链的区块,旨在降低在Cosmos生态上启动新链的门槛。然而,目前只有两条消费链(Neutron和Stride)处于活跃状态。
  • Babylon也在尝试让BTC参与共享安全。为了解决合并挖矿中难以惩罚不良行为的问题,它正在创建一个虚拟的PoS层,允许用户将BTC锁定在比特币的一个质押合约中(无需跨链操作)。由于比特币不支持智能合约,质押合约的惩罚规则通过UTXO交易在比特币脚本中表达。
  • 在其他网络上重新质押的例子包括Near的Octopus和Solana的Picasso。Polkadot的Parachains也采用了共享安全的理念。

现有的零知识证明应用

  • 零知识证明与经济安全的融合:虽然基于零知识证明的安全保障可能更为强大,但对某些应用而言,证明的成本依然过高,且生成证明的时间过长。 Brevis coChain是这方面的一个例子,它是一个从ETH重质押者那里获得经济安全的协处理器,乐观地保证计算的正确性(通过零知识欺诈证明)。dApps可以根据它们对安全性和成本的具体需求,在纯零知识模式和coChain模式之间做出选择。

11 - 互操作性

在一个由多条区块链构成的世界中,如何安全高效地实现互操作性一直是个棘手问题,这从价值28亿美元的跨链桥攻击事件中可见一斑。在模块化系统中,互操作性尤为关键——它不仅需要实现链与链之间的通信,还要让区块链内部的不同组件(如数据层和结算层)能够相互协作。因此,不可能再像在传统集成区块链中那样,仅通过运行一个完整节点或验证一个共识证明来实现。这意味着在系统中引入了更多的复杂元素。

互操作性涵盖了代币跨链和更广泛的跨链消息传递。目前有多种解决方案,各有其在安全性、响应速度和成本方面的权衡。同时满足这三方面非常难,通常需要牺牲其中一方面。此外,不同链间的标准差异也使得在新链上的部署变得更加复杂。

目前对轻客户端(轻节点)的不同类型定义尚不明确,但Fluent & Modular Media的联合创始人Dino的文章对此进行了很好的介绍。当前大部分轻客户端仅验证共识,但理想状态下,我们希望有能同时验证执行和数据可用性的轻客户端,减少依赖度,接近全节点的安全性,同时又不需要高昂的硬件支持。

现有的 ZK 集成

  • ZK轻客户端(共识验证):大多数现有轻客户端能够验证其他链的共识状态,不管是完整的验证人集合还是部分验证人(例如以太坊同步委员会)。通过使用ZKP技术,可以更快、更经济地完成验证,因为原始链上使用的签名系统可能不被目标链直接支持。尽管ZK轻客户端在桥接应用中的重要性预计将增加,但目前其广泛应用仍面临着证明和验证成本以及为每个新链实现ZK轻客户端的挑战。相关协议的例子包括Polyhedra、Avail和Celestia的数据认证桥,以及zkIBC by Electron Labs
  • 存储证明:如前所述,存储证明可以在不使用可信第三方的情况下从区块链查询历史和当前数据。这也与互操作性相关,因为它们可用于跨链通信。例如,用户可以证明他们在一条链上拥有代币,并将其用于另一条链上的治理(无需桥接)。还有尝试使用存储证明进行桥接,例如该解决方案由 LambdaClass 开发
  • ZK预言机:预言机作为连接现实世界数据与区块链的桥梁,ZK预言机通过证明数据的来源和完整性,提高了现有基于声誉系统的预言机模型的安全性和可靠性。

ZKP 可以解决的问题

  • 全功能轻客户端:全功能轻客户端不仅仅是信任其他链的验证者集,它还会检查执行和数据的准确性。这样做可以减少对信任的依赖,使其性能更接近全节点,同时保持较低的硬件需求,让更多人能够运行轻客户端。然而,在大多数链上,特别是在以太坊,验证共识之外的内容仍然成本高昂。而且,轻客户端虽然能验证信息的真伪,但若信息被识别为虚假,还需要额外的机制来处理这一问题。
  • 聚合层:Polygon 的 AggLayer通过聚合证明和统一的桥接合约,旨在实现生态系统内不同L2之间的顺畅互操作性。聚合证明不仅提高了验证的效率和安全性,还确保了依赖的链状态和数据包的一致性,保证了基于其他链无效状态的rollup状态不能在以太坊上进行结算。zkSync的HyperChainsAvail Nexus 也在采用类似的方法,推动了链间互操作性的发展。

当零知识证明彻底改变模块化技术架构时会发生什么?

设想一下,如果生成零知识证明(ZKPs)的速度极快(几乎达到光速)且成本极低(几乎为零),那么最终的局面会是怎样的?也就是说,零知识证明何时会彻底改变模块化技术架构?

总的来说,我们认为在这种情况下会有两个显著的变化:

  1. 所有不必要的重复执行将被消除:通过采用1/N的执行模式(而不是N/N的重复执行模式),我们能大幅降低网络的整体冗余性,从而更高效地利用底层硬件资源。尽管还会有一些额外开销,但这将使区块链在计算效率上更加接近中心化系统。
  2. 大部分应用将依赖零知识证明提供的加密保障,而非经济安全:当生成证明的时间和成本不再是问题时,我们认为大多数应用会选择依赖ZKPs来获得更强的安全保障。当然,这也意味着需要在易用性和开发者友好度上进行改进,以便构建零知识证明应用,不过这正是多个团队正在努力解决的问题。

    还有一个关于隐私(或信息流管理)的复杂条件,零知识证明可以被用于一些客户端证明的隐私应用,这正是像Aleo、Aztec或Polygon Miden等平台正在开发的功能,但要实现广泛的隐私保护,还需要依赖于多方计算(MPC)和全同态加密(FHE)等技术的进步,这可能是未来博客文章的一个话题。

面临的风险

如果我们的预测错误,未来既不采用模块化技术架构也不普遍应用零知识证明技术,会怎样呢?我们的观点面临的一些潜在风险包括:

模块化增加了复杂性

随着链的数量不断增加,用户和开发者都面临挑战。用户需要在多个链(可能还要管理多个钱包)上管理资金,而应用开发者则面临稳定性和可预测性较低的问题,这使得他们很难决定应该在哪个链上进行开发。他们还必须考虑到状态和流动性的碎片化问题。这一点在当前尤为突出,因为我们仍在探索哪些组件适合解耦,哪些应重新耦合。我们认为,简化用户操作和提供安全高效的互操作解决方案是解决这一问题的关键。

零知识证明技术能否达到实用的性能水平?

一个无法避免的问题是,目前生成零知识证明的过程既耗时又成本高昂。对于当前许多应用来说,信任执行环境(TEEs)针对隐私保护的解决方案,或者是基于乐观/加密经济的安全方案在成本上更为合理。

不过,针对零知识证明的软件优化和硬件加速方面正在进行大量的工作。通过证明聚合,即将成本分散到多个参与方,可以进一步降低验证成本,从而降低每位用户的成本。此外,还有可能对底层技术进行调整,以更好地适应零知识证明的验证。但是,零知识证明在硬件加速方面面临的一个挑战是,证明系统的快速进化使得专用硬件(ASICs)的开发变得复杂,因为一旦底层证明系统的标准发生变化,这些硬件很快就会过时。

Ingonyama尝试通过一个叫做ZK分数的比较指标来衡量证明性能,该指标基于运行计算的操作成本(OPEX),并追踪每瓦特的模数乘法操作次数(MMOPS)。想要深入了解这一主题,我们推荐阅读 @Cysic/BJQcpVbXn?ref=blog.succinct.xyz">Cysic和 @ingonyama/revisiting-paradigms-hardware-acceleration-for-zero-knowledge-proofs-5dffacdc24b4">Ingonyama的博客,以及Wei Dai的演讲。

零知识证明提供的隐私保护是否足够?

零知识证明技术只能用来保护个人的隐私状态,而无法用于需要多方在加密数据上进行计算的共享状态(例如一个私有的Uniswap)。要实现完全的隐私保护,还需要全同态加密(FHE)和多方计算(MPC)技术的支持,但这些技术在成本和性能上还需要大幅提升才能广泛应用。尽管如此,对于那些不需要共享私有状态的特定场景,如身份验证或支付,零知识证明仍然是一个有用的工具。不是所有的问题都必须用同一种方式来解决。

总结

我们目前的情况如何呢?尽管我们正在取得一天天的进展,但仍有大量工作待完成。最迫切需要解决的问题是,如何在保持速度和成本效率的同时,确保不同模块化组件之间能够安全地交换价值和信息,并且如何让这一切对最终用户透明,避免他们需要处理跨链操作、钱包切换等技术细节。

目前我们还处于探索阶段,但随着我们逐渐明确每个应用场景中最佳平衡点的位置,局势将逐步稳定。这将为形成标准(无论是非正式的还是正式的)提供机会,为在这些区块链上构建的开发者提供更多稳定性。

虽然本文特别聚焦于零知识证明,我们也对现代密码学解决方案(包括ZKPs、多方计算(MPC)、全同态加密(FHE)和可信执行环境(TEE))如何协同工作表示出越来越多的兴趣——这是我们已经开始见证的现象。

虽然这篇文章特别关注 ZKP,但我们也越来越感兴趣现代密码学解决方案(ZKP、MPC、FHE 和 TEE)最终将如何一起发挥作用 - 我们已经看到了这一点。

感谢您的阅读!

声明:

  1. 本文转载自 [equilibrium],著作权归属原作者[Hannes Huitula],如对转载有异议,请联系Gate Learn团队,团队会根据相关流程尽速处理。
  2. 免责声明:本文所表达的观点和意见仅代表作者个人观点,不构成任何投资建议。
  3. 文章其他语言版本由Gate Learn团队翻译, 在未提及Gate.io的情况下不得复制、传播或抄袭经翻译文章。

零知识证明会成为模块化区块链的核心吗?

进阶5/15/2024, 1:03:42 AM
虽然Web3通常被定义为“读、写、拥有”,但考虑到公共区块链的核心优势是确保计算的准确性并简化验证过程,我们认为对于互联网的第三次迭代,一个更准确的描述应是“读、写、验证”。

什么是区块链以及它们如何扩展当前的计算范式?

区块链,一种协作机制,让全球的参与者能够在不需要第三方介入的情况下,按照一致认同的规则进行合作。

计算机的设计初衷是进行数据存储、数据处理和进行通信。而区块链技术引入了第四个元素:确保上述三个过程(数据存储、处理和通信)能按照约定的方式进行。这种确保机制让不相识的人也能够进行合作,而不需要依赖任何可信的第三方介入,实现了去中心化。

这些额外的确保机制可能是基于经济(如信任博弈理论和奖惩机制)或是基于密码学(信任数学)的,但大部分应用是这两者的结合,即所谓的“密码经济学”。这与目前主要基于声誉的系统形成了明显的对比。

尽管Web3常被描述为“阅读、写入、拥有”,我们认为,鉴于公链的关键优势在于可靠的计算和易于验证这些保证是否得到履行,互联网的第三个阶段更合适的描述应该是“阅读、写入、验证”。如果我们创建了可以买卖和控制的数字产品,拥有权可以视为一种确保计算的特例。然而,许多区块链应用受益于这种确保计算的特性,但并不直接涉及拥有权。比如,在一个完全基于链的游戏中,如果你的健康值是77/100,这个健康值是你拥有的吗,还是仅仅因为遵循了大家共同认可的规则而在链上得以执行的?我们倾向于后者,但Chris Dixon可能有不同的看法。

Web3= “读、写、验证”。

零知识证明与模块化——加速变革的两大趋势

尽管区块链技术备受期待,但其分散化的特点也带来了效率低下和操作复杂的问题。大多数区块链为确保交易的正确性需要节点重复执行交易验证,这种方法不仅浪费资源,还与高效的集中式处理形成对比。区块链的发展目标是尽可能地提高效率,使其接近集中化处理的水平。

尽管区块链的基础设施在过去十年有了显著改进,但距离能够支持互联网规模的处理还有很长的路要走。我们观察到,无论是在表达性还是难度方面,区块链都面临着权衡选择。模块化设计可以加快这种权衡的实验过程,而零知识证明技术则能进一步扩展这些权衡的界限。

  • 表达性关乎系统能够保障的内容范围,包括可扩展性、隐私保护、可编程性和组件间的互操作性;
  • 而难度则涉及这些保障的实现难度,如安全性和去中心化程度。

模块化是指系统的不同组件可以被独立出来并重新组合的能力。这种设计通过快速反馈和低门槛进入特性,促进了快速的试验和专业化发展。模块化与一体化的选择不是非黑即白,而是需要在不同程度的解耦和集成间寻找平衡。

零知识证明(ZKP)允许一方(证明者)向另一方(验证者)证明某信息的真实性,而无需透露除了验证信息本身之外的任何细节。这种方式不仅提高了系统的可扩展性和效率,还增强了隐私保护,因为它减少了重复执行的需要。此外,ZKP还通过提供强有力的技术保证,增强了系统的安全性和可靠性,推动了技术的进步和应用的广泛性。

我们认为,模块化和对所有事物的零知识证明化(简称“ZK化”)是两个未来将持续加速发展的趋势。这两个趋势各自为领域内的探索提供了独特的视角,但我们更加关注它们的交集部分。我们关注的两个主要问题是:

  1. 目前模块化技术堆中,哪些部分已经开始使用零知识证明(ZKPs),而哪些部分还待开发?
  2. 使用零知识证明(ZKPs)能解决哪些问题?

然而,在讨论这些问题之前,我们需要了解 2024 年模块化堆栈的最新情况。

2024年的模块化技术堆

我们过去常用的模块化技术堆图示,包含四个基本组件(执行、数据发布、共识、结算),虽然作为一个基础思维模型很有帮助,但考虑到模块化领域的快速发展,我们认为这种表示方式已不再足够。随着进一步的解构,出现了之前被认为是更大模块一部分的新组件,同时也产生了新的依赖关系以及不同组件之间需要的安全互操作性(后文将进一步讨论)。鉴于这一领域发展的速度,要全面跟进堆栈各层面的创新变得相当困难。

早期对web3技术堆的探索尝试包括Kyle Samani(Multicoin)的工作,他的研究最初发布于2018年年,并在2019年进行了更新。他的研究内容从去中心化的最后一英里互联网接入(比如Helium)到最终用户的密钥管理等方面都有涵盖。虽然其背后的理念可以重新利用,但某些部分,如证明和验证等,完全缺失。

基于这些考虑,我们尝试构建了一个关于2024年模块化技术堆的更新视图,对现有的四部分模块化技术堆进行了扩展。我们按组件而非功能进行了分类,这意味着比如P2P网络被归入到共识组件中,而不是作为独立组件分离出来,主要是因为围绕它建立协议相当困难。

零知识证明在模块化技术栈中的应用

随着我们对模块化技术栈的理解逐步深入,现在是时候探讨一个核心问题了:零知识证明(ZK)技术已经影响了技术栈的哪些部分,以及它有潜力解决哪些现有的问题,特别是那些可以通过零知识证明来避免重复执行操作或增强隐私保护的问题。在我们深入分析每个单独组件之前,这里先提供一个我们研究的概要。

1 - 用户操作的简化

目前,区块链用户面临着需要同时操作多个链条、钱包和界面的复杂情况,这不仅麻烦而且阻碍了区块链的广泛应用。用户操作的简化是一个广泛的概念,旨在将这种复杂性隐藏起来,让用户只需通过一个界面(比如一个特定的应用或钱包)进行交互,复杂的操作都在后台完成。基础层面的简化尝试包括:

  • 账户简化(AA)允许智能合约在不需要用户对每个操作都签名的情况下进行交易(即“可编程加密账户”)。它涉及到定义谁能签名(密钥管理)、签什么(交易内容)、怎么签(签名算法)以及何时签名(交易批准条件)。这些功能的结合,实现了如使用社交媒体登录操作去中心化应用、两步验证、账户恢复和自动化操作(如自动签名交易)等。虽然这类讨论常常围绕以太坊(2023年春季通过的ERC-4337标准),但许多其他链条如Aptos, Sui, Near, ICP, Starknet, 和 zkSync已经内置了账户简化功能。
  • 链条简化让用户可以在不同的链条上进行交易,同时只需要操作一个账户(一个界面,多个链条)。包括Near, ICP, 和 dWallet在内的几个团队正在研究这个问题。这些解决方案采用了多方计算(MPC)和链上签名技术,将其他网络的私钥分割成多个小部分,在源链的验证者之间共享,由他们签署跨链交易。当用户想要操作另一条链时,需要足够数量的验证者签名以满足加密阈值。这种方式保持了安全性,因为私钥从未完全在任何地方共享过。但是,这也存在验证者可能串通的风险,因此底层链的密码经济安全和验证者的去中心化仍然至关重要。
  • 在更高层面上,意图功能使得将用户的需求和愿望转换成区块链可执行的操作成为可能。这需要意图解决者——专门的链外代理,负责找到满足用户意图的最佳解决方案。已经有一些应用采用了特定的意图,例如DEX聚合器(寻找“最佳价格”)和桥接聚合器(寻找“最便宜/最快的桥接方式”)。旨在简化用户表达复杂意图和开发者构建以意图为中心应用的通用意图解决网络(如Anoma, Essential, Suave)正在出现。但是,这方面还存在许多问题,包括如何规范化这一过程、意图中心语言将是什么样的、是否总有最优解以及是否能找到它。

零知识证明的实际应用案例:

  • 使用 AA x ZK 进行身份验证: Sui 就是一个例子 zkLogin,这使用户能够使用熟悉的凭据(例如电子邮件地址)登录。它使用 ZKP 来防止第三方将 Sui 地址与其相应的 OAuth 标识符链接起来。
  • 提高AA钱包签名验证的效率:通过智能合约进行交易验证的成本通常比通过传统账户(EOA)进行的要高。Orbiter项目通过一个综合服务来应对这一挑战,该服务使用零知识证明来确保交易签名的正确性,并且通过一个Merkle世界状态树来维持AA账户的nonce值和gas余额。通过证明的聚合和在所有用户之间平等分担链上验证的成本,这种方法能够大幅度降低费用。

零知识证明(ZKPs)可能解决的挑战

  • 实现最优执行或意图满足的证明:尽管意图和账户抽象(AA)能够简化用户面临的复杂性,但它们也可能导致中心化趋势,并使我们需要依赖特定的中介(即解决方案提供者)来寻找最佳执行路径。不是仅仅依赖于这些中介的诚信,零知识证明技术有潜力用来确保为用户选择的是解决方案提供者评估过的最佳路径。
  • 意图结算的隐私保护:协议如Taiga 旨在实现完全私密的意图结算,以保护用户隐私——这是向区块链网络中增加隐私(或至少是保密性)的更广泛努力的一部分。它利用零知识证明(Halo2)来保护状态转换(如应用类型、参与方等)的敏感信息不被泄露。
  • AA钱包的密码找回:这个提案的目标是让用户在丢失私钥时能够恢复他们的钱包。方法是在合约钱包中存储一个散列(密码和随机数的组合),用户可以利用他们的密码生成一个零知识证明,以此来证明自己是账户的主人,并请求更换私钥。设定一个确认期限(3天或更长),以此作为预防未授权访问尝试的安全措施。

2 - 交易排序机制

在区块链中,所有交易都需要先进行排序才能被打包进区块。排序的方法有很多,例如:按照交易给出的手续费高低排序(手续费高的优先处理)、按交易提交的时间顺序排序(先提交的先处理),或是给私有交易内存池中的交易优先权等。

关于谁来负责这一排序工作,模块化架构提供了多种可能性,包括Rollup的排序器(可以是中心化或去中心化的)、基于L1的排序以及共享排序网络(一个由多个Rollup共用的去中心化排序器网络)。这些方法各有不同的信任假设和扩展能力。在实际应用中,交易的排序和打包过程有时也会由协议外的专业机构(如区块建造者)来执行,这些机构专门负责创建和优化区块内容。

零知识证明技术的现有应用

  • 确保交易池加密正确: Radius是一个采用了实用可验证延迟加密((PVDE)技术的加密交易池的共享排序网络。用户通过生成零知识证明来确保解开时间锁的谜题能正确解密有效交易,这意味着所涉及的交易确实包含了有效的签名和随机数,并且交易发起人拥有足够的资金支付交易费用。

零知识证明(ZKPs)能够解决的潜在问题

  • 可验证的排序规则(VSR):这是一种要求提案人或排序者遵守一系列执行排序规则的机制,并额外保证这些规则得到了遵循。这种验证既可以通过零知识证明来实现,也可以通过欺诈证明来实现,后一种方式需要提案人或排序者提供足够的经济保证金,一旦他们的行为被证明是不当的,这笔保证金就会被没收。

3 - 执行与结算层

执行层负责智能合约的运行和状态的更新。使用zkVM技术的执行层,不仅返回运算结果,还能证实状态转换的正确性。这意味着网络的其他参与者无需重新执行交易,只需通过验证相关的证明就能确认交易的正确性。

使用可证明的执行还有一个额外的好处:可以进行更复杂的计算,因为在链外计算时不会受到链上资源限制的影响。这开启了一扇大门,允许在区块链上运行那些计算密集的新应用,而这些应用都是建立在可靠计算的基础之上的。

现有的 ZK 集成

  • zkEVM rollups:一种特殊类型的 zkVM,经过优化,可与以太坊兼容并证明 EVM 执行环境。然而,以太坊兼容性越接近,性能方面的权衡就越大。 2023 年推出的多个 zkEVM,包Polygon zkEVM, zkSync Era, Scroll, 和 Linea。 Polygon 最近宣布了他们的类型1 zkEVM验证器,这使得能够以每个区块 0.20-0.50 美元的价格证明主网以太坊区块(即将进行优化以进一步降低成本)。RiscZero等提供成本较高的以太坊区块验证解决方案
  • 替代zkVM:一些协议采取了另一种路径,优化性能/可证明性(Starknet, Zorp)或开发者友好性,而不是尽量与以太坊兼容。后者的例子包括zkWASM协议(Fluent, Delphinus Labs)和zkMOVE(M2zkmove)。
  • 以隐私为重点的zkVM:在这种情况下,ZKP用于两件事:避免重新执行和实现隐私。尽管仅使用ZKP能够实现的隐私有限(仅个人隐私状态),即将推出的协议为现有解决方案增加了很多表达性和可编程性。例子包括Aleo的snarkVM, Aztec’s的AVM和Polygon的 MidenVM
  • ZK协处理器:允许在链上数据上进行链下计算(但不包括状态)。ZKP用于证明正确执行,比乐观协处理器结算更快,但存在成本折衷。鉴于生成ZKP的成本和/或难度,我们看到了一些混合版本,例如Brevis coChain,允许开发者在ZK或乐观模式之间选择(成本与保证难度之间的折衷)。

零知识证明(ZKPs)能够解决的未解决问题

  • 集成zkVM:当前,大部分的底层网络(L1s)还是通过重新执行操作来验证状态是否正确转换。如果能在底层网络中集成一个zkVM(零知识虚拟机),就能避免这种重复执行,因为验证者可以直接验证证明。这样不但能提高系统的运行效率。虽然大家最关注的是集成了zkEVM的以太坊,但实际上许多其他的生态系统也存在依赖于重复执行的问题。
  • zkSVM:尽管目前SVM(Solana虚拟机)主要在Solana的L1网络中使用,但有些团队,如Eclipse,正尝试利用SVM支持在以太坊上进行结算的rollups。Eclipse还计划使用Risc Zero技术为SVM中状态转换的潜在问题提供零知识欺诈证明。然而,一个完整的zkSVM还没有被真正探索过,这可能是因为这个问题的复杂性,以及SVM本身更多地被优化用于其他方面,而不是证明性。

4 - 数据查询与读取性能提升

在大多数应用中,从区块链读取数据的过程,即数据查询,扮演着至关重要的角色。尽管近年来的讨论和改进大多集中在提升写入(即执行操作)的能力上,但由于读取和写入之间的不平衡性(特别是在去中心化环境中),提升读取能力实际上更加重要。不同区块链的读/写比例各不相同,但根据Sig基于两年实际数据的估计,Solana节点上超过96%的调用是读取操作——读/写比例达到了24:1。

提升读取能力不仅包括通过专用的验证器客户端(例如Solana的Sig)来增加读取速度(即每秒更多的读取次数),还包括实现更复杂的查询功能(比如结合读取和计算),例如通过使用协处理器来完成。

另一个考虑点是如何去中心化数据查询方式。目前,区块链上的大部分数据查询请求都依赖于受信任的第三方(基于声誉),如RPC节点(Infura)和索引器(Dune)。一些更去中心化的选择包括The Graph和存储证明运营商(这些也可以进行验证)。此外,还有一些尝试建立去中心化RPC网络的努力,比如 Infura DIN 或者 Lava Network ((除了提供去中心化RPC服务,Lava还计划未来提供更多的数据访问服务)。

现有的零知识证明应用

  • 存储证明:使用户能够在不依赖第三方的情况下,从区块链查询历史和当前数据。零知识证明技术用于数据压缩和验证提取数据的正确性。这方面的开发项目包括Axiom, Brevis, Herodotus,和 Lagrange

ZKP 可以解决的问题

  • 更高效的私密状态查询:为了增强隐私保护,许多隐私保护项目采用UTXO模型的改进版,这比传统的账户模型具有更优的隐私性,但这种模型不够对开发者友好,并可能引起同步问题。例如,Zcash 自2022年以来就因屏蔽交易量的大幅增加而面临同步挑战。用户必须等钱包与区块链同步后才能使用资金,这对网络的正常运作是一个基本挑战。Aztec最近为解决这一问题征求了关于节点发现的建议,但尚未找到确定的解决方案。

5 - 证明

随着越来越多应用引入零知识证明(ZKPs),证明和验证过程已迅速成为模块化体系中不可或缺的一环。但目前,大部分证明基础架构仍旧采用有权限和集中化的形式,很多应用都依赖于单一的证明提供者。

尽管集中化的方案在复杂性上较为简单,但是去中心化证明架构,并将其作为模块化体系中的一个独立部分,能带来多重益处。最关键的一点是它能提供活性保证,这对于那些需要频繁生成证明的应用来说至关重要。用户还能因为竞争增加和分摊给多个证明提供者的工作量而享受到更强的抗审查性和更低的费用。

我们认为,面向通用目的的证明者网络(多应用、多证明者)相比于单一应用证明者网络(单一应用、多证明者)更为优越,因为它们能更高效地利用现有硬件并且对证明者来说更简单。更高的硬件利用率也意味着用户能享受到更低的费用,因为证明者无需通过提高费用来弥补冗余(尽管仍需覆盖固定成本)。

Figment Capital 对当前的证明供应链状况进行了详细的概述,包括证明生成和证明聚合两个部分(证明聚合本质上也是证明生成,只不过是以两个证明作为输入,而不是执行路径)。

来源:Figment Capital

现有的 ZK 技术应用

  • STARK与SNARK结合:STARK技术具有快速且无需可信设置的优点,但其生成的证明文件较大,在以太坊L1上的验证费用较高。通过在最后一步将STARK用SNARK封装,可以大幅降低验证成本。但这样做增加了系统的复杂性,并且这种复合证明系统的安全性还未经过深入研究。目前已实施的项目包括Polygon的 Polygon zkEVM, Boojum in zkSync Era, 和 RISC Zero
  • 去中心化的通用证明网络:通过将更多应用集成到去中心化的证明网络中,不仅可以提高证明硬件的使用效率,还可以降低用户成本(无需为硬件冗余支付费用)。此类项目包括GevulotSuccinct

ZKP 可以解决的问题

  • ZK欺诈证明:在乐观模式解决方案中,任何人都可以挑战状态转换并创建欺诈证明。但传统的验证方式需要通过重新执行来完成,这一过程较为繁琐。ZK欺诈证明通过创建状态转换的证明来解决这一问题,这样可以更高效地完成验证(无需重新执行),可能还能加快结算速度。这一技术正在由Optimism(与O1 Labs和RiscZero合作)和AltLayer x RiscZero等团队开发。
  • 更高效的证明聚合:ZKP的一个重要功能是可以将多个证明聚合成一个,这样做不会显著增加验证成本,从而可以在多个应用中分摊验证费用。此类技术目前由NEBRAGevulot等项目进行开发。

来源: Figment Capital

6 - 数据发布与信息可获取性

数据发布(DP)的目标是确保数据在短时间内(1-2周)不仅可用,而且容易获取。这一点对于确保系统的安全性(例如,乐观rollups需要在挑战期(1-2周)通过重新执行来验证交易的正确执行)和活性(比如,即便使用了有效性证明,有时仍需底层交易数据来确认资产所有权,处理紧急撤离、强制交易或核对输入输出是否一致)都非常关键。对于使用者(比如zk-桥和rollups),这涉及到一次性费用,用于覆盖短期内存储交易和状态信息的成本,直到数据被清理。需要注意的是,数据发布网络并不适用于长期存储数据(对于长期存储的方案,请参考下一节)。

Celestia 率先推出了其主网,成为首个替代DP层(10月31日),但随着Avail, EigenDA,和Near DA 等预计在2024年推出,未来将有更多选择。此外,以太坊的EIP 4844 升级增强了其数据发布能力(同时为blob存储创造了独立的费用市场),并为全面实施dank-sharding奠定了基础。DP功能也在向其他生态系统扩展,例如 @nubit_org/riema-secures-angel-investment-for-launching-the-first-bitcoin-native-data-availability-layer-49ccf0487380">Nubit 致力于在比特币上实现原生DP。

很多DP方案不仅仅提供基本的数据发布服务,它们还包括为主权rollups提供共享安全性(如CelestiaAvail)或增强rollups间的互操作性(如Avail的Nexus)。还有项目(如(DomiconZero Gravity)同时提供数据发布和长期状态存储服务,这是一个非常有吸引力的方案。这也展示了在模块化体系中两个组件的再次整合趋势,未来我们可能会看到更多这样的尝试,无论是进一步分解还是重新整合。

零知识证明技术的现有应用

  • 确保擦除编码准确无误:擦除编码通过增加数据的冗余度,确保即便部分数据丢失,也能恢复原始数据。这一机制对于数据可用性抽样(DAS)尤为关键,其中轻节点仅需抽样区块的一小部分数据,便能以较高概率确认数据的完整性。然而,如果数据的编码过程出现恶意篡改,即使轻节点抽样了足够多的数据块,也可能无法恢复原始数据。通过有效性证明(即零知识证明)或欺诈证明来验证擦除编码的正确性,其中后者可能会因挑战期的延迟而受到影响。除Celestia外,其他所有方案均采用有效性证明进行验证。
  • 利用零知识轻客户端实现的数据桥:即使是使用了外部数据发布层的Rollups,也必须向结算层证明数据已被正确发布。这正是数据认证桥的作用所在。采用零知识证明,可以提高在以太坊上验证源链共识签名的效率。Avail的VectorX和Celestia的BlobstreamX数据认证桥,都是依托与Succinct合作构建的零知识轻客户端来驱动的。

ZKP 可以解决的问题

  • Celestia通过引入有效性证明优化擦除编码的准确性:在数据发布网络中,Celestia因采用欺诈证明来确保擦除编码的正确性而独树一帜。如果有区块提案者恶意地错误编码了数据,其他任何完整节点都能提出欺诈证明来质疑此行为。尽管这种方式实施起来较为简单,但它引入了延迟问题(区块直到欺诈证明期结束后才被确认)并且依赖轻节点信任至少有一个诚实的完整节点来提出欺诈证明(轻节点无法自行验证)。然而,Celestia正在考虑将其目前使用的Reed-Solomon编码与零知识证明相结合来证实编码的正确性,这样做能大幅缩短确认时间。关于这个讨论的最新进展可以在这里 找到,包括先前工作组的记录资料(以及将ZKPs加入到Celestia基础层的更广泛尝试)。
  • 零知识证明的数据可用性抽样(DAS):已经进行了一些使用零知识证明来验证数据可用性的尝试,在此模式下,轻节点仅需验证默克尔根和一个零知识证明,而无需下载数据的小片段来进行传统的抽样。这会进一步降低轻节点的要求,但看起来相关的开发工作目前已经暂停。

7 - 数据长期(状态)存储

长期存储历史数据主要用于数据同步和响应查询请求。然而,不是每个节点都能存储全部数据,多数节点会删除旧数据以维持硬件需求在合理范围内。我们通常依赖专门的节点(如归档节点和索引器)来保存所有历史数据,并按需为用户提供。

此外,像 FilecoinArweave这样的去中心化存储提供商,提供了成本效益较高的长期存储解决方案。尽管大部分区块链没有固定的归档存储流程,这些去中心化存储协议是存储历史数据并通过其网络内置激励措施增加数据冗余的理想选择。

ZK技术在现有存储中的应用

  • 存储证明:长期存储服务商需要定期产生零知识证明(ZKP),证明他们确实保存了所声明的数据。例如,Filecoin 的时空证明(PoSt)就是一种存储服务商通过定期验证他们的存储数据,以此获得区块奖励的机制。

ZKP 可以解决的问题

  • 证明数据来源和查看敏感数据的授权:对于想要交换敏感数据的两个不可信方,ZKP 可用于证明一方拥有查看数据所需的凭据,而无需上传实际文档或泄露密码和日志。详细信息。

8 - 共识机制的作用

由于区块链技术基于分布式点对点系统,不存在一个被普遍信任的第三方来定义所谓的全球性真理。相反,网络中的节点通过一种被称为“共识”的机制来共同认定当前的真实情况(即确定哪一个区块是正确的)。基于权益证明(PoS)的共识方法大致可分为两类:一是基于拜占庭容错(BFT)的方法,即一群验证者通过共识来决定最终状态;二是基于链的方法,即通过分叉选择规则来事后决定最终状态。尽管大多数现行的PoS共识机制都是基于BFT的,但Cardano采用的是最长链策略。同时,基于有向无环图(DAG)的共识机制,如Narwhal-Bullshark,也在Aleo、Aptos和Sui等平台上得到了某种程度的应用,并引起了人们的广泛关注。

共识机制是模块化系统中多个不同组件的核心,包括共享序列器、去中心化证明和基于区块链的数据发布网络(与基于委员会的如EigenDA不同)。

零知识证明技术的现有应用

  • 在基于ZK的隐私网络中进行质押:对于基于PoS的隐私网络,质押代币持有者面临一个难题,即他们需要在保护隐私与参与共识(以及获得质押奖励)之间做出选择。Penumbra通过一种独特的方式应对这一挑战,即取消质押奖励,而是将未绑定和已绑定的质押视作两种不同的资产,这样既保护了个人的委托隐私,同时还能公开每个验证者绑定的总金额。
  • 私密治理:长期以来,实现匿名投票在加密世界一直是个挑战,Nouns Private Voting等项目正在努力推动这一进展。匿名投票同样适用于治理领域,Penumbra等至少一个项目正在尝试实现提案的匿名投票。在这里,零知识证明技术可以用来证实投票者拥有投票权(例如通过代币所有权)并且满足了特定的投票条件(例如尚未投票)。

ZKP 可以解决的问题

  • 私人领导人选举:以太坊目前在每个 epoch 开始时选举接下来的 32 个区块提议者,并且本次选举的结果是公开的。这会带来恶意方依次对每个提议者发起 DoS 攻击以试图禁用以太坊的风险。为了解决这个问题, 是一项用于在以太坊上选举区块提议者的隐私保护协议的提案。验证者使用 ZKP 来证明洗牌和随机化是诚实执行的。还有其他方法可以实现类似的最终目标,本文涵盖了其中一些方法 a16z 的博客文章
  • 私密领导人选举:以太坊目前在每个时代开始时公开选举接下来的32个区块提案者。这种公开的选举结果可能使得恶意方有机会对每个提案者依次发起DoS攻击,试图瘫痪以太坊网络。为了应对这一问题,Whisk 提出了一个隐私保护的协议,用于在以太坊上选举区块提案者。在这个方案中,验证者利用零知识证明来证实洗牌和随机化过程的诚实性。此外,还有其他方法旨在实现类似的目标,a16z的一篇博客文章中对此进行了介绍。
  • 签名聚合:通过零知识证明聚合签名可以大幅降低签名验证的通讯和计算成本(验证一个聚合证明而不是每个单独的签名)。这一策略已在ZK轻客户端中得到应用,未来有可能进一步扩展到共识机制中

9 - 结算过程

在区块链中,结算过程可视为验证事务正确性和解决争议的最终环节,相当于法律体系中的最高法院。一项交易被认为是最终性的,当它达到不可逆转的状态时(或在使用概率性最终性时,达到难以逆转的程度)。达到最终性的时间依赖于所用的结算层,而这层的性能则依赖于具体采用的最终性规则和区块时间。

特别是在跨rollup交互中,最终性的延迟成问题,rollup在能够确认交易前需要等待以太坊的确认(乐观rollup需要7天,有效性rollup需要12分钟加上验证时间)。这降低了用户体验。为解决这一问题,业界正在尝试采用具有一定安全级别的预确认方案,如Polygon AggLayer 或者zkSync HyperBridge等生态系统特定解决方案,以及Near的快速最终确定层这类通用解决方案,后者通过利用Near’s Fast Finality Layer的经济安全性来连接不同的rollup生态系统。此外,还有使用EigenLayer进行“软确认”的原生rollup桥梁,以避免等待完全最终确定。

现有的 ZK 应用

  • 通过有效性rollup加速结算:与乐观rollup不同,有效性rollup不依赖挑战期来验证状态转变的正确性,而是直接利用零知识证明(ZKP)。这大大加快了在基础层的结算速度(从以太坊的7天缩短到12分钟),并且避免了交易的重复执行。

10 - 安全性

安全性涉及到保障措施的坚固程度,是区块链价值提案中至关重要的一环。然而,建立起加密经济的安全机制并非易事 - 它提高了进入门槛,对那些急需安全保障的应用(如各类中间件和其他第一层协议)构成了创新的阻碍。

共享安全的概念是利用现有的权益证明(PoS)网络的经济安全基础,并让它面临额外的风险(即处罚的条件),而非让每个单独的组件自己尝试建立安全机制。虽然在工作量证明(PoW)网络中也进行过类似的尝试(合并挖矿.)),但由于激励机制不一致,矿工更容易合谋利用协议(由于工作在现实世界中进行,即利用计算力挖矿,因此更难以惩罚不良行为)。与之相比,PoS的安全机制更为灵活,可以被其他协议所利用,因为它同时具有正面(质押收益)和负面(削减)激励。

基于共享安全理念构建的协议包括:

  • EigenLayer力图利用现有的以太坊安全机制来保护广泛的应用程序。该项目的白皮书于2023年初发布,EigenLayer目前处于主网alpha测试阶段,预计在今年晚些时候正式推出主网。
  • Cosmos在2023年5月推出了其跨链安全(ICS)功能,使得Cosmos Hub(Cosmos上最大的链之一,拥有约24亿美元的质押ATOM)能够将其安全机制租赁给其他链。通过使用验证Cosmos Hub区块的验证者集来验证消费链的区块,旨在降低在Cosmos生态上启动新链的门槛。然而,目前只有两条消费链(Neutron和Stride)处于活跃状态。
  • Babylon也在尝试让BTC参与共享安全。为了解决合并挖矿中难以惩罚不良行为的问题,它正在创建一个虚拟的PoS层,允许用户将BTC锁定在比特币的一个质押合约中(无需跨链操作)。由于比特币不支持智能合约,质押合约的惩罚规则通过UTXO交易在比特币脚本中表达。
  • 在其他网络上重新质押的例子包括Near的Octopus和Solana的Picasso。Polkadot的Parachains也采用了共享安全的理念。

现有的零知识证明应用

  • 零知识证明与经济安全的融合:虽然基于零知识证明的安全保障可能更为强大,但对某些应用而言,证明的成本依然过高,且生成证明的时间过长。 Brevis coChain是这方面的一个例子,它是一个从ETH重质押者那里获得经济安全的协处理器,乐观地保证计算的正确性(通过零知识欺诈证明)。dApps可以根据它们对安全性和成本的具体需求,在纯零知识模式和coChain模式之间做出选择。

11 - 互操作性

在一个由多条区块链构成的世界中,如何安全高效地实现互操作性一直是个棘手问题,这从价值28亿美元的跨链桥攻击事件中可见一斑。在模块化系统中,互操作性尤为关键——它不仅需要实现链与链之间的通信,还要让区块链内部的不同组件(如数据层和结算层)能够相互协作。因此,不可能再像在传统集成区块链中那样,仅通过运行一个完整节点或验证一个共识证明来实现。这意味着在系统中引入了更多的复杂元素。

互操作性涵盖了代币跨链和更广泛的跨链消息传递。目前有多种解决方案,各有其在安全性、响应速度和成本方面的权衡。同时满足这三方面非常难,通常需要牺牲其中一方面。此外,不同链间的标准差异也使得在新链上的部署变得更加复杂。

目前对轻客户端(轻节点)的不同类型定义尚不明确,但Fluent & Modular Media的联合创始人Dino的文章对此进行了很好的介绍。当前大部分轻客户端仅验证共识,但理想状态下,我们希望有能同时验证执行和数据可用性的轻客户端,减少依赖度,接近全节点的安全性,同时又不需要高昂的硬件支持。

现有的 ZK 集成

  • ZK轻客户端(共识验证):大多数现有轻客户端能够验证其他链的共识状态,不管是完整的验证人集合还是部分验证人(例如以太坊同步委员会)。通过使用ZKP技术,可以更快、更经济地完成验证,因为原始链上使用的签名系统可能不被目标链直接支持。尽管ZK轻客户端在桥接应用中的重要性预计将增加,但目前其广泛应用仍面临着证明和验证成本以及为每个新链实现ZK轻客户端的挑战。相关协议的例子包括Polyhedra、Avail和Celestia的数据认证桥,以及zkIBC by Electron Labs
  • 存储证明:如前所述,存储证明可以在不使用可信第三方的情况下从区块链查询历史和当前数据。这也与互操作性相关,因为它们可用于跨链通信。例如,用户可以证明他们在一条链上拥有代币,并将其用于另一条链上的治理(无需桥接)。还有尝试使用存储证明进行桥接,例如该解决方案由 LambdaClass 开发
  • ZK预言机:预言机作为连接现实世界数据与区块链的桥梁,ZK预言机通过证明数据的来源和完整性,提高了现有基于声誉系统的预言机模型的安全性和可靠性。

ZKP 可以解决的问题

  • 全功能轻客户端:全功能轻客户端不仅仅是信任其他链的验证者集,它还会检查执行和数据的准确性。这样做可以减少对信任的依赖,使其性能更接近全节点,同时保持较低的硬件需求,让更多人能够运行轻客户端。然而,在大多数链上,特别是在以太坊,验证共识之外的内容仍然成本高昂。而且,轻客户端虽然能验证信息的真伪,但若信息被识别为虚假,还需要额外的机制来处理这一问题。
  • 聚合层:Polygon 的 AggLayer通过聚合证明和统一的桥接合约,旨在实现生态系统内不同L2之间的顺畅互操作性。聚合证明不仅提高了验证的效率和安全性,还确保了依赖的链状态和数据包的一致性,保证了基于其他链无效状态的rollup状态不能在以太坊上进行结算。zkSync的HyperChainsAvail Nexus 也在采用类似的方法,推动了链间互操作性的发展。

当零知识证明彻底改变模块化技术架构时会发生什么?

设想一下,如果生成零知识证明(ZKPs)的速度极快(几乎达到光速)且成本极低(几乎为零),那么最终的局面会是怎样的?也就是说,零知识证明何时会彻底改变模块化技术架构?

总的来说,我们认为在这种情况下会有两个显著的变化:

  1. 所有不必要的重复执行将被消除:通过采用1/N的执行模式(而不是N/N的重复执行模式),我们能大幅降低网络的整体冗余性,从而更高效地利用底层硬件资源。尽管还会有一些额外开销,但这将使区块链在计算效率上更加接近中心化系统。
  2. 大部分应用将依赖零知识证明提供的加密保障,而非经济安全:当生成证明的时间和成本不再是问题时,我们认为大多数应用会选择依赖ZKPs来获得更强的安全保障。当然,这也意味着需要在易用性和开发者友好度上进行改进,以便构建零知识证明应用,不过这正是多个团队正在努力解决的问题。

    还有一个关于隐私(或信息流管理)的复杂条件,零知识证明可以被用于一些客户端证明的隐私应用,这正是像Aleo、Aztec或Polygon Miden等平台正在开发的功能,但要实现广泛的隐私保护,还需要依赖于多方计算(MPC)和全同态加密(FHE)等技术的进步,这可能是未来博客文章的一个话题。

面临的风险

如果我们的预测错误,未来既不采用模块化技术架构也不普遍应用零知识证明技术,会怎样呢?我们的观点面临的一些潜在风险包括:

模块化增加了复杂性

随着链的数量不断增加,用户和开发者都面临挑战。用户需要在多个链(可能还要管理多个钱包)上管理资金,而应用开发者则面临稳定性和可预测性较低的问题,这使得他们很难决定应该在哪个链上进行开发。他们还必须考虑到状态和流动性的碎片化问题。这一点在当前尤为突出,因为我们仍在探索哪些组件适合解耦,哪些应重新耦合。我们认为,简化用户操作和提供安全高效的互操作解决方案是解决这一问题的关键。

零知识证明技术能否达到实用的性能水平?

一个无法避免的问题是,目前生成零知识证明的过程既耗时又成本高昂。对于当前许多应用来说,信任执行环境(TEEs)针对隐私保护的解决方案,或者是基于乐观/加密经济的安全方案在成本上更为合理。

不过,针对零知识证明的软件优化和硬件加速方面正在进行大量的工作。通过证明聚合,即将成本分散到多个参与方,可以进一步降低验证成本,从而降低每位用户的成本。此外,还有可能对底层技术进行调整,以更好地适应零知识证明的验证。但是,零知识证明在硬件加速方面面临的一个挑战是,证明系统的快速进化使得专用硬件(ASICs)的开发变得复杂,因为一旦底层证明系统的标准发生变化,这些硬件很快就会过时。

Ingonyama尝试通过一个叫做ZK分数的比较指标来衡量证明性能,该指标基于运行计算的操作成本(OPEX),并追踪每瓦特的模数乘法操作次数(MMOPS)。想要深入了解这一主题,我们推荐阅读 @Cysic/BJQcpVbXn?ref=blog.succinct.xyz">Cysic和 @ingonyama/revisiting-paradigms-hardware-acceleration-for-zero-knowledge-proofs-5dffacdc24b4">Ingonyama的博客,以及Wei Dai的演讲。

零知识证明提供的隐私保护是否足够?

零知识证明技术只能用来保护个人的隐私状态,而无法用于需要多方在加密数据上进行计算的共享状态(例如一个私有的Uniswap)。要实现完全的隐私保护,还需要全同态加密(FHE)和多方计算(MPC)技术的支持,但这些技术在成本和性能上还需要大幅提升才能广泛应用。尽管如此,对于那些不需要共享私有状态的特定场景,如身份验证或支付,零知识证明仍然是一个有用的工具。不是所有的问题都必须用同一种方式来解决。

总结

我们目前的情况如何呢?尽管我们正在取得一天天的进展,但仍有大量工作待完成。最迫切需要解决的问题是,如何在保持速度和成本效率的同时,确保不同模块化组件之间能够安全地交换价值和信息,并且如何让这一切对最终用户透明,避免他们需要处理跨链操作、钱包切换等技术细节。

目前我们还处于探索阶段,但随着我们逐渐明确每个应用场景中最佳平衡点的位置,局势将逐步稳定。这将为形成标准(无论是非正式的还是正式的)提供机会,为在这些区块链上构建的开发者提供更多稳定性。

虽然本文特别聚焦于零知识证明,我们也对现代密码学解决方案(包括ZKPs、多方计算(MPC)、全同态加密(FHE)和可信执行环境(TEE))如何协同工作表示出越来越多的兴趣——这是我们已经开始见证的现象。

虽然这篇文章特别关注 ZKP,但我们也越来越感兴趣现代密码学解决方案(ZKP、MPC、FHE 和 TEE)最终将如何一起发挥作用 - 我们已经看到了这一点。

感谢您的阅读!

声明:

  1. 本文转载自 [equilibrium],著作权归属原作者[Hannes Huitula],如对转载有异议,请联系Gate Learn团队,团队会根据相关流程尽速处理。
  2. 免责声明:本文所表达的观点和意见仅代表作者个人观点,不构成任何投资建议。
  3. 文章其他语言版本由Gate Learn团队翻译, 在未提及Gate.io的情况下不得复制、传播或抄袭经翻译文章。
即刻開始交易
註冊並交易即可獲得
$100
和價值
$5500
理財體驗金獎勵!