安全性剖析:对比 LayerZero、Wormhole 等跨链桥优劣
撰文:Jonathan Claudius, Anirudh Suresh, Eric Wong, Akshath Sivaprasad
编译:0x9F,0x214,BlockBeats
在物理和加密的世界中,桥梁都是为了连接两个被障碍物隔开的地方。物理桥梁连接被山谷、河流等自然屏障隔开的土地,而跨链桥协议则连接原本没有办法进行通信和同步的区块链。每当桥梁遭受摧毁和攻击,其重要性就得以彰显。在物理世界中,历史上有据可查的灾难性桥梁坍塌事件足以表明它们是多么重要,以及设计或建造不当的桥梁是多么危险。
加密世界的「跨链桥」协议亦是如此。跨链桥在安全风险方面极易被盯上。从智能合约可能的漏洞和攻击的规模角度来看,跨链桥呈现出一个二次方风险面:随着桥接的区块链数量增加,维持跨链桥运行所需的智能合约数量也呈二次方增长(至少在点对点模型中如此)。根据定制配置在不同运行时间编写的更多智能合约也迅速增加了跨链桥风险。在轮辐模型中,一个与中心链 / 网络相关的漏洞会导致不对称的风险。
正如最近的 Nomad 攻击事件所示,一个错误可能导致桥梁的大部分或全部资金损失。然而漏洞与跨链桥无关,可能只是源于一个操作上的失误。在 Ronin 跨链桥的案例中,糟糕的操作安全措施让网络钓鱼攻击有机可乘,黑客获得了对保障网络安全的大部分验证节点的控制权,从而能够携带价值超过 5 亿的资金逃之夭夭。2 月份发生的 Wormhole 攻击事件同样是由于验证审查的缺失,让攻击者能够创建一个虚假签名,窃取超过 3.2 亿美元。
如果不关注安全性,不可避免地会发生更多的疏忽,因而遭受攻击和损失。对黑客而言,跨链桥规模巨大的 TVL 比普通协议更具吸引力。
上述的攻击事件均与协议的桥接逻辑无关,而是与智能合约漏洞和操作疏忽有关。即使使用最精心编写的代码,经过最棒的安全审计,随着连接的区块链和启用功能的数量增加,也必然会有被遗漏的漏洞。出于这个原因,跨链桥需要被配置为不仅在正常情况下能够安全工作,更重要的是能够应对极端情况。
用户在使用跨链桥时主要关注以下几个特性:良好的用户体验、低滑点高效率和资产安全。其中,安全性是评估跨链桥的重中之重。
考虑到这一点,让我们看看不同桥梁是如何迭加其安全性的。我们将从以下三个层面展开讨论,比较不同跨链桥的安全性。
信任假设
代码质保
安全特性
前两者将讨论:跨链桥在信任层和源代码这两个层面上是否充分考虑了其脆弱性 / 漏洞的根源。最后一点涉及到,一个协议是否承认,不管多么仔细地编码与审计,漏洞不可避免,并且能相应地建立了额外的保障措施,以尽可能减少用户的潜在损失。
为了保持完全透明,在深入讨论之前,我们承认 Jump Crypto 确是 Wormhole 项目的运营监护人,并且是 Wormhole 的核心贡献者之一,但我们在这篇文章中将尽可能客观评估,我们欢迎和接受任何关于如何改进这篇文章的反馈,以展现跨链桥之间差异的详细情况。
信任假设
从其核心构成,跨链桥可以被分解成 3 个组成部分:
智能合约(Smart contract):发出 / 接收每条区块链信息
预言机(Oracle):验证信息是否来自原始链
中继器(Relayer):将消息提交给目标链
在实践中,跨链桥在预言机上实现共识(围绕信息是否有效)这一方面可能存在很大差异,这也进一步影响中继器。
在我们深入研究之前,这里是对该领域一些最流行的桥接器所使用的共识机制的一个快速介绍。
Axelar
Axelar 在基于 Cosmos PoS 网络上运行,验证者由 Token 持有者选举产生,并按比例获得投票权,投票权重由委托权益加权计算得出。Axelar 网络通过 (t,n) 阈值签名方案来验证跨链信息,其中签名者的投票权,权重归一化为 n,n 必须大于 t,即协议阈值,才能签署一个信息。Axelar 网络目前最多有 50 个验证者,并且必须获得超过 66.67% 的多数投票才能签署消息(这两个变量都可以通过治理投票进行修改)。
理论上,验证者的数量可以无限大,但在实践中,因为验证者不需要为每条区块链运行节点,投票权会出现倾斜。在 Axelar 目前的验证者名单中共有 47 个验证者,但只有 20 个拥有实际有效的投票权。在某条