跨链桥

兼容两条链不同协议、规则和治理的跨币、跨数据方案。其主要问题在于如何让另一条链知道并相信另一条链发生的事情,以及跨链桥托管用户资产。

组成部分

  • 监控:relayer或者validator , 监控源连状态

  • 消息中继:将信息从源连传输到目标链

  • 共识:某些模型,需要在监控源连的参与者之间达成共识

  • 签名:参与者需要单独或者作为阈值签名方案的一部分对发送到目标链的信息进行加密签名

跨链桥分类

托管+共识

代表:multichain、chainlink、harmony、pos bridge、polynetwork

共识一般可以采用POS或者POA的方式, 通过一组validator 监控源连上的事件,通过达成共识对目标链执行操作

缺点:依赖预言机喂价,所以网桥安全性会降级为预言机安全性,需要抵押,资本效率低

轻客户端+中继

代表 :IBC 、Layer zero、 rainbow bridge

Relayer监控源链事件,生成该链交易事件以及相关证明,将证明和区块头发到目标链的合约(轻客户端),目标链的轻客户端会进行验证,这里有个所谓的Relayer的活跃性假设问题,安全角度方面,无需信任任何中介。

优点:可传递任何类型数据,无需信任假设,资本效率最高

缺点:存在活跃性假设,连接性问题(每个链对需要部署轻客户端合约)

流动性网络

代表:connext、hop、celer

托管+中心化

托管 + MPC(any swap)

非托管+MPC (multichain)

zk bridge

流动池模式跨链桥

为了理解流动池模式跨链桥是如何工作的,让我们来假想一个用户,他想要将 USDT 从以太坊转移到 Polygon。用户首先要将以太坊版本的 USDT 存入以太坊上的指定合约地址(流动池),并指定该 USDT 在 Polygon 上的接收地址,也就是 USDT 将在 Polygon 上记入的地址。跨链桥使用此信息将 Polygon 版本的 USDT 传输至指定的 Polygon 地址。

这种设计的一个主要缺陷是,跨链桥必须保证其在目标链上持有的单边流动池中有足够的资产,以便用户实际完成资金转移。在上述示例中,如果跨链桥在 Polygon 上的 USDT 流动池为空,则存放在以太坊流动池中的 USDT 将被“卡住”,直到有其他用户请求从 Polygon 向以太坊反向转移 USDT,并有足够的 USDT 补充进 Polygon 的 USDT 流动池中。

此外,该类型的跨链桥仅允许进行单一类型资产的跨链转移(例如,仅将 USDT 从以太坊转移至 Polygon)。如果想将以太坊上的 USDT 兑换成 Polygon 上的 MATIC,只能在 Polygon 上收到 USDT 后再进行兑换。

这种设计的主要优点是,用户在目标链上收到代币后便不再需要依赖单边流动池的安全性。用户收到的资产是目标链上的原生资产,因此不需要依赖标的资产的赎回能力来确保其资产价值。这与“锁定&铸造 / 销毁&赎回”的另一种常用桥接设计形成鲜明对比。

锁定&铸造 / 销毁&赎回

如同之前,用户首先将以太坊版本的 USDT 存入跨链桥持有的指定合约地址,并在 Polygon 上指定接收地址。此步骤称为“锁定”。

然而,与之前不同的是,该类型的跨链桥在 Polygon 上“铸造”或发行 Polygon 版本的存入资产,并将其记入接收账户。这些铸造的代币通常被称为“封装”代币,它们的价值取决于最终将它们赎回为源链上标的资产的能力。当用户想转移回以太坊时,封装代币被简单地发送到 Polygon 上的跨链桥合约地址并“销毁”。这使以太坊上的标资产被赎回并发送到指定的接收地址。

由于封装代币依赖其可赎回性来维持其价值,因此封装资产的持有者面临智能合约风险。如果源链上的流动池被窃取并致使标的资产被掏空,则封装代币将变得毫无价值。

