在迅速发展的区块链技术领域里,众多协议已被提出并实施,然而每个协议都采用了不同的共识方法——从计算型的工作量证明(Proof-of-Work)到激励型的权益证明(Proof-of-Stake),等等。由于协议在共识、安全性、编程语言等各个方面存在差异,自区块链早期以来,流动性和资产逐渐在不同链之间分散。跨链桥成为解决这一问题的方案,它能够减少碎片化,整合各个区块链之间的流动性。其中一种跨链桥协议就是 Wormhole,它便于加密货币和非同质化代币(NFT)在不同智能合约区块链(如 Solana 和以太坊)之间的流通。

跨链桥的当前风险

跨链桥可说是相当棘手的。确保其跨链桥的安全性是一个重要挑战,因为需要保护存储在智能合约或中央托管方中的资产。由于桥梁的资金集中存储,历来都是黑客的目标。桥梁不断演进的设计也为攻击者寻找新的漏洞和漏洞利用提供了可能。在 2022 年,Wormhole 曾因安全修复上传到 Github 后被黑客攻击,造成 3.25 亿美元损失,黑客得逞后带走了这笔资金。Chainalysis 报告称,跨链桥攻击在2022年占据了总盗窃资金的 69%。

图片来源 Chainalysis
图片来源 DEFIYIELD

另一个面临的挑战是性能不佳与对中心实体的依赖。目前的跨链桥面临着可扩展性问题。为了更新和调整两个链的状态,跨链桥需要大量的计算能力和存储容量,导致了重大的开销。为了减轻这种负担,一些跨链桥已经转向了委员会式的方法,即仅由有限的一组验证者(甚至只有多签持有者)来批准状态转移。然而,这种方法使它们暴露于漏洞和潜在攻击之中。

正是这些问题促使开发人员开始寻求替代解决方案,特别是利用零知识密码学的解决方案。在这些方法中,利用 zk-SNARKs 技术消除了委员会模型的需求,同时确保网络的可扩展性。

基于 zk-SNARKs 技术的跨链桥

当前,有几个项目正在跨不同生态系统和开发阶段开发基于 ZK 技术桥解决方案,如:

  • Succinct Labs

  • zkIBC by Electron Labs

  • zkBridge by Polyhedra Network

这些倡议充分利用 zk-SNARKS 技术来革新跨链桥的设计。然而,为了成功实施所有这些方法,一个关键的要求是轻客户端协议 - 这是一种连接到全节点并促进与区块链交互的软件。该协议确保节点可以高效地同步已确认区块链状态的区块头。

在将 zk-SNARKs 技术应用于跨链桥时,会出现两个主要挑战。首先,与 rollups 相比,跨链桥需要更大的电路规模。其次,需要解决最小化链上存储和计算开销的问题。

Succinct Labs

Succinct Labs 正在开发适用于以太坊 2.0 的 PoS(权益证明)共识的轻客户端,为 Gnosis 和以太坊之间建立一个信任最小化的跨链桥。这个跨链桥利用 zk-SNARKS 的高效性,在链上以简洁的方式验证共识有效性证明。

该设置涉及一个包含 512 个验证者的同步委员会,这些验证者每隔 27 个小时随机选出。这些验证者负责在其分配的时间段内对每个区块头进行签名。如果超过 ⅔ 的验证者对每个区块头进行签名,以太坊的状态被认为是有效的。验证过程主要包括验证以下内容:

1. 区块头的 Merkle 证明

2. 同步委员会中验证者的 Merkle 证明

3. BLS 签名以确保同步委员会的正确轮换

这个过程产生了显著的计算成本,因为其基本概念是轻客户端利用 zk-SNARK(Groth16)来创建一个常量大小的证明(有效性证明),可以在 Gnosis 链上高效地进行验证。证明是通过链下计算生成的,其中包括构建用于验证验证者及其签名的电路,然后生成 zk-SNARK 证明。随后,证明和区块头被提交到 Gnosis 链上的智能合约进行验证。

采用 zk-SNARKs 有助于减少存储开销和电路复杂性,从而降低信任假设。尽管如此,这种方法专门针对以太坊 2.0 共识协议和 EVM 进行了优化,可能需要更大的适应性才能适用于其他区块链网络。

