第3课

证明网络:连接协处理器与区块链

本模块解释了证明网络如何作为中间件连接 ZK 协处理器与跨区块链的智能合约。它涵盖了证明者、验证者、中继者和协调者的角色,并探讨了 Succinct、ZeroGravity 和 Lagrange 等现实世界实现。

什么是证明网络?

证明网络是一个链下基础设施层,协调零知识证明的生成、验证和交付,服务于区块链应用程序。它作为 ZK 协处理器和区块链层之间的连接组织,确保在链下生成的证明能够以可扩展和去中心化的方式在链上高效验证。

ZK 协处理器能够为任意计算生成密码学证明。然而,这些系统需要一种方法将证明路由到正确的链上环境、管理数据依赖性,并确保证明按时生成且具有完整性。证明网络通过充当去中心化或半去中心化层来解决这些需求,管理证明者、验证者和相关的协调组件。

每个智能合约、rollup 或应用程序不必设置自己的隔离证明基础设施,证明网络允许多个实体接入共享的证明者生态系统。这减少了重复,降低了成本,并为零知识应用程序创建了更加模块化和可组合的生态系统。

它们如何连接协处理器和智能合约

证明网络的角色是接收由 ZK 协处理器生成的证明,并将其以智能合约可以使用的格式交付给链上验证者。这个过程涉及几个步骤,通常对最终用户是抽象的。

首先,用户或合约通过前端或 API 向 ZK 协处理器提交请求。协处理器执行所需的逻辑并生成证明。该证明不直接发布到链上,而是发送到证明网络协调者,协调者确保证明是有效的、与正确的计算相关联,且不重复。

一旦验证,证明网络要么自己将证明发布到链上,要么将其返回给用户或中继者,后者将其包含在交易中。智能合约接收证明并使用预加载的验证密钥对其进行验证。如果验证通过,合约基于受信任的结果继续其逻辑。

这种架构使 ZK 基础设施可扩展且可组合。开发者不需要将特定电路或证明系统硬编码到每个智能合约中,而是可以依靠证明网络作为中间件层,将链下计算连接到链上状态转换。

关键部分:证明者、验证者、中继者、协调者

典型的证明网络包括几个功能角色。证明者负责生成密码学证明。它们运行由应用程序定义的计算,并使用密码学库创建证明,证明计算被正确执行。根据网络设计的不同,证明者可能是专门的节点、GPU 工作者或可信执行环境。

验证者是链上智能合约,检查提交的证明的有效性。它们是轻量级、确定性和安全的。一旦证明通过验证,相关的计算被区块链接受为有效。

中继者是处理证明基础设施和区块链之间通信的链下参与者。它们将证明提交给适当的合约,包含必要的元数据,并确保及时交付。在某些网络中,中继者是可选的;在其他网络中,它们是受激励的参与者。

协调者管理请求与证明者的匹配。它们接收用户查询或计算请求,并将其分配给可用的证明者。协调者还可以聚合结果、去除重复的相同计算,并提供可用性保证。在去中心化网络中,这个协调层可以通过质押和罚没机制来确保完整性。

这些角色的分离允许灵活的架构。在较小的网络中,单个参与者可以执行多个角色,或者在更大的系统中,角色可以分散在许多参与者之间。这种模块化是在不同区块链和用例中扩展证明系统的关键。

现实世界的例子:Succinct、ZeroGravity、Lagrange

几个项目正在生产环境中构建证明网络。Succinct 的 Prover Network 允许开发者按需生成 ZK 证明并将其推送到任何兼容 EVM 的链。它支持去中心化证明,旨在使任何链上应用程序都可以通过简洁的证明进行验证。Succinct 还在 Tools for Humanity 的 World Chain rollup 实验上试用了其基础设施。

ZeroGravity 正在构建一个完全去中心化的证明层,支持多个证明后端。它专注于互操作性,旨在将 ZK 协处理器与以太坊、rollup 和模块化区块链(如 Celestia)连接起来。通过抽象证明生成和验证堆栈,它允许应用程序接入统一的 ZK 层。

Lagrange Network 专注于可验证的数据可用性和状态查询。它使应用程序能够请求对跨链查询的证明支持的回答,例如验证其他链上的代币余额或 NFT 所有权。Lagrange 使用模块化方法,允许开发者根据应用需求选择证明系统和数据源。

这些网络中的每一个都解决了问题的不同层面。有些专注于计算,有些专注于数据访问,还有一些专注于协议级基础设施。它们共同塑造了一个生态系统,在这个生态系统中,零知识计算可以成为区块链设计中的标准化、可重用层。

原生验证 vs. 模块化验证

证明网络与区块链交互的方式有两种主要模型:原生验证和模块化验证。

原生验证意味着区块链本身,通常在协议层面,支持零知识证明的验证。以太坊就是这种情况,它包含用于验证 Groth16 和 PLONK 证明的预编译合约。原生支持确保更快的验证和更低的 gas 成本,但它需要标准化并限制可以使用的证明类型。

模块化验证采用不同的方法。它将证明网络视为可以使用合约或桥接连接到任何链的外部服务。链上验证者合约可能由应用程序本身部署,证明格式在链下定义。这种模型更加灵活,允许开发者使用新的证明系统和自定义逻辑。然而,它带来了更高的成本和复杂性。

在原生验证和模块化验证之间的选择取决于应用程序的需求。原生验证适合具有可预测证明格式的高交易量应用程序。模块化验证更适合研究、自定义逻辑或快速发展的系统。证明网络越来越多地设计为支持这两种模型,提供后备路径和兼容性层。

随着 ZK 技术的不断发展,证明网络正在成为可扩展、无需信任计算的关键基础设施。它们使开发者能够构建强大的链下系统并将它们安全地连接到区块链环境。这样,它们将零知识证明从密码学概念转变为生产就绪的技术栈。

免责声明
* 投资有风险,入市须谨慎。本课程不作为投资理财建议。
* 本课程由入驻Gate Learn的作者创作,观点仅代表作者本人,绝不代表Gate Learn赞同其观点或证实其描述。