尽管如此,锁定/销毁&铸造机制的优势在于,此类跨链桥始终流畅地允许将资产从源链转移到目标链,反之亦然。这是因为它们不需要在跨链桥合约中部署目标链上的流动代币池。这促使该类型的跨链桥在可扩展性方面具有优势。

原生跨链交换桥(带有去中心化的中间链

在过去一年左右的时间里,该类型的跨链桥越来越受欢迎,THOR 链的壮大是其中一个促进因素。原生跨链交换桥允许用户将源链上的原生代币交换为目标链上的不同原生代币。例如,用户可以在无需封装资产的前提下,在各自的链上将原生 BTC 换成原生 ETH。这是通过利用跨链自动化做市商 (AMM) 和中间链来实现的,该中间链用来监控和记录源链和目标链的状态。尽管跨链交换不同原生资产的功能非常有用,但该类型的跨链桥使用了堪称最复杂的传输机制。

为了简单地解释它的工作原理,让我们来看一个将原生 BTC 兑换成原生 ETH 的示例,我们将使用 THOR 链架构的基础版本作为参考。

在该示例中,持有 BTC 的用户首先将 BTC(连同以太坊接收地址)发送到比特币金库地址。该金库由多个节点控制和监控,这些节点观测传入的交易并记录中间链(例如 THOR 链)上比特币金库的状态更新。

一旦节点确认金库收到了 BTC,节点就会计算出适当数量的 ETH,记入给以太坊区块链上的用户。与其他任意 AMM 兑换类似,跨链兑换的执行价格取决于兑换额,这与两条链上金库中可用的 BTC 和 ETH 的相应数量有关。与使用少量流动性的小额兑换相比,“用尽”大量流动性的大额兑换将以更高的价格执行。一旦计算出兑换额,中间链就会向以太坊网络发送一条消息,使其将适当数量的 ETH 从金库地址发送到用户的接收地址。

与流动池模式跨链桥相比,带有中间链的原生跨链交换桥具有更高水平的去中心化和抗审查能力。对于跨链桥用户来说,虽然流动性提供者仍可以通过黑客或漏洞从 AMM 的流动性池中窃取资产,但它能够规避封装资产带来的智能合约风险。

尽管有这些优点,但此类跨链桥远比其他跨链桥的架构设计复杂得多。创建一个可信的去中心化原生跨链交换桥需要大量的资本投入和时间投入。例如,为了实现从 BTC 到 ETH 的原生兑换,THOR 链上每个节点都必须运行一个完整的比特币网络节点以及一个完整的以太坊网络节点。此外,必须激励 THOR 链上的每个节点保持诚实及可靠。为了实现单个兑换,必须完成上述所有。

原生跨链交换桥(以稳定币交换为媒介)

该类型的跨链桥旨在借鉴流动池模式跨链桥的简单架构,在此基础上提供交换原生资产的便利性。从本质上讲,此类跨链桥的工作方式很像流动池模式跨链桥,但增加了一个额外步骤,以此允许用户在目标链上接收的资产与他们在源链上存放的资产可以是不同类型的资产。LayerZero Labs 的 Stargate 跨链桥就是该类型的一个例子。我们将再次使用一个示例来解释它的工作原理。这次,让我们来考虑用原生 SOL 兑换原生 ETH。

再次,用户首先将其资产 SOL 存入 Solana 上的指定合约地址,该地址由跨链桥持有。然而,与之前的例子不同,这笔存款实际上触发了 AMM 将 SOL 兑换为 Solana 上的稳定币。例如,它可能将 SOL 兑换成 USDC。从这步开始,跨链桥的功能将与流动池模式跨链桥极其相似。Solana 合约地址中的稳定币余额由跨链桥提供商划转至用户在以太坊的合约地址。

最后,一旦 USDC 记入以太坊上的用户名下,跨链桥就会触发 AMM 执行从 USDC 兑换到 ETH。然后将此 ETH 记入用户指定的接收地址。从本质上讲,此类跨链桥的功能相当于流动池模式跨链桥,只不过仅跨链转移稳定币,以便在跨链转移过程中提供更优的执行价格。通常,两条链上的 AMM 兑换执行价格由一个计算兑换额规模的函数得出,该函数与两个单边池中的可用流动性相关。

这种架构规避了封装资产的智能合约风险,并且提供了比中间链架构更简单的跨链通信机制。但是,由于执行价格取决于每个 AMM 的可用流动性,因此存在兑换执行价格不理想的风险。

主(Home)合约/副本(Replica)合约传输消息(以Optimistic Fraud Proofs为媒介)

这种特殊类型的跨链桥利用位于不同链上的两个合约地址(称为主合约和副本合约)以及四个接受激励的链下不同参与者,实现跨链发送消息。该类别中最著名的协议或许是 Nomad,它使得多链应用程序实现更轻松地跨区块链生态系统进行通信。让我们通过一个从以太坊向 Polygon 发送消息的简化示例来解释它的工作原理:

全面解析跨链桥:设计、权衡及机会

由受激励的链下参与者更新、监控和传播的主合约和副本合约实现跨链发送消息

以太坊上的用户首先会向以太坊上的主合约地址提交一条消息。主合约采集此消息并将其与接收到的其他消息一起放入队列中。此时,称为“更新者”的链下参与者签署该消息组以更新主合约的状态。为了签署这些消息,更新者必须向主合约质押保证金,如果之后证明更新者有任何恶意行为,该保证金将被没收。第二个链下参与者为“观察者”,监控主合约和 Polygon 上的副本合约,以确保所有消息都被正确记录和发送。

由于跨链桥依赖于optimistic fraud proofs,所以为了防止恶意行为被执行和惩罚恶意更新者,由观察者负责提交恶意行为证明。若无恶意行为证明,跨链桥将假定消息已正确记录和发送(因此得名“optimistic乐观的”)。假设观察者没有检测到更新者有操作问题,第三个链下参与者“中继器”将把消息传输至 Polygon 上的副本合约。最后,第四个链下参与者“处理器”,将消息从副本合约传播到消息的最终接收者。

这种架构更适合区块链之间的消息传递/数据传输,但因为资产转移最终也不过是以数据来体现账户余额的变化,所以理论上这种架构也可以用于转移资产。

这种桥接设计的一个主要缺点是存在持续约 30 分钟的欺诈证明延时(DTD),为观察者扫描可疑行为并质疑恶意交易提供窗口期。Connext Hop 这两个协议通过允许其他市场参与者在欺诈证明窗口期结束之前直接向最终接收者发送代币来缩短等待时间。实际上,这两个协议替接受者承担了恶意交易的相关风险,以此从希望获得更高流动性的接收者处收取费用。

信任/无须信任

在该分类中,跨链桥分为两类。它们要么是 1) 需要信任的,要么是 2) 无须信任的。换言之,用户要么信任某个第三方来操作跨链桥并确保安全,要么依赖分布式设计和运行的软件,这样任何单一实体都无法更改其状态或进行操作。需信任的跨链桥包括 xPollinate、Matic Bridge 和 Binance Bridge。无须信任的跨链桥包括 THOR链、Ren 和 Cosmos IBC。

