9

详解跨链桥机制:风险与机遇并存

 1 year ago
source link: https://www.ccvalue.cn/article/1398780.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
新的桥设计将被探索,新的安全模型将被验证,新的基于桥的应用将不断出现。

随着加密行业的持续发展,新的桥设计将被探索,新的安全模型将被验证,新的基于桥的应用将不断出现。

在过去的一年里,以太坊作为主要智能合约区块链的主导地位受到了其他第一层的挑战。多链世界不再是一种怀疑;它变成了现实。随着这些新链得到采用,它们的共识机制、智能合约语言和社区价值将 Web3「打碎」,使它变成各种生态系统。

L1 市场份额 (占 TVL 的百分比)

f4be74af5cb22ffa4fd571c2f9ca7c1c.jpg

这些生态系统为各自的社区创造价值,但由于缺乏互操作性,使其失去了很多跨链的协同价值。碎片化也导致了部落化的增加,更多的攻击载体,以及更糟糕的用户体验。

为了产业的发展和获得数十亿的新用户,这些链之间的摩擦必须最小化。这是加密桥的主要目标。

本报告将涵盖桥的定义、不同桥设计的分类、不同设计之间的权衡、与桥相关的风险,以及我们对桥生态系统未来的看法。

桥的定义和分类

最抽象的理解,就是桥在两个或多个区块链之间传输信息。桥的主要用处就是把一个区块链上的资产交换为另一个链上的资产。不仅如此,桥还可以用于将数据或消息从源链传递到目标链。目前有超过 100 个的区块链桥用于在第 1 层和第 2 层生态系统之间传输信息。这种日益复杂的情形使得新进入的人很难理解该领域,因此用框架来简化各种设计可能是有帮助的。最近,Arjun Chand 创建了一个有用的框架,将许多类型的桥分成不同的类别。我们采用类似的方法对各种形式的桥进行分类。

桥可以根据许多特征进行分类。这包括他们如何跨链传递信息,他们的信任假设,以及他们连接的链的类型。

我们认为,最重要的因素是他们如何将数据从一个链转移到另一个链。

基于池的桥

为了理解基于池的桥是如何工作的,现在让我们举个例子:一个想要将 USDT 从以太坊转移到 Polygon 的用户。用户首先将以太坊版本的 USDT 存入以太坊上的指定的合约地址 (也就是池),并指定该 USDT 应归属于的 Polygon 网络上的接收地址。桥使用此信息将 Polygon 版本的 USDT 转移到指定的 Polygon 地址。

基于池的桥机制

3d854aa1a3526c27c51311f7e25af8a6.jpg

这种设计的一个主要限制是,桥必须在目标链的池中有足够的资产,以便用户能够移动资金。在上面的例子中,如果 Polygon 的 USDT 池是空的,存放在以太坊池中的 USDT 将被「卡住」,直到另一个用户用足够的 USDT 来补充 Polygon 的 USDT 池,并有从 Polygon 到以太坊进行反向转账的需求。此外,这些类型的桥只允许一种类型资产的跨链转账。以太坊上的 USDT,想要在 Polygon 上换成 MATIC,那就只能是在 Polygon 上收到 USDT 后完成该操作。

这种设计的主要优点是,用户在新链上收到代币后,不需要依赖池的安全性。他们收到的资产是新链上资产的原生版本,因此不依赖于赎回基础资产来维持其价值。这与另一种常用的桥架设计相反:锁定 & 铸造 / 销毁 & 赎回。

锁定 & 铸造 / 销毁 & 赎回

另一种常见的桥使用一种被称为「锁定」或「销毁」的机制。我们将再次使用上一节中的以太坊 USDT 到 Polygon USDT 的例子来描述该机制的工作原理。与之前一样,用户首先将以太坊版本的 USDT 存储到桥拥有的指定合约地址中,并指定接收地址。这个步骤被称为「锁定」。然而,与之前不同的是,这种类型的桥在 Polygon 上「铸造」或发行自己版本的存储资产,并将其记入接收者的账户中。这些被铸造的代币通常被称为「打包」代币,它们的价值取决于最终将它们赎回为源链上的基础资产的能力。当用户想要回到以太坊时,打包好的代币被简单地发送到 Polygon 上的桥接合约地址并进行「销毁」。这允许以太坊上的基础资产被赎回并发送到指定的接收地址。

锁定 USDT 到铸造打包的 USDT

848deee0dcfe5952fb423a5562d61534.jpg

