您的位置 首页 Defi-NFT

跨链桥安全事故频发,我还能用吗?

跨链互操作性的安全性,取决于其最薄弱(或者说是最受信任)的链接,而基于信任的跨链协议的安全模型,都考虑了第三方的额外安全假设。

昨晚,Axie Infinity 专属侧链Ronin被曝被盗价值 6.24 亿美元的加密资产(包括173,600 ETH和 2550 万 USDC),这也是迄今损失最为惨重的跨链桥安全事故。

令人尴尬的是,这次黑客事件还是在 6 天前发生的。

那 Ronin究竟是如何被盗的呢?作为一条以太坊侧链,Ronin 的跨链桥采用的是 MPC 门限签名技术,其设置的 9 个验证者密钥中,需要有 5 个或 5 个以上的验证者密钥批准才能进行存款和取款交易。

而其中有 4 个密钥是由同一个人(即 Sky Mavis)负责管理的,这意味着,只要攻击者控制了 Sky Mavis 的密钥,然后再控制另一个验证者密钥,那么整个Ronin网络的资金就被黑客掌控了。

而目前多数跨链桥项目,均采用了这样的多重签名技术,因此,理论上,这些项目也都可能会遭受类似的攻击。

已经出现过的跨链攻击方式

而私钥攻击,仅仅是攻击跨链桥手段的其中一种方式。

例如此前的 Poly Network(O3 等项目)黑客事件,黑客并不是通过盗取私钥来完成攻击,而是通过合约权限漏洞‌实施了攻击。

再比如前段时间出事的 Wormhole 跨链桥,攻击者也是利用了跨链桥的合约漏洞,欺骗了多重签名人的签名,铸造出了 12 万 Wormhole ETH,最终将锁定的 8 万 ETH 转移到了攻击者自己的钱包(注:详细攻击手法可以看DeFi之道编译的《Solana跨链桥项目Wormhole遭遇黑客攻击,损失近3亿美元‌》)。

除此之外,历史上还出现过假币充值、伪造网站等跨链攻击方式,基本上都是围绕私钥与合约漏洞展开的。

LayerZero(stargate)的安全隐患

下面,我们来谈谈最近比较火的跨链项目LayerZero,以及基于该协议的第一个跨链应用stargate。

截至发稿时,stargate 的池子里已经有了价值 33.8 亿美元的稳定币。

然而,该跨链项目的安全隐患问题同样令人担心。

例如,上周 Optimism 团队向其发出警告,称有人开始尝试对 Stargate 进行不寻常的攻击,随后stargate团队向 samczsun 等白帽黑客发起求助,后来修复了这个严重漏洞。而 Stargate 的问题不止于此,前几日,Stargate 被曝其核心合约都是由一个 EOA 地址私钥控制的,这意味着如果这个私钥遭到泄露,或者项目方想要作恶,那后果将不堪设想。

目前,尽管Stargate已经改成了2/3多重签名机制‌,但其依然有可能会遭遇类似Ronin Network 这样的管理密钥攻击风险。

(注:本文并不是说 Stargate 采用的中继器和预言机跨链模型没有价值,而是指其底层采用的基础设施,依旧和其他的一些跨链桥项目是一样的)

那跨链桥的安全问题那么多,真的就没有希望了吗?

信任最小化的跨链桥

并非那么绝对,只是说我们仍处于跨链的早期阶段,而通过采用 trustless 的方式,我们可以降低一些潜在的攻击面,以此提升系统的安全性。

1、依靠欺诈证明的 Nomad

例如,Nomad 采用的是一种乐观机制来提高跨链通信的安全性,其避免使用新的密码学,并依靠欺诈证明和发布证明‌来防止通道失败。

该协议的设计核心是 revocation(废除)而不是 permission(授权),这意味着密钥管理者只能撤销访问,而不能允许访问,换句话说,即便攻击者控制了系统所有的管理密钥,他也无法窃取资金,而他能够做的最糟糕的事就是 DoS 攻击整个网络。

注:Nomad依然有可能会存在合约漏洞风险。

