一文读懂跨链发展史,V 神提出的 Rollups 之间的桥要如何修建?

为什么需要跨链?什么是桥?

为什么需要跨链解决方案 ? 区块链有多种运行环境,不同的区块链支持不同的协议、dApps 和加密资产。如果有人想持有比特币,但又想参与以太坊上的 DeFi 协议,或者只是想用比特币交换 ETH,那么跨链基础设施将是必不可少的。因为不能直接通信,不同的区块链就无法直接读取彼此链上的数据,链之间就无法实现直接转账。那么我们就需要设计方案来让割裂的资产可以联通起来。

什么是桥?通俗来讲,支持加密资产在不同区块链之间转移的系统就是桥。桥的核心功能可以概括为:用户从桥的一端存入资产 → 桥更新账户余额 → 用户可以从桥的另一端取款。除了研究如何不断提升 TPS,寻找解决方案建立桥以支持加密资产从一个区块链到另一个区块链的转移也是区块链技术领域的重要课题。

关于跨链和桥的方案,我们可能经常听到这些词:Polkadot, Cosmos, NEAR Rainbow Bridge, xDAI Bridge, BSC Bridge, Arbitrum Bridge, Optimistic Bridge, Matic Network Bridge and zkSync bridge。那么这些方案有什么区别呢 ?

各种桥的对比——从中心化向去中心化发展

我们用尽可能用易于理解的方式来介绍不同桥方案的区别,并且按照进入主流视野的前后顺序来说明 Orbiter Finance 的方案与此前的跨链或桥方案有什么不同:

1. CEX 和 Notary scheme

最早为加密世界广泛应用的桥,是基于成熟的中心化互联网技术的 CEX。CEX 通过 Notary 解决方案为不同区块链之间的加密资产交换建立了中心化的桥。

同样是中心化解决方案的还有 WBTC,BitGo Trust 一边在 BTC 区块链中托管资产,一边在以太坊上通过运行智能合约来发行 WBTC 并更新余额,使 WBTC 与其托管的 BTC 数量保持一致。

中心化的机制虽然效率很高,但是始终面临着监管政策风险、平台管理者风险,在安全性上仍存在问题。

2. Lightning Network 和 Hash-locking

闪电网络起源于 BTC 的扩容方案,采用了 Hash-locking 方案。闪电网络设计了两种类型的交易合约:RSMC,HTLC。RSMC 解决了通道中币单向流动问题,HTLC 解决了币跨节点传递的问题。其中 HTLC 承载了桥的功能,HTLC 的功能是要求收款方在时间截止前向转款方提交转账证明,否则资金就会退还给转账方 。

为了便于理解,举例说明 Hash-locking 的工作原理:Alice、Bob 与 Evan 想一起玩一个复杂的 BTC 交易游戏,3 人共同约定把每个人的一定数量的 BTC 用哈希锁锁定在 BTC 网络上,然后进入到 State Channel (类似 BTC 的 Layer 2)中进行成百甚至上千次的链下交易,游戏结束后他们把 3 人都认可的资产余额数据传回到 BTC 网络上并解锁,3 人就可以重新在 BTC 网络上转账自己的 BTC 了。

3. Polkadot Relaychain

专注在跨链解决方案的 Polkadot 在 2020 年获得了很大的关注度。在原有的区块链方案中,是先有了不同的区块链,然后开发者再在不同的链之间修建桥。与之相反,Polkadot 是先构建桥,再在桥上构建不同的区块链,区块链的上面运行智能合约。

一文读懂跨链发展史,V 神提出的 Rollups 之间的桥要如何修建?

Polkadot 目标是在平行链之间可以传递任意消息,也就是平行链 A 可以调用平行链 B 中的智能合约,中继链作为底层的桥,可以支持平行链之间通信和转账。Polkadot 有 3 层结构:

  • 开发了一条具有信息交互验证功能的中继链作为底层
  • 生态中的开发者们在中继链上可以构建平行链,中继链包含了所有平行链的所有数据信息, 平行链会 共享中继链上的验证者们来获得更高的安全性。
  • 平行链之上可以运行智能合约,在中继链和平行链中间有分片状态,确保整个系统可以持续有效。

此外,Polkadot 使用了 2 种机制保证跨链通信安全性:

  • 中继链与平行链共享安全性,既使消息通信更容易也使平行链都有着同级别的安全性,平行链之间可以互相信任。
  • 引入了渔夫(Fishermen)作为监控平行链恶意活动的“赏金猎人”,渔夫可以向中继链提交证明指出平行链的验证者提交了一个无效的区块,并可以将 Polkadot 网络和相关的平行链的整个状态回滚。