销毁打包的 USDT 到解锁 USDT

98d3a42c529dcbf7653daabb5001b31d.jpg

由于打包代币依赖于其可赎回性来维持其价值,所以打包资产的持有者面临智能合约的风险。如果源链上的池被利用并被耗尽基础资产,打包的代币将变得毫无价值。这正是最近在 Wormhole 桥上发生的事情,造成了超过 3.2 亿美元的损失。

也就是说,锁定 & 铸造 / 销毁机制的优势在于,这些桥可以始终允许从源链到目标链的资产转移,反之亦然。这是因为目标链上的桥合约中不需要有一个可用的代币池。这些类型的桥在可扩展性方面具有优势。

原生交换桥 (具有去中心化的中介链)

这种类型的桥在过去一年多的时间里越来越受欢迎,大概率是由于 THORChain 的逐渐壮大。原生交换桥允许用户将源链上的原生代币交换为目标链上的另一个原生代币。例如,用户可以在各自的链上将原生 BTC 交换为原生 ETH,而不需要打包资产。这是通过使用跨链自动做市商 (AMM),以及使用监控和记录源链和目标链状态的中介链来实现的。尽管跨链交换不同原生资产的功能是非常有用的,但这种类型的桥使用的是最复杂的转账机制。

为了简单地解释它是如何工作的,让我们看一个从 BTC 到 ETH 的例子,使用 THORChain 架构的基本版本作为参考。

通过去中心化的中介链和内置的 AMM 将原生 BTC 换成原生 ETH

04a66bd2960cf5ecbfae92c933d1eb55.jpg

在这个例子中,持有 BTC 的用户首先将这个 BTC 发送到一个比特币地址,这个地址被称为金库。这个金库会由许多节点进行控制和监控,这些节点观察进来的交易,并记录中间链上比特币金库的更新状态 (例如 THORChain)。一旦节点确认金库收到了 BTC,节点就会计算适当数量的 ETH 以记给以太坊区块链上的用户。与任何其他 AMM 交换一样,跨链互换执行的价格取决于互换的规模,就是相对于两个链上的金库中可用的 BTC 和 ETH 的各自数量。「消耗」大量可用流动性的较大交换与使用很少可用流动性的小交换相比,前者会以更不利的价格执行。一旦交换金额计算出来,中介链就会向以太坊网络发送一条消息,从金库地址向用户的接收地址发送适当数量的 ETH。

与基于池的桥相比,带有中介链的原生交换桥提供了更高级别的去中心化和抗审查。对于桥用户来说,它还可以避免打包资产带来的智能合约风险,但流动性提供者的资产仍然可能因为黑客或漏洞,使他们从 AMM 的流动性池中被盗。

尽管该类型的桥有这些优点,但他们的结构比其他桥设计要复杂得多。创建一个可信的去中心化的原生互换桥是高度资本密集型和耗时的。例如,为了实现从 BTC 到 ETH 的原生交换,每个 THORChain 节点必须同时运行一个完整的比特币节点和一个完整的以太坊节点。此外,必须激励每个 THORChain 节点诚实可靠地行为。

原生交换桥 (通过稳定币交换)

这种类型的桥旨在提供原生交换的便利性,并结合基于池的桥架构的简洁性。从本质上讲,这些桥的工作方式很像基于池的桥,但是添加了一个额外的步骤,允许用户在目标链上接收不同于他们存放在源链上的资产。这类桥的一个例子是 LayerZero Labs 的 Stargate 桥。我们将再次使用一个例子来解释它们是如何工作的。现在举一个从 SOL 到 ETH 的原生交换的例子。

通过使用两个 AMM 和跨链 Stableswap 桥交换原生 SOL 和原生 ETH

cd79dcd6e06b4013afaeb6d5479eb9bd.jpg

同样,用户首先将其资产 SOL 存入 Solana 的指定合约地址,该地址属于桥。然而,与之前的例子不同,这种存款实际上触发了 SOL 到 Solana 上的稳定币的 AMM 交换。例如,它可以将 SOL 换为 USDC。从这里开始,这座桥的功能就像一座基于池的桥;桥提供者将 Solana 合约地址中的稳定币余额记入用户的以太坊合约地址上。最后,一旦 USDC 在以太坊上被记给了用户,桥接器就会执行另一次从 USDC 到 ETH 的 AMM 交换。然后这个 ETH 被记入用户指定的接收地址。从本质上讲,这些桥的功能是基于池的桥,只在链上转移稳定币,以便在跨链转移过程中提供更好的价格执行。与往常一样,这两条链上的 AMM 交换执行价格是交换桥相对于两个池中可用流动性的函数。

