原标题:《收藏!一文了解跨链桥设计类型及项目分布》,作者叶泽伟
经过多年的研究和发展,我们终于进入了一个多链市场。目前市场上有 100 多个活跃的公链,其中许多都有自己独特的应用、用户、地理分布、安全模型以及设计上的权衡。尽管个别社区不愿意相信,但宇宙是熵增的,这些网络的数量在未来可能会继续增加。
这种类型的市场结构就需要不同网络之间的互操作性。许多开发人员已经意识到这一点,过去一年区块链跨链桥已经呈现了爆炸式增长。在撰写本文时,目前有 40 多个不同的跨链桥项目。
截止2021年9月8日;并未完全收录所有项目
本文将重点介绍四个方面:
- 解释说明为什么跨链桥如此重要
- 概述不同的跨链桥设计,以及其优缺点
- 一览当前的跨链桥生态
- 展望未来的跨链桥发展方向
1 互操作性释放创新
随着各个生态系统的发展,它们会发展出自己独特的优势,例如更高的安全性、更快的吞吐量、更便宜的交易、更好的隐私、特定资源供应(例如存储、计算、带宽)以及区域性的开发人员和用户社区。跨链桥之所以重要,是因为它们能使用户访问新的平台和协议来实现交互,可以让开发人员协作构建新的产品。更具体地说,它们能:
提高现有加密资产的生产力和实用性
跨链桥让现有的加密资产能够前往新的地方并做新的事情。例如:
- 将 DAI 发送到 Terra,从而 在 Mirror 上购买合成资产或在 Anchor 上赚取收益;
- 从 Flow 向以太坊发送 TopShot,以用作 NFTfi 的抵押品;
- 使用 DOT 和 ATOM 作为抵押品在 Maker 上获得 DAI 贷款
让现有协议拥有更强大的产品功能
跨链桥扩展了协议可以实现的设计空间。例如:
- 在Solana 和Avalanche 上进行YFI流动性挖矿;以太坊上 NFT 和 Rarible 协议上 Flow的跨链共享订单簿
- 让Index Coop 推出PoS指数
为用户和开发人员解锁新功能和用例
跨链桥为用户和开发人员提供了更多选择。例如:
- 在Optimism、Arbitrum 和 Polygon 上进行跨 DEX 的套利交易(比如,Sushi)
- 使用比特币支付 ARweave 上的存储费用
- 在 Tezos 上参与 PartyBid的NFT集资团购
2 跨链桥科普
在抽象层面上,人们可以将跨链桥定义为在两个或多个区块链之间传输信息的系统。在这种情况下,“信息”可以指资产、合同调用、证明或状态。大多数跨链桥设计都有几个组成部分:
- 监控:通常有一个Actor、“预言机”、“验证器”或“中继器”,负责监控链上的状态。
- 消息传递/中继:Actor 接收到事件后,需要将信息从源链传输到目标链。
- 共识:在某些模型中,需要在监控源链的参与者之间达成共识,以便将该信息中继到目标链。
- 签名:Actor需要单独或作为阈值签名方案的一部分对发送到目标链的信息进行加密签名。
总的来说,大约有4种类型的跨链桥:
Asset-specific(特定于某个资产):其唯一目的是提供从外部链访问特定资产的途径。这些资产通常是“封装(Wrapped)”资产,由底层资产以托管或非托管方式完全抵押。比特币是桥接到其他链的最常见的资产(各类xBTC),仅在以太坊上就有七种不同的桥接。这些跨链桥最容易实现,流动性也很好,但功能有限,需要在每个目的地链上重新实现。
Chain-specific(特定于某条链):两条区块链之间的跨链桥,主要操作是锁定和解锁源链上的代币,在目标链上铸造封装资产。由于这些跨链桥的复杂性有限,它们通常可以更快地投放到市场中,但也不容易扩展到更广泛的生态系统。一个例子就是 Polygon 的 PoS 桥,它允许用户将资产从以太坊转移到 Polygon,反之亦然,但仅限于这两条链。
Application-specific(特定于某个应用):提供两个或多个区块链间访问的应用,但仅供在该应用中使用。应用本身受益于较小的代码库;它并不是在每条区块链上都有完整的应用,相反,通常会在每条区块链上有更轻的、模块化的“适配器”。部署了适配器的区块链可以访问应用所连接的所有其他区块链,因此存在网络效应。不过,缺点就是很难将该功能扩展到其他应用(例如从借贷到交易)。具体的例子包括 Compound Chain 和 Thorchain,它们分别构建了专门用于跨链借贷和交易的独立区块链。
Generalized(一般性的):专为跨多个区块链传输信息而设计的协议。由于采用 了O(1) 复杂性(无论数据集中的数据量有多少,花费的时间是固定的),这种设计享有强大的网络效应,一个项目的单一集成使其可以访问桥内的整个生态系统。缺点在于,一些设计通常会权衡安全性和去中心化以获得这种扩展效应,这可能会对生态系统产生复杂的意外后果。一个例子是 IBC,它用于在两个异构链(拥有最终确认性保证)之间发送消息。
此外,跨链桥设计还可以根据用于验证跨链交易的机制进行分类,大致有三类型:
外部验证器和联邦
通常有一组验证器监控源链上的“邮箱”地址,并根据共识对目标链执行操作。资产转移通常是通过将资产锁定在源链上并在目标链上铸造等量的资产来完成的。这些通常是绑定(bonded)验证器,使用单独的代币作为安全模型。
外部验证器或联邦系统
轻客户端和中继
Actor监控源链上的事件,并生成有关该链上记录的过去事件的加密证明。这些证明与区块头一起被转发到目标链上的合约(即“轻客户端”),然后验证是否记录了某个事件并在验证后执行操作。某些Actor需要“中继”区块头和证明。用户可以“自我中继”交易,不过,也确实存在一个存活假设,即中继器将持续转发数据。这是一种相对安全的跨链桥设计,因为它在不信任中间实体的情况下保证了无信任的有效交付,但它也是资源密集型的,因为开发人员必须在每个新的目标链上构建一个新的智能合约,从源链解析状态证明,并且验证本身会耗费大量gas。
轻客户端和中继系统
流动性网络
流动性网络类似于点对点网络,其中每个节点都充当“路由器”,持有源链和目标链资产的“库存”。这些网络通常会利用底层区块链的安全性;通过使用锁定和争议机制,保证路由器不会带走用户资金。因此,对于转移大量价值的用户来说,像 Connext 这样的流动性网络可能是一个更安全的选择。此外,这种类型的跨链桥可能最适合跨链资产转移,因为路由器提供的资产是目标链的原生资产,而非衍生资产。
流动性网络
下图是一个各类项目的分类和罗列:
要注意,任何给定的跨链桥都是双向通信通道,每个通道中可能有单独的模型,并且这种分类不能准确地代表混合模型,如 Gravity、Interlay 和 tBTC,因为它们一个方向是轻客户端方向,另一个方向是验证器。
我们可以根据以下因素对跨链桥设计进行粗略评估:
- 安全性:信任和活跃度假设、对恶意行为者的容忍度、用户资金的安全性,以及反身性。
- 速度:完成交易的延迟,以及最终性保证。通常需要在速度和安全性之间进行权衡。
- 连接性:为用户和开发者进行目标链的选择,以及集成额外目标链的不同难度级别。
- 资本效率:确保系统安全所需的资本和转移资产的交易成本。
- 状态性:能够转移特定资产、更复杂的状态和/或执行跨链合约调用。
综合起来,可以从以下角度来看待这三种设计的权衡:
此外,安全性在一个范围内,可以粗略地将其分类为:
无信任(Trustless):跨链桥的安全性与它所桥接的底层区块链的安全性相同。除了对底层区块链共识层的攻击之外,用户资金不会丢失或被盗。也就是说,实际上没有什么是无信任的,因为所有这些系统在其经济、工程和加密组件中都有安全性和存活假设。
保险(Insured):恶意行为者能够窃取用户资金,但他们这样做可能无利可图,因为他们在出现错误或不当行为的情况下需要提供抵押品并被罚款。如果用户资金丢失,他们将通过没收部分抵押品进行补偿。
绑定(Bonded):类似于保险模型,但用户不会在出现错误或不当行为的情况下收回资金,因为被罚款的抵押品可能会被销毁。抵押品类型对Bonged和保险模型都很重要;内生抵押品(即抵押品是协议代币本身)风险更大,因为如果跨链桥发生故障,代币价值可能会崩溃,这进一步降低了跨链桥的安全保证。
受信的(Trusted):Actor不提供抵押品,用户也不会在系统故障或恶意活动的情况下收回资金,因此用户主要依赖于跨链桥运营商的声誉。
总结设计上的权衡
外部验证器和联邦通常在状态性和连接性方面表现出色,因为它们可以触发交易、存储数据并允许在任意数量的目标链上与该数据进行交互。然而,这是以安全为代价的,因为用户依赖于跨链桥的安全性,而不是源链或目标链。虽然当今大多数外部验证器都是受信任的模型,但也有些是抵押的,其中的一个子集用于为终端用户提供保险。不幸的是,他们的保险机制通常是反身性的。如果将协议代币用作抵押品,则假设该代币的美元价值足以保护用户。此外,如果抵押资产与被保险资产不同,那么需要依赖于预言机的价格流,因此跨链桥的安全性可能会降级为预言机的安全性。如果是不受信任的,这些跨链桥的资本效率也是最低的,因为它们需要依据经济吞吐量成比例地扩展抵押品。
轻客户端和中继在状态性方面也很强大,因为区块头中继系统可以传递任何类型的数据。它们的安全性也很强,因为它们不需要额外的信任假设,尽管有存活假设(因为仍然需要中继器来传输信息)。这些也是资本效率最高的跨链桥,因为它们不需要任何资本锁定。这些优势是以连接性为代价的。对于每两条链,开发者必须在源链和目标链上部署一个新的轻客户端智能合约,其复杂度介于 O(LogN) 和 O(N) 之间。依赖欺诈证明的Optimistic模型也存在明显的速度缺陷,它可能会将延迟增加多达 4 小时。
流动性网络在速度和安全性方面表现很好,因为它们是本地验证系统(即不需要全球共识)。它们也比Bonded/Insured的外部验证器更具资本效率,因为资本效率与交易流量/交易量相关,而非安全性。举个例子,假设两条链之间的流量大致相等,并且有一个内置的再平衡机制,流动性网络可以促进任意大的经济吞吐量。这个模式有所权衡的则是状态性,这是因为虽然它们可以传递调用数据,但它们的功能有限。举个例子,流动性网络可以跨链与数据交互,其中接收方有权根据提供的数据进行交互(例如,使用来自发送方的签名消息调用合约),但它不能帮助传递没有“所有者”或者只是一般状态一部分的数据。
3 跨链桥还需要解决哪些问题?
在分布式系统中,构建鲁棒的跨链桥是一个非常困难的问题。虽然该领域有很多发展,但仍有几个悬而未决的问题:
最终性和回滚:跨链桥如何考虑概率性最终性(probabilistic finality)链中的区块重组和时间强盗攻击?例如,如果用户从波卡向以太坊发送资金,其中一条链回滚了怎么办?
NFT 转移和出处:跨链桥如何为跨多个链桥接的 NFT 保留出处?例如,如果有一个 NFT 在 Ethereum、Flow 和 Solana 的市场上买卖,所有权记录如何考虑所有这些交易和所有者?
压力测试:在链拥堵或者受到协议和网络级攻击的情况下,各种跨链桥设计将如何运行?
区块链跨链桥的未来
虽然跨链桥为区块链生态系统释放了创新,但如果团队在研发方面走捷径,它们也会带来严重的风险。Poly Network 黑客攻击事件已经证明了风险之大。虽然对于跨链桥建设者来说,这是一个高度分散和竞争激烈的格局,但团队应该保持纪律,先考虑安全性,然后考虑将产品推向市场。
虽然理想状态应该是一个同构跨链桥完成所有的事情,但很可能没有一个算得上“最佳”设计,不同类型的跨链桥适合不同的用途(例如资产转移、合约调用、代币铸造) 。
此外,最好的跨链桥将是最安全、互连、快速、资本高效、成本效益高且抗审查的。如果我们想实现“区块链互联网”的愿景,这些是需要最大化的属性。
对于跨链桥来说,现在还是早期,可能尚未发现最佳的设计。有几个有趣的研究和开发方向:
降低区块头验证的成本:轻客户端的区块头验证成本很高,找到降低这些成本的方法可以使我们更接近完全通用且无需信任的互操作性。一种有趣的设计可能是桥接到 L2 以降低这些成本。例如,在 zkSync 上实现 Tendermint 轻客户端。
从受信任(Trusted)模型转变为绑定(Bonded)模型:虽然绑定验证器的资本效率要低得多,但“社会契约”对于确保数十亿美元用户资金的安全来说是一种危险的机制。此外,花哨的阈值签名方案不会显着降低对这些系统的信任;虽然它是一群人,但并不能否认它仍然是一个受信任的第三方。在没有抵押的情况下,用户实际上是将他们的资产移交给外部托管人。
从绑定(Bonded)模式转变为保险(Insured)模式:财产丢失是非常糟糕的用户体验。虽然绑定的验证器和中继器可以抑制恶意行为,但协议应该更进一步,直接使用罚没的资金补偿用户。
扩展流动性网络的流动性:这些可以说是资产转移最快的跨链桥,并且在信任和流动性之间存在有趣的设计权衡。