一文详解跨链新范式:optimistic 跨链桥
注:原文作者是 Connext 创始人 Arjun Bhuptani,在这篇文章中,他详细描述了 optimistic 跨链桥的工作原理,并将其与其他类型的跨链协议进行了一个简单的权衡对比。作者认为,以 Nomad 为代表的 optimistic 跨链桥提供了非常高水平的安全性,同时保留了现有多重签名跨链桥的简单性和易部署特性,因此,其代表了跨链和跨 rollup 通信技术的巨大飞跃。
几个月前,我们宣布与 Nomad 密切合作,这是一种跨链通信协议,它使用欺诈证明(类似于 Optimistic Rollups)来中继数据跨链。
在这篇文章中,我们将深入探讨 optimistic 跨链桥的工作原理、它们的权衡是什么,以及为什么我们会喜欢这类跨链桥。
回顾:互操作性三难困境
互操作性三难困境是一个解释跨链桥权衡空间的模型,它对当今存在的跨链通信协议类型进行了一个分类。
去年我们在写到这个三难困境时,我们根据验证方式,将跨链桥分为了三种类型:
本地验证(原子互换 & 快速流动性系统);
外部验证(多重签名、MPC、门限签名、PoS 和验证者桥);
原生验证(轻客户端区块头中继、rollup 桥);
在每种情况下,验证机制都需要从三个非常理想的属性中权衡并舍弃一种属性:
信任最小化:在底层链之外不添加任何经济安全假设;
通用性:支持跨链传递任意数据;
可扩展性:可部署到很多异构链,并且只需最少的定制工作;
Optimistic 验证
与本地、外部或原生验证的跨链桥不同,Optimistic 跨链桥探索了一种新的权衡:延迟。
以下是 Optimistic 跨链桥的工作方式:
与其他跨链桥类似,数据由用户或 dApp 在源链上发布到一个合约函数;
一个名为 updater(更新者)的代理者对包含步骤(1)中数据的 merkle 根进行签名,并将其发布到源链。与 rollup 定序器类似,在发生欺诈事件时,updater(更新者)绑定的保证金可以被罚没;
此时,任何中继系统(例如 Gelato、Keep3r、Biconomy 等)都可以在源链上读取此 merkle 根,并将其发布到一个或多个目标链;
将数据发布到目标链,会启动一个 30 分钟的欺诈证明窗口(类似于 optimistic rollup 的退出窗口)。在此期间,任何观察链的人(观察者)都可以证明源链上的欺诈行为,并断开与目标链的通信通道。如果发生这种情况,updater(更新者)的保证金将被罚没,即他们的资金将被拿走并交给发起争议的观察者;
如果在 30 分钟内没有出现欺诈证明,则传递到目标链的数据可被视为最终确定,并可由应用使用。通常,这是通过让服务提供商(processor)为跨链桥提交数据的 merkle 证明,然后利用该数据调用目标链上的合约函数来实现的;
因为传递的数据完全是任意的,optimistic 跨链桥让我们能够以最小的信任度构建任何类型的跨链应用。这里举一些例子:
Lock-and-mint
(锁定和铸造) 或 Burn-and-mint
(燃烧和铸造)代币跨链传输;
在单笔无缝的 tx 中跨链连接 DEX 流动性;
跨链金库策略管理;
关键协议操作,例如跨链复制/同步全局常量(如 PCV);
在不引入预言机的情况下,将 UniV3 TWAP 引入每条链;
与链无关的 veToken 治理;
元宇宙与元宇宙之间的互操作性;
经济安全模型
与 optimistic rollups 和状态通道网络类似,optimistic 跨链桥设计依赖于一组观察者来观察链并报告欺诈行为。这是一种与外部验证跨链桥完全不同的安全模型,就像 rollup 与侧链具有完全不同的安全模型一样。
外部验证跨链桥的加密经济学
外部验证(即多重签名、验证器、PoS、MPC 或门限签名)跨链桥利用了诚实多数假设,换句话说,系统中的 n
个参与者当中,需要有 m
个正确验证更新。在加密经济学术语中,这意味着:攻击具有 n
个验证者的外部验证跨链桥的成本,等于破坏或黑掉 m
个验证者的成本。
需要注意的是,这是一个新的潜在攻击向量——除非跨链桥的经济安全性大于 51% 攻击的成本,否则这必然意味着外部验证的跨链桥增加了一个(通常很重要的)信任假设。
如果系统能够(a)可靠地证明欺诈,并且 (b) 向用户全额返还可能在黑客攻击中损失的所有价值,则可以替代地实现外部验证跨链桥的完全经济安全。换言之,只有当可罚没的权益(例如 Thorchain 上的 RUNE)价值大于或等于整个系统的 TVL 时,外部验证跨链桥用户和 LP 的经济安全才能得到保障。请注意,(a)是一个很强的假设——最终证明欺诈本身,需要一个无需信任的跨链通信机制,这使得问题变得有点递归。
Optimistic 跨链桥的加密经济学
另一方面,观察者 + 欺诈证明模式使用了一个诚实者的验证者假设。换句话说,Optimistic 跨链桥只需要系统中 n
个参与者当中的 1 个来正确验证更新。
攻击具有 n
个验证者的 Optimistic 跨链桥的成本,等于破坏或黑掉 n 个验证者的成本。
如果 Optimistic 系统(无论是 rollup、通道或者跨链桥)的观察者是无需许可的(并且我们假设底层链是活动的),那么攻击系统的经济成本就是无限的。
这是因为无法去确保世界上没有一个匿名观察者会去证明欺诈。
这有一个非常有趣的结果:
在一个 optimistic 跨链桥中,尝试欺诈的 EV 总是负的,因为只要底层链是安全的,那么再多的钱也无法保证你的攻击会成功。因此,updater(更新者)需要绑定的可罚没权益数量只需要足够高,就可以防止欺诈企图。
这就是为什么 Optimistic Rollup 定序器只需要绑定 rollup 总 TVL 的一小部分。
故障模型
optimistic 跨链桥对外部验证的跨链桥所做的最重要的改进,也许是用活性(liveness)换取安全性。换句话说,只要底层链本身是安全的,理论上最坏的情况就是系统停机,而不会造成资金损失。
updater(更新者)DoS 攻击
与 rollup 定序器类似,如果系统停止签署更新,中心化 updater(更新者)可能会恶意或意外停止系统。
然而,去中心化 Nomad 的 updater(更新者)是一项相当简单的任务。一个简单的示例构造是拥有多个绑定 updater(更新者)(而不是单个 updater(更新者)),并使用循环方法对更新进行签名,如果给定的 updater(更新者)错过了“轮值”,则使用故障转移和罚没机制。
updater(更新者)欺诈
在 optimistic 跨链桥中中继跨链的任何数据,都必须由 updater(更新者)签名,这意味着系统中的任何欺诈行为,也必然源自 updater(更新者)。
在 optimistic 跨链桥中,欺诈总是可以在源链上确定性地证明(类似于 ORU 欺诈在 L1 上总是可以证明的)。为此,观察者只需向源链合约提交无效更新的证明,然后导致 updater(更新者)被罚没。然后,观察者在 30 分钟内向目标链提交签名消息,以“断开”通信通道(在该欺诈数据可以被视为最终确定之前)。
实际上根本不需要证明目标链上的欺诈行为。在源链上执行此操作,会正确地惩罚 updater(更新者),这首先会抑制欺诈行为,随后断开通信通道可以减轻任何潜在的损害。也就是说,观察者任意断开通信通道的能力,确实打开了 DoS 攻击向量,这一点我们将在下面讨论。
观察者 DoS 攻击
由于任何观察者都可以在 optimistic 跨链桥中发起断开通信通道,因此观察者有可能通过 DoS 攻击断开连接以永久停止给定的通信通道。请注意,观察者这样做,无法从系统中获得任何好处(任何资金/数据都是安全的),并且这种风险是按通信通道划分的(即断开一个通道不会导致整个系统瘫痪)。
Bill,别再断开我的通道了!
通过为观察者引入正确的激励措施,可以长期缓解这种类型的攻击向量。由于观察者在正确争论时会获得 updater(更新者)的罚没保证金,我们可以通过为观察者引入基线税来减轻观察者的痛苦,以启动欺诈证明。该税需要(a)足够高以抑制 DoS 攻击,但(b)与 updater(更新者)的保证金相比也要足够低,以便观察者仍然有强烈的动机启动有效的欺诈证明。另一个简单的解决方案是,只需将观察者生成的断开连接签名发布到源链,如果无法证明欺诈行为,则惩罚观察者。
目前,Nomad 通过许可制观察者集来处理这个问题。这改变了系统的经济安全性,因为现在有一组固定/已知的观察者可能会遭到攻击(从而限制了攻击成本)。然而,我们认为这是一个可以接受的权衡解决方案,因为它有一条直接且高度可信的最小化信任路径。这种方法也反映了其他防欺诈系统的部署方式:
从历史上看,状态通道网络从一个许可制的观察者集开始,以减轻 DoS 攻击的风险,直到可以建立正确的激励方式。
Optimistic rollup 项目目前处于同一类型的引导阶段,欺诈证明和争议尚未激活。虽然这意味着当前的 rollup 更需要被信任,但社区明白这只是一个临时的“训练阶段”。
链活性失败
我们上面讨论的核心假设,是底层链本身能够接受观察者的交易。对于任何基于欺诈证明的系统,这个假设都是相同的,其中典型的结构有一些证明窗口,观察者必须在该窗口内完成交易以将其发布到链上。
Nomad 已根据对攻击概率确定链的成本的现有研究,将他们的延迟时间参数化为 30 分钟。我们将在之后的文章中尝试分解此参数背后的研究和逻辑。
与其他跨链桥协议的对比
每个分布式系统都会存在某种形式的权衡,跨链也没有免费的午餐。截至目前,optimistic 跨链桥系统最明显的权衡,是增加了 30 分钟的传输延迟,尽管我们相信,通过使用模块化设计,将 Connext 分层在 Nomad 的顶部,我们可以缓解这一问题(之后会有更多的介绍)。
M of N 跨链桥
如上所述,与外部验证(多重签名、门限签名、MPC 或基于验证器集)跨链桥相比,optimistic 跨链桥在安全性和信任最小化方面有了巨大的提升。optimistic 跨链桥的 1 of N
安全模型可以缓解与共谋或密钥泄露相关的破坏性攻击向量风险。
例如,如果 Ronin 网络使用的是 optimistic 跨链桥,即使其所有密钥都被泄露了,黑客也无法获取到价值 6.25 亿美元的 Ronin 跨链桥资产。
类似的方案还有 LayerZero,它利用了两个重叠的 m of n
验证者集,其在功能上只是作为一个更大的 m of n
验证者集(参与者集合大小和共谋向量变得更难推理,除非两个集合的所有参与者的身份都已知)。
原子互换 & 快速流动性
本地验证系统(例如 Connext 当前的 nxtp 实现)虽然像 optimistic 跨链桥一样无需信任且易于部署,但无法支持跨链传递任意数据。
从这个意义上说,除了资金转移和简单的合约执行之外,本地验证跨链系统的表现都不如 optimistic 跨链桥。另一方面,本地验证系统对于减轻 optimistic 跨链桥的其他权衡(即延迟)来说是非常有用的。
区块头中继
像 IBC 这样的轻客户端区块头中继系统,通过在链 A 的 VM 内验证链 B 的共识来工作。区块头中继为我们提供了理论上最佳的信任假设,因为每个基础链的验证器集相互验证,而无需额外引入第三方(与外部验证的跨链桥不同)或关于活性的假设(例如 optimistic 跨链桥)。这类跨链系统也不受 optimistic 跨链桥的延迟权衡影响。
当然,区块头中继系统并非没有自己的挑战:
它们必须为每条新链/共识机制构建自定义轻客户端。
对于以太坊 PoW 共识机制而言,验证共识的成本非常高,因为内存要求很高。
由于回滚风险,区块头中继方法可能不适用于 optimistic rollup,但是,这绝对是一个开放的研究领域!
ZK(零知识证明)跨链桥
虽然目前还没有可用的去信任化 ZK 跨链桥,但我们在理论上可以基于零知识证明构建跨链桥,使用与区块头中继相同的策略来验证跨链的数据。
与区块头中继方法类似,ZK 跨链桥具有很好的去信任和低延迟属性,它们也可能比常规的区块头中继系统要便宜得多,因为证明共识不需要在链上发生。然而,在这样做的过程中,ZK 跨链桥引入了一些新的权衡:
与轻客户端区块头中继方法类似,ZK 跨链桥必须部署自定义策略来验证每条链的共识,并且它们可能根本不适用于 optimistic rollup 二层网络。对于 ZK 跨链桥,考虑到并非所有链都使用相同的密码学原语,这一点更具挑战性。
实际上,不可能在零知识的情况下证明所有共识模型。在这些情况下,需要某种类型的最终性工具,这会增加新的信任假设。
除此之外,ZK 跨链桥在验证成本和数据可用性方面,可能还有其他的缺点,尽管这些缺点尚未得到彻底的研究。
跨链的未来是乐观的
Optimistic 跨链桥提供了非常高水平的安全性(信任最小化属性),同时保留了现有多重签名跨链桥的简单性和易部署特性。
出于这个原因,我们对 Nomad 感到非常兴奋,并认为它代表了跨链和跨 rollup 通信技术的巨大飞跃。
Scan QR code with WeChat