4. Cosmos 和 IBC

与 Polkadot 并列讨论最多的是 Cosmos。Polkadot 目标是可以在两条链之间转移代币一级任何其他类型的通信,相比之下,Cosmos 专注于区块链之间的资产转移,是比 Polkadot 更简单的协议。

在 Cosmos 的方案中,Hub 作为中心枢纽,管理着很多被称为 Zone 的区块链。Hub 追踪记录每个 Zone 的状态,Zone 将新产出的区块汇报给 Hub 并同步 Hub 的状态。但是 Hub 与 Zone 之间的状态同步并不是直接进行的,而是通过跨链桥协议 IBC (Inter-Blockchain Communication protocol) 实现的互操作性 。

一文读懂跨链发展史,V 神提出的 Rollups 之间的桥要如何修建?

对比 Polkadot 的架构模式,Cosmos 最大区别在于每个 Zone 的安全都是仅由这个 Zone 的验证者来保障的,如果某个 Zone 想获得很高的安全性,那么它就需要自行引入更多验证者。这种方式对于规模较小的应用具有运营困难,但是也为想要拥有更多掌控权的应用提高了掌控力。

5. 侧链桥

NEAR, xDAI network, BSC 和 Heco 都是关注度比较高的以太坊侧链。侧链桥主要有 2 种方案:

· NEAR 的 Rainbow Bridge

同样是在 2020 年,Near 的 Rainbow Bridge 方案也获得了较高关注。Rainbow Bridge 是一种跨链互操作性的桥,不仅支持资产在以太坊与 Near 之间流动,还可以支持更多的区块链。

一文读懂跨链发展史,V 神提出的 Rollups 之间的桥要如何修建?

Rainbow Bridge 的实现方式是:在 NEAR 上构建追踪以太坊数据的轻客户端智能合约,同时也在以太坊上构建 NEAR 的轻客户端智能合约。简单的来讲,也就是 Rainbow Bridge 会把 NEAR 上的数据传输到以太坊上,也会把以太坊上数据传输到 NEAR 上,这样以太坊和 NEAR 就可以相互读取数据实现相互跨链转账了 。

这个方案也存在一些小问题,比如所谓的轻客户端其实并不轻。以太坊每隔约 13 秒产生一个区块,NEAR 上的轻客户端就需要每隔 13 秒验证一次区块头中的数据。这个验证过程会占用其区块 gas 限制的 10%。

· POA Network 与用主体信用作为背书的桥

xDAI network, BSC and Heco 是 POA Network 的代表,也都有链接 ETH 主网的侧链桥。共同点在于这些桥是有验证节点的,都涉及了人的参与治理,都不够去中心化。不同之处,xDAI Bridge 是动态多节点验证的,BSC 和 Heco 是以交易所信用作为背书单主体验证的。

6. 为 Layer 2 扩展而建造的桥

以太坊生态是目前加密世界中最大的生态。尽以太坊主网的当前 TPS 是 15,但是 layer-1 and layer-2 扩展方案正在快速发展:

  • Layer-1 扩展:具有本机计算的 Eth2 分片链即将出炉。Eth2 大概有约 1000-5000 TPS。
  • Layer-2 扩展:状态通道、Plasma 和 rollup 是 Layer-2 扩展的三大主要类型,而 rollup 是主流解决方案。如果大家都转向 rollup,我们很快就会有大约 3000 TPS。

在 BTC 与 ETH 或者其他区块链之间的去中心化桥很难实现的原因在于–这些区块链之间不能直接通信。但是在以太坊体系中,因为 Layer 1 可以负责通信,所以 Layer 2 的 rollups 可以通过 Layer 1 实现通信。

为了更详细的说明,我们把 Layer 2 相关的跨链与桥的方案单独放在一个段落里重点说明。

Layer 2 中的跨链与桥方案

这里我们主要探讨 Layer 2 扩展技术中 rollup 技术相关的桥方案。先简单回顾 Rollups 的 3 个主要功能:

  • 在链上记录交易数据。
  • 在链下计算压缩每批的交易数据,并将压缩计算得到的状态根传回 rollups 上。
  • 验证者负责验证传回的状态根是否正确,并将正确的结果记录到 ETH 主网上:如果状态前根对应的批次完全包含在状态后根对应的批次中,则证明状态前根是正确的可以传回 Rollup 合约中。
一文读懂跨链发展史,V 神提出的 Rollups 之间的桥要如何修建?

