跨链桥工作原理及安全性分析
Last updated
Last updated
跨链桥如何分类:以传输类型分
1. 锁定&铸造(Lock & Mint)Examples: Polygon official bridge, StarkNet official bridge, Shuttle.
2. 通证发行商燃烧&铸造(Token Issuer Burn & Mint)MakerDao, Arbitrum Teleport.
3. 特定的燃烧&铸造(Specialised Burn & Mint)Hop, Debridge.
4. 原子兑换(Atomic Swap) Stargate.
5. 第三方网络/链(Third Party Networks/Chains)Thorchain.
跨链桥以两种类型进行区分:传输类型以及信任假设型。我们先从传输类型去分。跨链聚合协议 Lifi 根据传输类型确定了三种主要类型的跨链桥。因为分界线有点模糊,它其实可以分为五种类型。
最简单和常见的跨链桥涉及了锁定并铸造通证并进行销毁。下面是工作流程图:
当资产跨链时,来自源链的通证被锁定到跨链桥的智能合约中,然后在目标链上生成新版本,它可以是映射通证&标准通证。
映射通证(wrapped token):它会和原生通证保持 1:1 锚定。
标准通证(canonical token):指的是各个链上流通的原生通证。
这两种通证都以其基础资产完全抵押而铸造完成。当资产跨链回去时,新通证在目标链上被烧毁,原生通证随后在源链上解锁/释放。这个公式非常常见:大多数「官方」的 layer1>
优点:
100% 的抵押品以支持目标链通证,使规模化成为可能。
缺点:
1. 源链上的智能合约易成为黑客的目标,如果源链资金被盗,目标链通证可能一文不值。黑客攻击针对的是持有大量通证的跨链桥智能合约,例如 2022 年 3 月黑客利用 Ronin Bridge 漏洞盗取 6 亿美元。
2. 目标链上的项目和应用程序都依赖于这一个跨链桥,并且在安全性、运行时间、成本等各方面受到跨链桥运营商的牵制。这也被称为「lock in problem」。
3. 跨链速度慢——当涉及从 Polygon 到 Ethereum 或从 StarkNet/Ex 到 Ethereum 的跨链时,用户可能还愿意等待几个小时,但对于 Arbitrum 和 Optimism 等 OP rollup 上的跨链,用户可不愿意等几天。
这种方法略有不同,它通过激励通证发行商来为跨链提供流动性。换句话说,在尝试 OP rollup 挑战期比较长的时候,通证发行商可以介入,而不是依赖第三方来「提供」流动性。
举例说明,MakerDao Arbitrum Teleporter。MakerDAO 使 Wormhole 在从 Arbitrum 跨链回来 Layer1 时,用户可以快速获得跨链资产 DAI。在这种情况下,MakerDAO 协议通过预言机网络在后台跟踪最终的资金结算。
优点:
这种方法消除了最用户的摩擦成本,同时在预言机网络离线时也通过防欺诈冗余以保证发行商的安全(例如 MakerDao 协议)。
缺点:
如果 MakerDao Arbitrum Teleporter 被利用,Dao 内部(例如 MakerDao)产生了坏账,通证发行商需要承担负债的风险。
一些跨链桥协议将「烧毁和铸造」模型与 AMM 流动性池相结合。该流动性池可以包含两个或更多的资产,其中包括特别铸造的跨链资产。重要的是,就像 Lock 和 mint 桥一样,这种模型有助于在 Layer2 与其他链之进行快速资产跨链以及返回源链。deBridge Finance 和 HOP 属于这一类。当用户将 ETH 锁定在一层以太坊上时,deBridge 会在 Arbitrum 和其他链上铸造特定的跨链桥通证(例如 deETH)。
就 deETH 本身而言,它在 Arbitrum 上的用例不多,因为在该生态上存在更广泛使用的其他 ETH 形态。流动供应商可以将 ETH 和 deETH 的组合存入 DeBridge 流动性池,也可以(在 Curve Factory)从跨链桥用户那里获取交易费用和套利机会。然后通过在每条链上铸造特定的跨链桥通证,然后通过 AMM 流动性池来设置/初始化跨链。
当用户想要将 USDC 从一个 Layer2 跨链到另一个 Layer2 上时(例如,在 Arbitrum 和 Optimism 之间),用户的 Arbitrum USDC 首先使用 Arbitrum 上的 AMM 池换成 deUSDC,然后 deUSDC 在 Arbitrum 上烧毁并在 OP 上进行铸造。最后一步是使用 Optimism 上的 AMM 池将 deUSDC 换成 USDC。锁定在 Layer1 跨链桥合约中的 USDC 数量在整个过程中保持不变,这意味着 Arbitrum 和 Optimism 上的 deUSDC 仍然是 100% 抵押并可以完全赎回以太坊锁定的 USDC。
当 AMM 池发生滑点时(当 deUSDC 或 USDC 从池中移除或添加时),外部 LP 通过存入或者提取资金来重新平衡流动性池。相较之下,普通的 Lock&mint 在赎回抵押品时需要较长的等待期。Hop 桥的工作方式大致相同,并且 Hop 和 DeBridge 都对节点验证者有奖惩制度以保证跨链桥在一定的服务水平协议内运行。
优点:
通过使用 AMM 池中特定的跨链桥资产作为跨链的中间步骤,可以有效地增加生态内的流动性,同时也可以让 LP 赚取因为存在滑点而产生的套利收益。
缺点:
这种方法对用户来说成本更高,因为 AMM 流动池没有提供 1:1 的汇率,从而导致有滑点存在。对于将资金存入专门的跨链桥流动性池或持有跨链桥资产(IOU 形式)的 LP 也存在风险。
原子兑换桥利用已经跨链到目标链的预先存在的标准/映射通证(例如 USDC),并将这些通证汇集在源链和目标链上的单个资产池中。
当用户使用 Stargate 将 USDC 从 Ethereum 跨链到 Polygon 时,将 USDC 存入源链由 Stargate 智能合约控制的 USDC 池,以及从目标链上的 USDC 池中提取。这种方法可以被认为是「左手倒右手」。
在原子兑换桥的基础上,一些桥还在末端添加了自动做市商交易功能,构建了额外的服务。
优点:
用户将不再依赖该跨链桥的安全性来确保目标链上的通证保值。你可以依赖于另一个跨链桥(在非原生通证的情况下),也可以就在目标链上持有原生通证。资产转移也可以非常快速和便宜。
缺点:
由于目标链池需要大量通证以扩展,而通过流动性挖矿来激励通证存入可能成本高昂。当存在大量单向流量时,池也很容易耗尽。
可以说,这种传输类型根本不算是跨链桥,而是完全独立的链或网络在充当中间链。当智能合约和消息传递不兼容时(如比特币网络),或者跨链协议需要达成通用化目标时(如跨链通讯),以去中心化的方式进行资产跨链需要第三方网络/链充当记账和中间层。这样的网络依赖于源链和目标链上的阈值签名系统(节点网络),需要激励各个节点以保证诚实。
优点:
第三方网络和链使更多的区块链能够以去中心化的方式进行跨链。
缺点:
这些跨链桥需要部署大量资本,一激励每条链上的节点以保持诚实,二建立流动性池需要不断注入资金。这些系统在架构上也更加复杂,最著名的例子是遭遇三次黑客攻击的 ThorChain。另一个案例是第三方网络 Synapse 在发现其 AMM 池中的异常活动后,在 2021 年底预防了 800 万美元的黑客攻击。
以信任假设区分跨链桥
除了不同的传输方式,我们还需要考虑不同的信任假设。
不同级别的可信度可分为以下几类:
1. 中心化桥:币安到 Arbitrum
2. 验证/多签桥:Wormhole,Axelar,Connext。
3. 状态证明桥梁:StarkEx 到 Ethereum,ZKSync 到 Ethereum、Nomad、Hop、Axelar 和 Mina。
4. 协议级网桥:Cosmos IBC。
中心化桥通常依靠单方签名来处理和控制资金的流动。例如,当您从 Arbitrum 提前到 Binance 时,您依赖 Binance 将存在智能合约的资金记入您的账户中。
Binance 和 Binance 的 Arbitrum 智能合约都需要抵押品以促进转账。如果操作员离线,也无法自动实现故障保护。
中心化桥解决了快速转账的短期需求。然而,它们是不透明的,不可扩展或不抗审查的,因此仅限于简单的跨链。
这些类型的桥比中心化桥更安全,其信任假设较弱。
它激励了几种不同类型的代理商充当预言机监测桥两端的活动并报告正在进行的存款/取款。但是,这种机制对于中心化的验证器需要一定的信任,在大多数情况下,它只不过是一个基础的多重签名。
因为桥两侧仍需要抵押品,特别是对于不常用的跨链路径,这会增加成本。因此这种解决方案要么需得到大型实体公司的支持,要么流动性挖矿计划成本高昂。
这是 Connext 桥的示例。
与验证器相比,状态证明桥需要的信任假设更弱。它们能证明链之间的状态,这意味着验证器不需要充当预言机(这些可以是 ZK 证明或乐观证明)。此外,尽管可能仍需要中继器,状态证明桥不需要对任何第三方信任。桥的两侧不需要抵押品,因为这些状态证明桥可用于安全地锁定源链上的资产,然后在目标链上「铸造」资产。
状态证明桥可能很慢,尤其是像 Nomad 和 Hop 这样的 OP 证明桥。因此,这些项目通常与等待跨链桥结算时提供临时流动性的解决方案合作。例如,Nomad 与 Connext 合作。Hop 在 OP 验证的等待期会激励 LP 短期提供流动性。
这是 Hop Bridge 的机制。
协议级跨链桥对于信任假设是最友好的。其中最值得注意的例子可能是 Cosmos 生态系统中的互通区块链协议(IBC)。这确实是一个状态证明桥,但它也是协议级别在不同链上都能进行操作的。
通过在协议级别实现,可以:
1. 完全消除桥两侧的抵押品需求。
2. 确保所有链都有相同的资产来铸造和燃烧。
3. 标准化每条链上的接口。
4. 降低基于智能合约的跨链桥被黑客入侵的风险。
这是 IBC 的可视化界面:
总的来说,所有主流的公链和生态会采用协议级别跨链来最大限度保证链上资产的流动性和安全性。直到现在,跨链桥也未能给出一个资产安全上的允诺。
这并不意味着你不能信任桥:尽管一有风吹草动媒体就大肆报道,黑客攻击仍然是小概率事件,而跨链桥帮用户解决了链之间资产流通问题,尽管这个过程颇为艰难(尽管 rhino.fi 正试图用它的多链功能解决这个问题)。
当然用户也需要做一些调查。在使用桥之前,您应该查看它的类型(使用我们上面的指南),并了解它过去是否遭受过任何黑客攻击。随着技术的不断发展,桥安全性可用性便捷性更高,这部分工作也省去了。