重要的是,需信任和无须信任之间的区别不是非黑即白,而是循序渐进的。与具有规模更大、更异构的运营商集合系统相比,运营商集合规模更小或地理上更集中的分布式软件协议将更容易受到单点故障的影响。同样,需要用户将资产锁定在合约地址中以换取封装资产的跨链桥也需要用户相信代码的编写方式能够防止攻击或窃取。非托管跨链桥则不需要这种信任,即便它们通常由中心化实体运行。

连接对象

从 Layer 1 到 Layer 1

从 Layer 1 到 Layer 1 的跨链桥允许用户将资金在两个 L1 生态系统间进行转移。例如,Wormhole 的 Portal 跨链桥支持从 Solana 到以太坊的资产转移。通过促进 Layer 1 生态系统间的互操作性,使得 web3 用户可以在他们喜欢的链上自由地花费时间和资源,同时又保持灵活性来随时选择切换链。

从 Layer 1 到 Layer 2

从 Layer 1 到 Layer 2 的跨链桥接允许如以太坊的 L1 链与构建在 L1 链上的 L2 链进行通信。例如,用户可能希望将 ETH 从以太坊主网转移至 Arbitrum、Optimism 或 ZkSync。用户可以通过使用每个 L2 的原生跨链桥转移其代币,或者可以使用如 Across 的第三方跨链桥。随着 L2 生态系统的不断壮大,在将以太坊的主网活动转移至 L2 方面,此类跨链桥将发挥重要作用