不同 Rollup 方案的区别主要在于链下计算和验证方法这两步。在 Rollup 技术方案中,Rollups 可以直接与 Layer1 通信转账,但是 Rollups 之间并不能直接实时通信转账。如果 Alice 想从 Rollup A 转账到 Rollup B,Alice 需要先从 Rollup A 转账到主网(产生 1 小时或至少 7 天的提款时间),再从主网转账到 Rollup B (产生主网上的 4~10 美金 gas 费)。

所以,在 Rollup 的整体技术框架中,不仅需要有 Rollup 到 Layer1 之间的桥,也需要有 Rollups 之间直接的桥,来确保交易的安全性与实时性。

1. Rollups 与 Layer 1 之间的桥接方案

ZK rollups 和有效证明

ZK 汇总中的每个批次都包含一个称为 ZK-SNARK 的加密证明,它证明后状态根是执行批次的正确结果。无论计算量有多大,该证明都可以很快在链上得到验证。

ZK rollups 的技术复杂度高于 Arbitrum 或 Optimistic,需要更高的链下计算成本,但每笔交易的链上 gas 成本更低,提款时间短,才约 4h。在今年 ZK Rollups 能够支持智能合约的 EVM 后,其很有可能成为最好的 Rollups 技术方案。Loopring、StarkWare、Matter Labs ZKSync 和 Aztec 2.0 都在应用 ZK 技术。

ZK rollup 从 L2 提款到 L1 的桥接方案是:用户从 L2 发起提款,在将交易数据编码为字符串后签名并发送交易至 L1,交易进入到 L1 上的 zkSync 智能合约中,经过提现期限后,证明该区块正确的 ZK 证明生成并发布到 L1 上并完成验证,这笔提现就完成了。

Arbitrum, Optimistic 和欺诈证明

欺诈证明 rollups 会跟踪其整个状态根历史和每个批次的哈希值。如果有人发现一个批次的后状态根不正确,他们可以发布一个证明到链,证明该批次的计算不正确。合约验证了该证明,并恢复该批次及其后的所有批次。Optimistic rollups 的复杂度低于 ZK rollups,链下计算成本更低,更容易支持智能合约。但是需要 1 周左右的提款时间给提交欺诈证明的人足够的时间,并且链上每笔交易的 gas 费用会更高。

Arbitrum 和 Optimistic 采用了同样的可供开发者选用的桥方案支持用户把资产从 L1 转移到 L2(需要注意的是,这个方案主要解决资产从 L1 到 L2,而非从 L2 到 L1 或从 L2 到 L2):

  • 将资产从 L1 转到 L2:先将资产存入 L1 的 Arbitrum 桥合约中,之后会在 L2 上铸造出数量相同的资产并转入指定地址。
  • 将资产从 L2 转到 L1:将资产在 L2 上销毁,随后在 L1 的桥合约中等量资产变为可用,但是这个过程需要有提款时间用于欺诈证明。

Arbitrum 与 Optimistic 不同在于解决分歧的方式,当验证者向 L1 提交了被认为不正确的区块时,解决方案:

  • Optimistic 采用单轮交互解决方式:需要完整写入链上数据,解决争议时长短也不会面临延迟攻击的问题。
  • Arbitrum 通过多伦互动协议解决争议:向链上写入的数据更少,可以处理突破以太坊 gas 限制的合约降低了链上成本,但也增加了解决争议的时长,并可能面临延迟攻击。

Arbitrum 对 EVM 的兼容性会比 Optimistic 更友好,开发者将 L1 上的用 Solidity 语言开发的智能合约迁移到 Arbitrum 上无需重写程序,同时 Arbitrum 用 ETH 作为 gas 也降低了用户的使用门槛。

Polygon 的 Layer 2 聚合 SDK

Polygon 作为 Layer2 的聚合 SDK,支持开发者快速便捷开发 L2 的区块链。整体设计方案简单理解大致是将 Polkadot,Cosmos 的机制通过 Plasma 技术嫁接到了 ETH 上,开发者基于 Polygon 开发合约就可以像在侧链上开发那么简单了。除此之外,Polygon 还在聚合更多选项,如 ZK rollups,Optimistic 和侧链。

Polygon 主要为开发者提供安全服务的方案,Polygon 支持开发者在以太坊上快速构建两种区块链网络:

  • 独立网络(stand-alone network):网络拥有自己的 PoS 或 DPoS 共识模型,并且由网络自建验证者节点,适用于企业区块链或者是有强大社区的链。这个机制很像 Cosmos 的结构,但是不同的是,Cosmos 基于自建 Hub,Polygon 基于 ETH。
  • 安全链(secured chain):由 ETH 直接提供安全服务,如通过 Plasma 使用欺诈证明,或由专业的节点提供。安全验证节点可以被多个项目共享,类似 Polkadot 的共享安全节点模型。适合于初创项目或更注重安全的项目。
