本文介绍了不同桥接的工作原理,并列举出使用不同验证方式的桥接用例
来源 | gov.l2beats.com
作者 | bartek.eth
我和来自 Socket 的 Vaibhav Chellani 想要提议一个用来评估不同桥接架构安全概况的风险架构。与各种 L2 的风险框架一样,我们的总目标在于,能够快速将某一解决方案“分类”到具有相似特征的某特定解决方案类别中,同时可以足够细致地向用户呈现他们使用这些桥接时需要接受的安全假设有哪些。我们主要关注在以太坊和其他链之间的桥接,因为我们即将在 l2beat.com 上介绍这些 (译者注:目前桥接一栏已上线),但是,关于这些解决方案安全性的基本推理也适用于任何链与另一条链的桥接。此刻,我们正在寻找更广泛社区对这个提议框架的反馈。
对于终端用户来说,资产桥接是指从来源链(source chain)接收某种资产的存款,并将这笔资产打给处于目标链(destination chain)上的用户。比如,典型的桥接流程就是,Alice 将资金转至 A 链的桥接合约,而后 Alice 在 B 链上收到来自桥接的资金。
广泛来说,这种流程有两种发生方式:
基于消息传递的代币桥接
—— 这些桥接能让流动性以消息传递的形式跨链流动。一般,它们允许一笔资产在来源链上锁定或销毁后,在目标链上铸造出来。
流动性网络
—— 也有桥接会兑换一些已铸造出来的资产。他们允许用户将资产转移至另一些链上,并假设这些资产已通过“消息传递”桥接(Message Bridge)提前将资产转移过去。
在这一部分,我们会试着阐释这些被多个桥接协议使用的验证跨链消息的不同方式。如上图所示,代币桥接会利用消息传递型桥接的安全性。
除了真的跨链发送资产以外,还有另一种的方法:跨链兑换(swap),只通过易手而不用跨链移动资产,就能进行跨链兑换。(译者注:易手即一方资产成为另一方所有,即资产所有者发生更换。)
举个简单的例子:A 链上的 Alice 想要将资产转至 B 链。Bob(流动性提供者,LP)在 B 链上已经有了一样价值的资产,他用自己在 B 链上的这笔资产为 Alice 在 A 链上的余额提供兑换服务,并收取服务费。最终,Alice 会获得 B 链上的那笔资产,Bob 则能获得 A 链上的那笔资产 + 服务费。
这部分仅描述了“兑换”协议的安全性,即 LP 在接受了你在来源链上的存款后,有多大可能会携款潜逃。这些兑换资产拥有铸造出它们的消息传递型桥接的安全性。
也有一些其他兑换资产的方式:
HTLC
: 又称哈希时间锁合约,可以用于跨链两方之间进行原子兑换资产。通常只需要用户做两步操作,一是锁定,二是解锁。可能发生的失败情况是,你的资金会在固定的“休眠”期限内被锁定。
条件式转账(Conditional Transfer):允许 LP 通过捷径消息桥接,以此让 LP 可以在任何桥接资金时,立即为终端用户提供资金,并从消息传递桥接中接收资金。在失败情况下,如果没有 LP 提供流动性,则会激活慢速路径(slow path)。
外部验证者:让用户可以将资金转至受信任的桥接提供者处,提供者会承诺释放资金至另一条链上。这里可能出现的失败情况是,你的资金会丢失。
我们将了解桥接发出的单条消息被审查可能性有关的安全假设。更实际地,我们也将探究单条消息 (代币转账) 是否会被桥接所审查或是忽视,如果会被审查,用户的资金会有什么后果(这些资金会被返还给用户,还是卡在“转账中”的状态里)。典型的解决方案:
在总体的活性故障方面,我们将来看看“关闭”桥接的后果。例如,对于使用外部验证者集的桥接,我们可以看看在这些验证者长时间离线(可能是无限期离线)的事件中用户资金的安全性。一般可能发生的情况包括:
在这一部分,我们将试着分析桥接资产可用的流动性。桥接可以铸造资产吗,需要 LP 吗,用户可以一直提款或转移他们选择的任意数量代币吗,或者他们依赖于外部的 LP,并且桥接可能会“耗完资金”。
ECN的翻译工作旨在为中国以太坊社区传递优质资讯和学习资源,文章版权归原作者所有,转载须注明原文出处以及ethereum.cn,若需长期转载,请联系eth@ecn.co进行授权。
本文首发于:https://www.ethereum.cn/Layer2/l2bridge-risk-framework
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!