从 Layer 2 到 Layer 2

随着 2022 年上半年接近尾声,Layer 2 路线图变得越来越清晰。Polygon 的各种 Layer 2 扩展解决方案(Miden、Hermez、Nightfall)、Starkware 的零知识汇总 Starknet 和 Matter Lab 的 ZkSync 2.0,这些都将为开发人员构建不受高昂 gas 费困扰的应用程序提供必要的核心组块。然而,这些不同的 L2 本身并不兼容,因此它们有可能呈现我们在 L1 中看到的碎片化。L2 生态系统拥有高吞吐量、低 gas 费和强大安全性的好处,L2 到 L2 的跨链桥旨在减少 L2 间潜在碎片化的同时,发扬 L2 的上述好处。包括 Hop Protocol 和 Orbiter Finance 在内的一些项目正积极致力于实现这一目标。

跨链桥设计的思考点

  • 安全性: 信任和活跃性假设、对恶意行为的容忍度、用户资金的安全性
  • 速度:完成交易的延迟,以及最终性保证
  • 资本效率:确保系统安全所需的资本和转移资产的交易成本
  • 连接性:为用户和开发者选择目标链,以及集成额外目标链的不同难度级别

疑难杂症

  • 跨链桥如何解释具有概率最终一致性的块重组和时间强盗攻击
  • NFT的出处,跨了N个桥的NFT在多个市场买卖算谁的
  • 遇到链阻塞或者攻击,跨链桥的应对

前沿研究

  1. 轻客户端验证header成本很高,有的是bridge到L2,比如在Zksync上实现tendermint客户端
  2. 从受信任模型转变为绑定模型(资本效率低),但是安全
  3. 阈值签名方案
  4. 扩展流动性网络的流动性

跨链桥的风险

  • 跨链桥层的共识漏洞/失败。这可能会导致持有抵押资金的跨链桥以及持有由跨链桥合成资产的用户遭受损失;
  • 由跨链桥的链没有共享状态。在桥接过程中,如果 A 链受到 51% 攻击并且交易被还原,则 B 链上的合成资产可能会遇到麻烦。在这种情况下,B 链资产不再被完全抵押。系统的安全性取决于其最薄弱的环节;
  • 合成资产是 DeFi 中安全性较低的抵押品,可能会带来系统性风险。大多数网桥将代币包装成合成资产,这些资产实际上是网桥上的资产借据:
  • 如果合成资产在 DeFi 中被广泛用作抵押品,无论出于何种原因脱钩,都可能会导致资产被清算;
  • 每种合成资产都在争夺流动性,最终将导致用户的碎片化和更差的执行价格;
  • 一些合成资产需要外部预言机进行定价,这是另一个风险来源。
  • 无需信任的网桥至少有一个中心化组件。虽然这些跨链桥旨在逐步完全去中心化,但其系统中至少有一个中心化组件,例如预言机、中继器。如果这些外部组件无法正常运行,可能会给系统带来风险;
  • 智能合约风险。从 Wormhole 协议被攻击可以看出,共识漏洞并不是唯一的攻击媒介。黑客可以利用智能合约来生成验证者认可的伪造签名,从而在不提供底层抵押品的情况下铸造合成代币。这只是一个智能合约漏洞利用,实际上可能有更多智能合约漏洞。