zkVerify:模块化时代缺失的一层

本文分析了在以太坊上验证 ZK 证明的成本高昂且效率低下的问题,并介绍了 zkVerify,一个专为 ZK 证明验证而构建的 L1 区块链,旨在降低验证成本、简化集成流程并提高 ZK 应用的可扩展性。zkVerify 通过提供通用的 ZK 验证层,使开发者能够一次证明,随处验证,从而显著改善开发体验,并为 ZK Rollups 和 zkApps 带来诸多益处。

介绍

ZK 正在吞噬基础设施,但在以太坊上验证证明仍然是存在问题的:它速度慢、成本高,而且对于开发者来说集成起来很痛苦。EVM 并非为此而生。它缺乏通用的预编译合约,而且其费用市场将每个 ZK 证明都视为奢侈品。然而,ZK Rollup(ZKR)和 zkApp 不得不参与其中,同时消耗数百万的 gas。

我们从一开始就一直在追踪 zkVerify。首份深度报告 阐述了其架构:一个为证明验证而构建的专用 L1。Q1 备忘录 介绍了集成流程。本文着重关注一个被忽视的真正痛点:验证成本。在这里,zkVerify 是少数几个在协议层面解决此问题的项目之一。

然而,降低成本只是一个下游效应,而不是主要解锁。在底层,zkVerify 消除了 ZK 堆栈中的整个复杂性层。开发者不再需要部署验证器或维护特定于电路的合约。有了 zkVerify,就无需再徒劳地祈祷 L1 为你的证明系统添加预编译合约了。

与此同时,以太坊正在 全力投入 ZK。从基金会的路线图可以清楚地看到一件事:ZK 不再是可选项。证明将支撑堆栈的每一层,从共识到客户端隐私,为以太坊的 L1 zkEVM 转型奠定基础。

但是,如果不重新思考我们如何验证证明,这一切都无法大规模运行......

现在很明显,生态系统需要一个通用的 ZK 验证层。zkVerify 正是提供了这一点,允许你证明一次并在任何地方验证。DevEx 提高了一个数量级,并且开销负担消失了。

之前,我们研究了 zkVerify 的架构和集成流程。在本备忘录中,我们将重点关注证明领域中存在的问题、zkVerify 如何解决这些问题,以及为什么这改变了每个 ZKR、zkApp 和任何押注于 ZK 的协议的游戏规则。

证明验证:一种成本高昂的集成噩梦

ZK 证明正成为核心基础设施。而验证,曾经被认为是廉价且可以忽略不计的,现在被证明是一个主要的瓶颈。无论是在技术上还是在经济上。每个集成 ZK 证明的协议都需要计划这笔成本,否则就有可能为了证明正确性而损失资金。

任何考虑 ZK 原生功能的应用程序都必须了解围绕它的经济学。因为如果你现在不付费,你的用户很快就会付费。从实际的角度来看,多份报告现在预测证明市场将增长为一个价值数十亿美元的经济体:

2

  • Aligned 项目预测到 2030 年将有 870 亿个 ZK 证明,每个证明的市场出清价格为 0.12 美元,仅 ZK 证明就将产生 102 亿美元的市场规模。
  • Chorus One 基于实际批量成本(约 0.001 美元/证明)给出了一个更为保守的估计,到 2030 年将达到 13.4 亿美元。
  • Horizen Labs (zkVerify) 估计到 2028 年将花费超过 15 亿美元,这仅仅是由 ZKR 和 zkApp 的安全成本驱动的。

但问题是:这些都无法在以太坊上扩展。以太坊,尽管其占主导地位,但仍然是一个验证 ZK 证明的糟糕场所。缺乏通用的验证系统和对多种预编译合约的支持使得证明成本高昂,并且集成起来像一场噩梦。

如今,几乎每个生产中的 ZK 系统都要支付高昂的 gas 成本来运行复杂的链上操作,以验证以太坊上的 ZK 证明。这种情况短期内不会改善。预编译合约至关重要,因为它们有助于优化资源密集型操作,例如涉及椭圆曲线的操作(如 SNARK 证明)。

为什么会这样?因为 EVM 不是为 ZK 构建的,它缺乏大多数 ZK 证明的预编译合约。这意味着开发者每次都必须为每个电路手动部署自定义验证器合约。

假设以太坊为 Groth16 添加了一个预编译合约。它只会使 Groth16 用户受益,但会将其他所有人排除在外。Plonk、STARK 和 Halo2 仍然不受支持。期望以太坊支持每个证明系统是不现实的。

