概述

证明以太坊 PoS 的全节点对于构建 zkBridge 以及以太坊上的任何互操作协议至关重要。同步委员会对于这些目的来说是不够安全的,因为同步委员会的加密经济安全性(当前仅约 3200 万美元的 ETH 质押)远不理想。任何依赖以太坊上的同步委员会部署的跨链基础设施、预言机和数据处理服务都是不安全的。

Polyhedra Network 设计并实施了zkBridge系统,以证明以太坊 PoS 的全节点(当前总共质押的 ETH 的总价值约为 400 亿美元)。Polyhedra Network 在LayerZero上的所有以太坊及其 rollups(例如 Arbitrum,Linea,Optimism,zkSync,Mantle 等)的zk 客户端都将基于以太坊全节点的 ZK 证明。Polyhedra Network 采用了其高效的证明系统 deVirgo,该系统的效率足以在 10 秒内生成 Ethereum 全节点的证明,证明速度足以追赶上 Ethereum 区块的出块速度。

以太坊全节点的零知识证明实现将使以太坊及其 rollups 能够实现完全无需信任、高效且安全的互操作性。Polyhedra Network 的系统还允许任何 L1 和 L2(例如 BNB Smart Chain 和 opBNB)以及任何应用传输所有当前和历史的以太坊数据。这使得智能合约可以无需信任地访问以太坊数据以实现各种计算逻辑,同时其安全性由以太坊 PoS 全节点保证。

证明以太坊 PoS 的全节点对于安全性至关重要

与以太坊轻客户端相比,以太坊全节点证明具有更高的安全保证。以太坊轻客户端的安全性完全依赖于一个被称为「同步委员会」的系统。然而,同步委员会的规模只有 512 个成员,大约每天(即大约 27.3 小时)轮换一次。总质押资产只有 16384 个 ETH(512 * 32),与连接以太坊生态系统与其他网络的跨链桥每日交易量(超过 3 亿美元)相比,这个数字非常小(当前只有 3200 万美元的 ETH 被质押)。

另一个问题是同步委员会并不总是对区块进行签名(例如区块17239413和区块17239414)。统计数据显示,1.6% 的区块没有被同步委员会的绝大多数成员签名,而且这个问题平均每 12 分钟就可能发生一次。

证明以太坊全节点的系统概述

为了解决这些问题,Polyhedra Network 决定摒弃使用同步委员会,并利用自以太坊 merge 以来的以太坊区块链的全 PoS 共识。这将证明在以太坊主网上的每个区块中包含的超过 20,000 个签名(比 512 个同步委员会增加了 40 倍)。

为了处理 40 倍的工作量增加,Polyhedra Network 采用了其独特的证明系统——deVirgo。这个证明系统拥有无与伦比的处理能力,得益于其理论上的改进和显著的工程进步。deVirgo 协议从理论上消除了对非常大的 FFT 或 MSM 的需求,使证明生成时间与签名数量呈线性关系。该协议已在 zkBridge 上部署,并支持并行和分布式计算。

在十亿规模的电路上进行的证明系统实验显示其证明生成时间少于 10 秒,可以追上以太坊区块生成的速度(约 12 秒),而且不会增加证明大小或验证时间。

使用高效证明系统证明以太坊全节点

为了快速地证明以太坊全节点,Polyhedra Network 使用了其高效的证明系统 deVirgo。deVirgo 是Virgo协议的分布式版本,旨在通过将计算分布在多台机器上来并行化 GKR 协议。通过使用 deVirgo,zkBridge 可以支持不同区块链之间的快速和灵活的互操作性,而无需依赖外部的信任假设。zkBridge 使用递归证明来证明之前由 deVirgo 生成的证明,从而递归地证明了相应的区块头。递归证明将链上验证成本降低到在任何 EVM 兼容的区块链网络上约 220K 的燃料。

deVirgo 的关键性突破在于确认了以太坊全节点的共识可以表示为数据并行电路的性质。假设有一个数据并行算术电路以及 N 台机器,deVirgo 证明系统可以将数据并行电路分成 N 个子电路,每台机器只计算一个子电路。以太坊全共识的验证就是这样的一个数据并行电路,其中包含了超过 30000 个相同的签名验证算法和哈希。

deVirgo 的核心是一种分布式 sumcheck 的技术。在 deVirgo 中,sumcheck 协议被分为两个阶段。在第一阶段,每台机器处理自己的子电路,并集体生成一个聚合证明。剩余的工作对于一台机器来说已经足够小。该机器此时即可执行第二阶段,完成分布式 sumcheck。

评估以太坊全节点 ZK 证明的性能

为了评估在 BLS 签名聚合上的实现,Polyhedra Network 使用两个 AMD EPYC 7763 CPU 测量了 deVirgo 证明和递归验证的运行时间。结果如下:

Polyhedra Network 已经在 zkBridge 上部署了以太坊全节点证明系统。zkBridge 将以太坊设置为发送链,将其他网络如 BNB Chain 和 Avalanche 等设置为接收链。结果显示,在包含所有组件的延迟的情况下,zkBridge 可以在 12 秒内生成以太坊全节点的证明,并在 BNB 链和其他网络上验证区块头。

Polyhedra Network 将继续优化其实现。计划在不久的将来通过 GPU 加速以降低前期成本并实现更好的去中心化。不过当前的 zkBridge 证明系统已经足够高效,可以跟上以太坊的出块时间。

总结

通过实现以太坊全节点的证明,Polyhedra Network 使用 zkBridge 实现了完全无需信任、高效且安全的互操作性,以连接以太坊生态系统(包括 L1 和 L2)与其他网络。此外,Polyhedra Network 在 LayerZero 上的所有以太坊及其 rollups(例如 Arbitrum,Linea,Optimism,zkSync,Mantle)的 zk 客户端都将配备以太坊全节点的 ZK 证明。这将以太坊全节点的质押安全性(约 400 亿美元)带入 LayerZero 上的 zk 客户端。