该体系结构避免了打包资产的智能合约风险,并提供了比中间链体系结构更简单的跨链通信机制。但是,根据每个 AMM 的流动性,也有可能得到不利的交换价格。

Home/Replica 合约消息传递 (通过乐观的欺诈证明)

这种特殊类型的桥利用位于独立链上的两个合约地址,称为 Home 合约和 Replica 合约,以及四个不同的被激励的链下参与者来跨区块链的发送消息。也许这类协议中最值得注意的是 Nomad,它允许多链应用程序更容易地进行跨区块链生态系统的通信。让我们通过另一个简单的例子,从以太坊发送消息到 Polygon 来解释它是如何工作的:

通过受激励的链下参与者进行更新、监控和传播的 Home 合约和 Replica 合约来跨链发送消息

ee6ef3d1650b3dc318fa1147399b7e49.jpg

以太坊上的用户通过向以太坊上的 Home 合约地址提交消息来开始整个旅程。Home 合约收集此消息,并将其与接收到的其他消息一起放入队列中。此时,一个被称为「更新者」的链下参与者签署此消息组,以更新 Home 合约的状态。为了签署这些消息,更新者必须发布 Home 合约的抵押品,如果后来证明发生了任何恶意行为,该抵押品将被大幅削减。第二个链下参与者,「观察者」,会监控 Home 合约和 Polygon 上的 Replica 合约,以确保所有消息都被记录并正确发送。由于桥依赖于乐观的欺诈证明,观察者会负责提交恶意活动的证明,以阻止其被处理,并惩罚恶意更新者。否则,消息将被桥认为是正确记录并已被发送 (因此命名为「乐观」)。假设观察者没有检测到更新者操作的问题,链下的第三个参与者,「中继者」,将把消息传输到 Polygon 上的 Replica 合约。最后,第四个链下参与者,「处理者」,将消息从 Replica 合约传播到消息的最终接收者。

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

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

需信任的与去信任的

在这个分类中,桥分为两类。他们要么是 a) 需信任的 ,要么是 b) 去信任的。换句话说,用户要么信任第三方来维护桥的安全性和操作,要么依赖以分布式方式设计和运行的软件,这样单个实体就不能改变其状态或操作。一些需要信任的桥的例子包括 xPollinate、Matic Bridge 和 Binance Bridge。一些去信任的桥的例子包括 THORchain、Ren 和 Cosmos IBC。

重要的是,需信任的与去信任的之间的区别并不是犹如黑与白那样分明。与具有更大、更异构的运营商集合的系统相比,具有更小或更集中的运营商集合的分布式软件协议将更容易受到单点故障的影响。同样,要求用户将资产锁定在合约地址中以换取打包资产的桥也要求用户相信代码的编写方式是可以防止漏洞利用或盗窃的。非托管桥不需要这种信任,因为它们通常由中心化实体运行。

他们连接什么?

从第 1 层到第 1 层

第 1 层到第 1 层的桥允许用户将资金从一个 L1 生态系统转移到另一个当中。例如,Wormhole 的 Portal 桥可以使资产从 Solana 转移到以太坊。通过增加这些第 1 层生态系统之间的互操作性,Web3 用户可以自由地在他们喜欢的链上花费时间和资源,同时保持随时切换链的灵活性。

从第 1 层到第 2 层

第 1 层到第 2 层桥允许 L1 链 (如以太坊) 与建立在第 1 层链之上的 L2 链进行通信。例如,用户可能希望将 ETH 从以太坊主网连接到 Arbitrum, Optimism 或 ZkSync。他们可以通过使用每个 L2 的原生桥来转移他们的代币,或者他们可以使用第三方桥,如 Across。随着 L2 生态系统的持续增长,这些桥将在以太坊主网活动向 L2 的过渡中发挥重要作用。

从第 2 层到第 2 层

随着 2022 年上半年的结束,第二层的路线图也变得越来越清晰。Polygon 的各种第二层扩展解决方案 (Miden, Hermez, Nightfall), Starkware 的 ZK-rollup Starknet,以及 Matter Lab 的 ZkSync 2.0 将为开发人员提供必要的核心构建模块,以构建不被过高的 gas 费用所干扰的应用程序。然而,这些不同的 L2 并不是天生兼容的,所以它们有可能演变成我们在 L1 中看到的那种「支离破碎」的场景。L2 到 L2 的桥的目标是确保 L2 生态系统保持高吞吐量、低 gas 费用和高安全性的优点,同时减少潜在的 L2 生态系统的分裂。一些积极致力于实现这一目标的项目包括 Hop Protocol 和 Orbiter Finance。