就在今年 7 月,Succinct Labs 做出了重大的宣布,确认其以太坊 ZK 轻客户端已正式整合到主网上,以增强 Gnosis Omnibridge 的安全性。这一整合将使 Succinct Labs 负责保护 Gnosis Omnibridge,目前该跨链桥的总锁定价值(TVL)超过了4000万美元,并且迄今为止已促成了超过 15 亿美元的稳定币资产流动。

zkIBC by Electron Labs

Electron Labs 正在构建一座起源于 Cosmos SDK 生态系统的跨链桥,该生态系统是一个面向应用特定区块链的框架。其跨链桥将利用 IBC(跨链通信)技术,实现在框架内定义的所有独立区块链之间的无缝通信。

但是,将 Cosmos SDK 的轻客户端实现到以太坊中充满了困难。Cosmos SDK 使用的Tendermint 轻客户端在扭曲 Edwards 曲线(Ed25519)上运行,而这是以太坊区块链不原生支持的曲线。因此,在以太坊的 BN254 曲线上验证 Ed25519 签名是昂贵且低效的。为了克服这个障碍,Electron Labs 正在基于 zk-SNARKs 技术开发一个解决方案。这个系统将生成一个链下的签名有效性证明,并且只在以太坊链上对证明进行验证,从而有效地解决了这个问题。

通过采用这种方法,可以高效且具有成本效益地在以太坊区块链上验证 Cosmos SDK 中的Ed25519 签名,同时避免引入任何额外的信任假设。不过,这种方法可能面临的一个潜在问题是延迟。Cosmos SDK 中的区块生成速率为7秒,为了跟上这个速率,证明的时间必须大大缩短。Electron Labs 打算通过使用多台计算机同时生成证明,然后将它们合并为单个 zk-SNARK 证明来解决这个问题。

zkBridge by Polyhedra Network

与其他两种行业领导的基于零知识证明的跨链桥构造相比,zkBridge 凭借其灵活多样的框架脱颖而出,有助于在其平台上开发多个应用。它有效地利用 zk-SNARKs 建立高效的通信过程,使得证明者能够令接收链相信特定状态转换发生在发送链上。zkBridge 框架由个关键组件组成:

  1. 区块头中继网络:这个组件从发送链获取区块头,生成用于验证区块头的证明,然后将区块头和证明都传输到接收链上的更新合约。

  2. 更新合约:这个部分维护一个轻客户端状态,并在关联证明被验证后自动纳入发送链的区块头。此外,它也保持发送链当前的主链状态更新。

图片来源 Polyhedra Network

zkBridge 与其他行业领导的方法主要的区别在于,zkBridge 只需要中继网络中存在一个诚实的节点,并假设 zk-SNARK 的可靠性。

这种构建中的一个关键进展在于 zk-SNARK 的并行使用:Virgo证明器(deVirgo),它引入了一种新颖的分布式证明系统来加速证明生成过程,并使用递归证明来降低链上证明验证的成本。deVirgo 依赖于 GKR 协议和多项式承诺方案来为验证多个签名的电路生成证明。随后,deVirgo 证明通过 Groth16 证明器进行压缩,并由目标区块链上的更新合约进行验证。这些证明系统的结合使 zkBridge 能够实现高效的跨链通信,而无需依赖外部信任假设。

zkBridge 的主网 Alpha 版本于 2023 年 4月发布,现在正在促进几个 L1 和 L2 区块链网络之间的跨链互操作性,如 BNB Chain、以太坊和Arbitrum。在 2023 年 ETHCC 巴黎 zkDAY 活动上,Polyhedra Network 的首席技术官,Tiancheng Xie,强调自其主网发布以来,该协议已吸引了超过 50,000 名每日活跃用户和 800,000 名每月活跃用户。

凭借其模块化架构,zkBridge 为开发者和用户打开了广阔的可能性。这些可能性包括代币桥接和交换、消息传递以及根据不同区块链网络之间的状态变化进行适应的计算逻辑。

总结

将 zk-SNARKs 技术纳入跨链桥设计能有效地解决了与去中心化和安全性相关的问题。然而,由于涉及较大的电路规模,这也造成了计算瓶颈。随着对互操作性的关注持续增加,相信将会有更多的开发者会努力投入到开发安全可扩展的跨链桥技术中。这些进展预计将对 ZK 技术的整体进步和应用产生积极的影响。因此,我们可以预期在不久的将来,研究、创新实现的显著进展以及跨链应用的更广泛采用。