一文读懂跨链发展史,V 神提出的 Rollups 之间的桥要如何修建?

Polygon 用 4 层结构的架构方案支持开发者研发独立网络或安全链:

  • ETH 层作为基础层:利用了 ETH 的高安全性,Polygon 在 ETH 上运行着用于最终检查确认、质押、争议解决及消息传递的智能合约。
  • 安全层:这一层运行着 Polygon 的验证器,验证器定期检查 Polygon 链的有效性并获取一定收益。
  • Polygon 网络层:这一层运行着基于 Polygon 架构的区块链们,区块链上维护着交易记录与共识机制。
  • 执行层:这一层负责解读和执行 Polygon Chain 中的交易。

在以上 4 层结构中,ETH 层、安全层为可选层,Polygon 网络、执行层为必选层。Polygon 为开发者不仅提供了的安全服务方案,还统一解决了与 Layer1 之间的通信问题。

2. Rollups 与 Rollups 之间的桥

Orbiter Finance 和跨 Rollup 交易协议

在现有的技术框架汇总,rollups 之间无法直接的转账,需要构建去中心化的桥方案。在当前的 Layer 2 扩展框架中,如果用户想从 Rollup A 转账到 Rollup B,需要先将资产从 Rollup A 转会到主网(会产生 1 小时或至少 7 天的提款时间),再从主网转账到 RollupB (会在主网上产生 ERC20 代币的转账 gas 费)。随着用户和资产大规模向 Layer 2 迁徙,跨 rollup 直接转账的桥方案也会成为 Layer 2 的技术基础设施。

Orbiter Finance 就在 rollups 之间构建了一个去中心桥协议,支持在一个区块时间内(~13s)进行跨 rollup 的直接转账,每笔转账用户只需要在目标端 rollup 上进行一次智能合约验证。

一文读懂跨链发展史,V 神提出的 Rollups 之间的桥要如何修建?

例如,Alice 想从 Rollup A 转账 100USDT 到 Rollup B,Evan 是做市商,Orbiter 合约位于 Rollup B 上,Orbiter Finance 是这样帮助 Alice 实现跨 rollups 转账桥接转账的:

  • 做市商 Evan 需要先在 Rollup B 中的 orbiter contract 中存入 110USDT 的保证金。其中用于提供交易服务的保证金为 100USDT, 另外的 10USDT 为 Evan 不及时提供服务时的罚款。(只要 Evan 正常提供服务,就不会受到惩罚,如果 Evan 不想继续提供做市服务,提交取保证金申请后,经过提款时间计算 Evan 可去除的金额后就可以成功退款) Optimistic 或 Arbitrum 会将这些交易数据同步到位于 Layer 1 的 rollup B 的 OVM_CanonicalTransactionChain 中。
  • 位于 Rollup A 的 Alice 通过在链下查询区块浏览器可以得知当前可以交易的最大金额上限为 100USDT,Alice 将 100USDT 转账到 Evan 在 Rollup A 上的地址。同样的,这些转账会被 Layer 1 上的定序器记录。
  • Alice 转账完成经过 T 时长:
    • T < 1min:Evan 优先提供转账服务,应在 rollup B 上给 Alice 的 Rollup B 地址转入 99.7USDT (实际运行过程中还需要扣除 rollup B 的 gas 费),并赚取 0.3USDT 作为服务佣金。
    • 1min < T < 5mins:Evan 没及时提供服务,其他做市商可抢单提供服务以保障 Alice 的用户体验,并接管 Evan 的保证金。其他做市商赚取 0.2USDT 服务费,Evan 仍然可以赚取 0.1USDT fee。
    • 5mins < T:如果 Evan 以及其他做市商都没有及时提供服务,Orbiter 系统中引入了 pushman 角色,pushman 在定序器查询到 Alice 的确在 Rollup A 上完成了转账,并确定 Evan 的确在 Rollup B 中存有足够的保证金与惩罚金,pushman 就会将 99.7USDT 转账给 Alice 的 Rollup B 账户,pushman 将赚取 Evan 存入的 110USDT,同时 Evan 的保证金被清算并且惩罚金被没收。Pushman 可以又任何人来充当。

总结起来,Orbiter Contract 具有以下 3 个功能:

  • 记账结算:记录做市商的存取款数据,并为做市商们、pushman 结算。
  • 纠纷解决:处理做市商之间和 pushman 的保证金托管转移。
  • 保管保证金:存储做市商的保证金并保障资金的安全性。