尽管有几十种桥的设计,但没有一种桥能够获得互操作性三难的所有特性。互操作性三难困境,一个由 Arjun Bhuptani 创造的术语,指出桥只能拥有以下三个属性中的两个:通用性、可扩展性和去信任性。

  • 通用性:能够在两个链之间传递任意数据

  • 可扩展性:能够在异构链上快速部署

  • 去信任性:将信任假设最小化

互操作性的三难困境

13b44f6d6e3034fcbf664be28b8aa489.jpg

类似于可扩展性三难困境,当一个桥选择其中两个属性时,最后一个属性就会受到影响。例如,Connext 是一个去信任的桥,它支持在两个兼容 EVM 的链之间进行代币转账。目前,它不能传递任意数据,这意味着它将可扩展性和去信任性优先于通用性。其他的桥,如 ZetaChain,优先考虑可扩展性和通用性,以牺牲去信任性为代价,所以其需要额外的信任层。

由于桥的主要用例是两个区块链之间的代币转账,大多数项目都选择了通用性和可扩展性,以快速部署在异构链上,并保持传递任意数据的灵活性。这使得这些类型的桥比许多竞争对手部署得更快,并满足了市场对代币转账的需求。虽然这对许多用户来说是一种未知的代价 (在风险部分中会涉及到),但这些类型的桥可以将它们的用例从执行简单的代币转账扩展为更全面的开发人员平台。

我们可以通过将桥比喻成连接两个高度拥挤的城市的收费公路,来说明桥从代币转移机制到应用程序平台的过渡。每当用户想从 A 市前往 B 市时,收费公路就会收取费用。桥已经慢慢地从收费公路模式转向城镇模式,即开发者在桥上构建应用程序,在 A 市和 B 市之间创建一个城镇。

庞大的城镇 (生态系统) 最终将在连接不同城市的收费站 (桥) 上发展 (区块链)

98d181af91c904a5d1e3e194f985cd0d.jpg

因为有些桥拥有成千上万的用户,并且已经转账了数十亿美元的流量,他们可以利用现有的用户活动来激励开发者在他们的桥上构建应用程序。继续以收费公路为例,我们可以将开发者比作雄心勃勃的企业家,他们在目睹了大量市民 (用户) 的涌入后决定搬进小镇。在看到更多的活动在这个城镇发生后,其他企业家也会搬到这个城镇,开始创建更大的企业 (应用程序)。不久,这个小镇变得更大了,以前作为两个大城市之间的交通工具的收费公路现在成为了通往这个蓬勃发展的小镇的门户。

桥作为应用平台或「零层」

在前面的类比中,有一些值得注意的项目正试图成为蓬勃发展的「城镇」。这些项目专注于创造跨链连接数据的新方法,同时为 dapp 生态系统提供基础。它们包括:

RenVM

前面提到的收费公路和城镇类比的一个例子是 RenVM 和 Catalog 协议。RenVM 使用前面描述的锁定 & 铸造 / 销毁 & 赎回机制支持跨链事务交易。这允许用户利用被称为「renBTC」的打包 BTC 代币在以太坊和 Polygon 之间转移 BTC。桥接可以被看作是构建在 RenVM 之上的一个应用程序。除此之外,Catalog 是一个协议,它在推广 RenVM 模块以在 RenVM 本身内构建自动做市 (AMM) 解决方案方面迈出了第一步。Catalog 是第一个使用「无限流动性」机制建立的。无论它们存在于哪个链上,这种 AMM 设计不仅使用 Catalog 自己的流动性池,而且也会利用第三方 DEX 的流动性池。Catalog 与 RenVM 及其现有的用户生态系统合作,在熟悉的用户体验中支持更复杂的交易类型。

LayerZero

LayerZero 是一个通信原语,它允许跨具有 LayerZero 端点的 EVM 链发送数据和信息。LayerZero 端点本质上是链上客户端。具有 ZRO 端点的链可以与任何其他具有 ZRO 端点的链进行交易。第三方预言机服务 (如 Chainlink) 需要位于端点之间,并充当交易和消息传递安全机制。