即使以太坊想要跟上,添加预编译合约也是一个缓慢、需要大量治理的过程。等到添加一个预编译合约时,生态系统可能已经转向了更新的证明系统。瓶颈变成了以太坊本身。

因此,验证仍然成本高昂。Groth16 证明的成本约为 20 万至 30 万 gas(在 30 gwei 和 3000 美元 ETH 时约为 20 美元)。STARK 的成本可能高达 500 万 gas,即每个证明约 200 美元。

更糟糕的是,以太坊还有另一个瓶颈。区块 gas 限制为 3000 万 gas(最近增加到 3600 万)。考虑到没有其他应用程序使用区块空间,一个区块只能容纳约 100 个 Groth16 证明,或者只有 6 个 STARK。但是以太坊的区块空间永远不会只为 ZK 证明保留,每个应用程序和用户都在竞争成为 3000 万 gas 的一部分。每次都是如此。

随着越来越多的 ZK 应用程序上线,对验证的需求也在增长。但是以太坊的架构无法跟上。这是一个共享链,空间有限,并且不原生支持大多数证明。

一个拥有不受争议的区块空间的专用验证层不仅有用,而且是迫切需要的。一个支持多种证明系统、维护新的验证器、随之发展并仅为证明提供不受争议的区块空间。这就是 zkVerify。

拥有一个专用的验证层似乎是模块化堆栈论点的自然结论。由于此层仅验证证明,因此其区块空间不与不相关的应用程序或活动共享。从 L1 卸载证明验证既可以降低名义成本,又可以通过将费用与 gas 波动隔离来稳定成本。

在过去的几年里,ZK 协议(主要是汇总)已经烧掉了超过 5500 万美元的 gas,仅仅是为了验证并将证明发布到以太坊上。而且这个数字还在不断攀升。随着越来越多的协议上线并且采用率提高,很明显,迫切需要一种可扩展的方式来降低这些成本。否则,经济学就会崩溃,进入壁垒仍然很高,并且成本仍然令人望而却步。

目前,ZK 协议的用户超过 4300 万,到 2025 年 6 月,累计地址数超过 1.78 亿。活跃用户在去年 3 月达到 760 万的峰值,高于 2023 年 4 月的约 250 万。

值得注意的是,这不是一个完整的列表。它是通过分析 ZK 领域的主要领导者并确定哪些应用程序正在使用哪些证明系统来衡量的:

  • SNARK: ZKSync Era、Polygon ZKEVM、Aztec、Linea、龙卷风现金、Loopring、世界币(主要在 Optimism 上结算证明)、Railgun、Sismo。
  • STARK: StarkNet、ImmutableX、dYdX、Rhino。

ZK 身份应用程序(如世界币)验证 ZK 证明以确保用户的独特性,而无需泄露个人数据。每个证明可能会消耗超过 20 万到 30 万 gas 单位。

在网络拥塞时,gas 价格已达到 100 Gwei 以上。这意味着验证单个证明的成本可能在 20 美元到 60 美元之间,甚至更高。为了缓解成本,世界币启动了一个基于 Optimism OP 堆栈的 L2。虽然这可以在短期内缓解问题,但并不能解决数十亿美元的用户流动性和资产仍然存在于以太坊而不是其 L2 上的事实。

ZK-应用程序 vs ZK-基础设施

ZK 协议可以分为两类:

(1) 基础设施(Infra) 提供使用零知识的基础技术和工具,以及

(2) 应用程序(Apps) 或构建在基础设施之上的协议。

阻止构建者今天启动 ZK 协议的主要障碍是证明器和验证成本。由于 Succinct 和 RISC Zero 等团队(以及许多其他团队)最近在 ZK 技术方面的发展,证明成本已大大降低。但是,验证成本仍然是启动 ZK 协议的一个高门槛。如前所述,EVM 上的验证受到预编译合约、gas 成本和每个区块的 gas 限制的限制。这就是 zkVerify 的用武之地。

2023 年,ZK 应用程序的总用户数略低于 6.3 万。从那时起,用户群显着增长。在 ZK 基础设施层面,已有超过 2000 万个地址触发了交易——主要是 ZKR 的用户。在应用程序层面,已有超过 2300 万个地址与龙卷风现金或 Railgun 等 ZK 驱动的应用程序进行了交互。

2024 年的 ZK 应用程序:

2023 年的 ZK 应用程序:

基础设施协议目前是 ZK 技术的主要用户。尽管基础设施层面的费用大大降低,但大部分结算费用(>70%)由 ZK-基础设施协议(如 ZKR)支付。ZK 生态系统中的大多数活动和经济价值都集中在构建和维护基础设施上,而不是特定的 zkApp。

汇总结算成本和摊销的二分法

在生产中,像 zkVerify 这样的验证层将能够提高带宽并降低链上 ZK 证明的成本。在 zkVerify 的初始基准测试中,Groth16 证明的成本可以从约 20 万 gas 降低到约 1.8 万 gas,降低了 11 倍。

验证成本在 gas 方面是恒定的,但在复杂性方面很高。EVM 缺乏通用验证器,不支持多种证明系统,并且需要为每个电路进行昂贵的链上操作。因此,开发者最终陷入了维护的噩梦:为每个新电路或协议迭代部署、更新和测试自定义验证器合约。

作为 ZK 验证的专用 L1,zkVerify 卸载了成本负担和运营开销。证明在以太坊之外提交,并在一个具有原生支持多种证明系统的专用环境中进行验证,并且可以根据需要将认证中继回以太坊或任何其他链。

开发者无需在以太坊上与特定于电路的验证器合约作斗争,只需将其证明发送给 zkVerify 即可。无需重新编码、重新部署或重新审计。证明经过一次验证并在全球范围内证明,从而为 ZK 应用程序和 ZK 基础设施都打开了设计空间。

ZKR 在将证明发布到以太坊时面临两个主要成本:(1) 链上证明验证和 (2) 数据可用性 (DA)。DA 成本是可变的,并且正在通过各种以太坊升级来解决,例如 Proto-Danksharding,它可以提高链上数据存储和访问的效率,而不是直接提高 ZK 证明验证的效率。证明成本可以通过将证明验证外包给像 zkVerify 这样的专用层来降低。

ZKR 在证明验证上的花费仍然高于 blob 提交。五月是唯一一个月两种成本接近的月份,即使那样,验证仍然更高。真正的峰值发生在十二月:在 ZKP 验证上花费了 25 万美元,而在 blob 上仅花费了 13.7 万美元。

尽管以太坊推出了 blob 以降低 DA 成本,但验证成本并没有消失。如果有什么不同的话,它们已经成为主要的支出。六月显示了这种趋势的延续:blob 支出下降,ZKP 仍然顽固。这是 zkVerify 试图解决的核心问题之一。

从长远来看,用于验证 ZK 证明的 gas 份额仍然相对较低。虽然在 2024 年初,总区块空间中用于 ZK 证明验证的 gas 份额达到了约 12% 的历史最高水平,但很快就回落了。从那时起,用于 ZK 证明验证的 gas 份额已稳定在较低水平。目前,该份额约占总区块空间的 0.5%。

下降到稳定的 0.5% 表明,虽然 ZK 协议被积极使用,但它们仅占以太坊上 gas 消耗的一小部分。这意味着 ZK 证明目前不是网络拥塞的主要驱动因素——或者采用和使用仍然受到高成本和技术障碍的限制。

一个专用的验证层使 ZKR 的经济性更加有利。让我们以 Starknet 为例。他们每天仅使用主网上的这个 验证器地址 在以太坊上验证其状态 3 次。Starknet 与其他 StarkWare ZKR 共享一个通用的 solidity 验证器。通过这样做,计算完整性声明被组合在一个由同一验证器检查的证明中。

为什么?因为 验证过程的 gas 成本太高了。如果像 Starknet 这样的新系统有自己的验证器,它将不得不独自承担所有验证 gas 成本。这将导致每个交易的成本高得令人难以接受。相反,Starknet 和 StarkWare ZKR 依靠共享合约的验证器来摊销成本。

由于成本如此之高,摊销是一个关键主题。ZKR 在单个证明中包含的交易越多,每个交易的成本就越小。因此,ZKR 有动力在一个批次中处理尽可能多的交易,以降低每个交易的验证成本。

以这种方式摊销成本在理论上听起来很棒,并且在实践中也有效,但会带来tradeoff。证明提交的频率增加以批量处理更多交易。这对用户不利。

证明提交的频率直接影响终端用户的提款时间,因为在新状态经过验证并提交给 L1 之前,无法提取任何资产。每次证明验证之间有 8 小时的时间间隔,用户的资金将被锁定,直到验证完成。

zkVerify 如何使 ZK 协议受益

zkVerify 直接解决了基于 ZK 的系统的最痛苦的瓶颈:成本、延迟、集成和可扩展性。对于花费数百万美元 L1 gas 来证明正确性的汇总和 zkApp 来说,zkVerify 提供了即时的性能升级。

我们认为,zkVerify 可以通过两种实际方式使 ZK 协议(应用程序/基础设施)受益:

  1. 在以太坊上提交证明会更加便宜和快速,从而可以更频繁地提交。这意味着提款也可以 更快地 处理,从而实现快速的最终性。用户不必等待几个小时才能提交证明以推进状态。
  2. L2 在 L1 上降低的验证成本导致 L2 用户的交易费用降低。同样,ZK 应用程序降低的验证成本导致底层应用程序的用户费用降低。

目前,Starknet 需要支付 154 美元(4 Gwei / 2600 美元的 ETH 价格)的费用才能在以太坊主网上提交和验证单个证明。单个证明提交在一个区块中消耗 1200 万 gas。Starknet 每天提交 3 个 STARK 证明,总共消耗 3600 万 gas。按年计算,这表明他们每年花费大约 ~16.8 万美元的费用来验证证明。请记住,这是假设以太坊全年保持在 4 Gwei 的最佳情况,但这不是很现实。

以太坊上的STARK 证明验证交易

如果 Starknet 使用 zkVerify 来提交证明,他们每年将花费约 2 万美元。减少了约 88%,这可以通过降低 L2 费用来回馈给他们的用户。但真正的节省不仅仅是金钱,因为开发人员的隐藏成本永远是 时间

对于 zkApp 开发者来说,编写和维护验证器合约是一个持续的噩梦,尤其是在处理多个证明系统或跨基础层迁移时。zkVerify 消除了这种复杂性,因为开发者只需通过 API 发送他们的证明(和密钥),zkVerify 负责其余的工作:认证、Merkle 包含和中继到结算合约。这意味着不再需要为每个电路、链或升级重写、重新部署或调试验证器。

由于不需要 SNARK 转换,开发者也可以原生验证 STARK 证明。如今,许多基于 STARK 的协议都会求助于 STARK 到 SNARK 的转换,仅仅是为了让以太坊接受证明,从而增加了延迟和开销。zkVerify 按原样接受 STARK 证明。

验证逻辑不断发展,证明系统升级,曲线发生变化,递归成为标准。zkVerify 没有强迫每个协议孤立地适应,而是将问题模块化。其无分叉架构意味着可以添加新的 pallet 和证明格式,而不会破坏应用程序。开发者可以一次性接入 zkVerify,并获得面向未来的对完整 ZK 堆栈的访问权限。

zkVerify 解锁了更好的用户体验、更快的最终性和更简单的开发工作流程。对于希望在不耗尽验证成本或与基础设施复杂性作斗争的情况下进行扩展的 zkApp 和汇总来说,集成 zkVerify 应该是不费吹灰之力的。

还有一种观点认为,zkVerify 非常适合以太坊的最终形态。正如我们在引言中引用的那样,以太坊最近的帖子制定了一个新的路线图。它将 ZK 置于以太坊长期未来的核心地位,贯穿堆栈的各个层面。从 L1 zkEVM 和实时证明到签名聚合、客户端隐私以及使用 zkVM 进行的家庭质押,方向是明确的。

然而,验证这些证明 仍然无法在以太坊上扩展。EF 承认,虽然证明生成正在快速改进,但验证(尤其是 zkVM)仍然未得到优化。为了解锁这种客户端多样性,以太坊需要一个灵活的验证层。

zkVerify 是这一愿景的显而易见的对应物,因为它提供了以太坊实现其 ZK 原生未来所需的模块化、与系统无关的验证层。它允许验证者、汇总和应用程序验证任何证明系统,而无需等待预编译合约、硬分叉或自定义验证器。它通过两种关键方式补充了 EF 的路线图:

  1. 模块化。 通过将证明验证卸载到专用层,zkVerify 允许以太坊扩展 ZK 吞吐量,而不会增加 L1 gas 成本或锁定到单个证明系统。不同的 zkVM 可以接入 zkVerify,而无需等待协议升级。
  2. 抽象化。 zkVerify 完全抽象化了验证器部署,因为无需为每个新电路编写 Solidity 验证器合约或审计。开发者可以更快地迭代、更快地集成并避免开销。节省成本是更好的设计选择带来的巨大下游好处。

EF 正在大力押注 zkVM 和客户端多样性。zkVerify 是使该赌注可以扩展的一层。

展望未来

很明显,以太坊上的证明验证无法单独扩展。每个新的证明系统都迫使开发者重新发明轮子。汇总正在限制证明提交,而 zkApp 则因特定于电路的集成债务而陷入困境。

zkVerify 打破了这个循环。

  • 原文链接: members.delphidigital.io...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
delphidigital
delphidigital
江湖只有他的大名,没有他的介绍。