2、采用轻客户端的IBC、Near彩虹桥等

多年来,采用轻客户端 & 中继的跨链通信协议被证明是当前最安全的跨链方式,例如 Cosmos 生态的 IBC 通信协议,其安全性就来自 Tendermint 共识的最终性,其设计没有引入需要信任的第三方,握手(模仿 TCP/IP 握手)首先在想要连接的两个链之间启动,然后确认。为了确认交易,一条链的有效性规则直接编码到另一条链上的 IBC 轻客户端中,并根据这些规则执行状态验证。

然后,轻客户端可以根据交易对手链的最新一致状态验证与交易相关联的区块头的 Merkle 证明,从而验证 ibc 交易另一端链的状态。

这种状态验证技术,以及来回传递数据包的中继器运营商的实时网络,确保 IBC 保持高度安全且无需许可。

然而,采用轻客户端的方式,意味着 IBC 目前只能局限于其生态之内,而无法有效扩展到以太坊等 EVM 生态。

除此之外,通过 IBC 进行跨链,也并非是绝对安全的,正如 Vitalik 在 2 个月前撰写的一篇帖子‌里提到,当跨链协议连接的区块链越多,问题就会变得越遭,如果有 100 条区块链通过 IBC 互相连接,那么这些链之间就会有许多相互依赖的 dapp,而 51% 攻击其中一条链,也会造成系统性传染,从而威胁整个生态系统的经济。

再来回顾一下文章开头的那句话:跨链互操作性的安全性,取决于其最薄弱(或者说是最受信任)的链接。这实际上也意味着,Cosmos 生态在不解决共享安全的情况下,就很难实现更多长尾链的扩展,而这也是 Cosmos 在今年的重点。

当然,Vitalik 也提到了,这些问题不会立即出现,51% 攻击任何一条 PoS 链,代价都是很大的,但他的提醒,确实是值得我们关注的。

3、信任最小化的 rollup 跨链桥

再来简单谈谈目前以太坊生态最依赖的 rollup 跨链桥,相比侧链跨链桥,当前的 rollup 跨链桥可能看上去并没有什么本质上的不同,两者都会依赖 n-of-m 联邦信任模型(也就是多重签名),但 rollup 跨链桥可以随着发展去掉这个信任模型,而最终的风险点在于智能合约本身,而侧链的跨链桥,当前只能依赖这个联邦信任模型,同时还会面临智能合约风险以及 51% 攻击风险。

一些简单的建议

跨链的水太深了,几乎每种方案都会面临多种潜在的攻击方式,而系统设计的越是复杂,遭遇攻击的可能性也就越大,因此,笔者并不建议通过现有的跨链桥在各个公链之间转移过多的资产。如果实在有需求,那我会建议采取以下几种方式,以降低遭遇攻击的风险;

  1. 通过较安全的中心化交易所,兑换对应链的原生资产,然后将其提取到相应链,以避免可能的智能合约风险。
  2. 采用信任最小化的跨链桥,例如 IBC、Nomad 以及成熟的 rollup 跨链桥。
  3. 暂时不看TVL指标,这个值越高,跨链桥被黑客攻击的可能性也就越大。
  4. 采用长期存在,并且从未出过安全事故的跨链桥,同时尽量避免使用不同生态之间的跨链桥。

最后,衷心希望跨链桥能够越来越安全。

相关资料:

1、https://rekt.news/zh/polynetwork-rekt/

2、https://www.defidaonews.com/article/6726562

3、https://mirror.xyz/0x0Ec8947fe8685fE1e368e3f729843F41De4A18E6/Zaz9EJ9zK2rfLZucVqyj4XKAyiFlu67R9U3dWStAXOY

4、https://blog.nomad.xyz/the-nomad-design-philosophy-6fc0eacf3263

5、https://old.reddit.com/r/ethereum/comments/rwojtk/ama_we_are_the_efs_research_team_pt_7_07_january/hrngyk8/

热门文章

发表评论

您的电子邮箱地址不会被公开。