LayerZero 通过要求 Oracle 和 Relayer 这两个独立实体对交易进行验证来确保跨链通信的有效性

54251ff0ea2f15e88d74bbc0440db31a.jpg

部署在各种第 1 层区块链上的应用程序会发现这种方法非常简单。例如,如果 Dapp 是在 Polygon 上构建的,那么使用端点并将 Dapp 快速加载到 LayerZero 上是一个相当简单的任务。去中心化的应用程序如 Stargate 使用由 LayerZero 设定的通信标准来创建去中心化的交易所 / 桥。

ZetaChain

ZetaChain 是第 1 层区块链,不需要打包资产来跨链转移价值,也不需要每对区块链都有桥。这是通过 Zetachain 使用跨链消息传递实现的,它允许跨链和层发送数据和价值。利用全链智能合约,开发人员可以对 ZetaChain 进行编程,以侦听连接的区块链上的事件并对其采取行动。ZetaChain 依靠验证者节点的共识来保护自身安全,并通过分布式阈值签名方案来保护连接链上的私钥,以避免单点故障。PoS 为验证者提供了正确操作的激励。

Zetachain 与 LayerZero 等其他竞争对手的区别在于,即使是没有智能合约的区块链,如比特币,也可以被纳入到多链网络。

这些桥平台允许链之间的互操作,并允许在其上建立新的生态系统。这使得除了从链 A 发送代币到链 B 之外的新用例成为可能。也就是说,桥 / 桥平台的每个独特机制都有一定程度的风险。

与桥有关的风险

考虑到跨链消息传递所涉及的技术复杂性,在使用桥时存在各种风险。一些主要的风险包括:

0080896030bb71a76319096b3d659f03.jpg

为了减少审查风险和停止使用风险,用户可以简单地限制对需信任桥和乐观桥的使用。然而,安全风险永远不可能完全的被避免,因此了解可能的攻击向量以评估哪些安全系统比其他系统更健康是很重要的。

用来破坏桥安全的两种主要攻击向量是:

  1. 智能合约漏洞;

  2. 信任根漏洞。

桥的两个主要攻击矢量向量

243c8b852aad4ecff0cb4ad5a34d2478.jpg

当恶意参与者成功地攻击了桥的应用层时,就会发生智能合约漏洞。由于大多数桥必须在它们连接的所有链上部署安全的智能合约,较新的区块链更容易成为攻击的目标。像 Rust、CosmWasm 和 Substrate 这样的语言都有不断增长的开发人员社区,但是它们没有像 Solidity 这样成熟的语言那样拥有相同数量的开发人员工具和审计公司,所以漏洞进入主网的可能性更高。在开发桥时,如果考虑到速度和竞争因素,就很容易理解为什么智能合约漏洞是黑客最常见的攻击载体。

至于利用信任源,这些黑客需要一个恶意的参与者成功地攻击桥使用的底层验证方法。在 Ronin 中,恶意攻击者通过访问 Sky Mavis 的 9 个私有密钥中的 5 个来攻击诚实的大多数假设。一旦黑客攻破了 Sky Mavis 的安全系统,接下来的事情就成了历史。

正如人们所看到的,这些漏洞很难从外部看到,但与安全系统相关的成本可能是巨大的。在过去的一年里,桥漏洞的累计成本超过了 15 亿美元。

在过去的一年中值得注意的桥漏洞事件

6c02bba3bb0abd9b7ec3acfcf47bf6a4.jpg

更糟糕的是,不知情的 web3 用户在使用更高的 TVL/TVB 桥时很容易觉得更安全,因为这些桥看起来足够强大,可以处理大量的代币转账;然而,TVL/TVB 与安全性之间并无明显的关联。事实上,有人可能会说,随着 TVL/TVB 的增加,恶意行为者会有更大的经济动机去寻找漏洞,桥的安全也会面临更大的风险。

因此,在转移资金时应该考虑了解使用的桥的底层安全系统。如果散户需要快速发送 0.5 ETH 以确保 NFT 铸造,那么安全不需要是最优先级。然而,如果一个 DAO 计划将 10,000 ETH 转移到另一条链上的合约时,那么桥的底层安全应该仔细被检查。

随着加密行业的持续发展,新的桥设计将被探索,新的安全模型将被验证,新的基于桥的应用将不断出现。一些桥的成功将使协议和社区之间有更大的互连。虽然随着不安全的桥被过滤掉,可能会有一些短期的痛苦,但该行业的未来看起来是光明的。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK