跨链互操作性的安全性,取决于其最薄弱的链接,而基于信任的跨链协议的安全模型,都考虑了第三方的额外安全假设。
昨晚,AxieInfinity专属侧链Ronin被曝被盗价值6.24亿美元的加密资产,这也是迄今损失最为惨重的跨链桥安全事故。
令人尴尬的是,这次黑客事件还是在6天前发生的。
那Ronin究竟是如何被盗的呢?作为一条以太坊侧链,Ronin的跨链桥采用的是MPC门限签名技术,其设置的9个验证者密钥中,需要有5个或5个以上的验证者密钥批准才能进行存款和取款交易。
而其中有4个密钥是由同一个人负责管理的,这意味着,只要攻击者控制了SkyMavis的密钥,然后再控制另一个验证者密钥,那么整个Ronin网络的资金就被黑客掌控了。
而目前多数跨链桥项目,均采用了这样的多重签名技术,因此,理论上,这些项目也都可能会遭受类似的攻击。
已经出现过的跨链攻击方式
而私钥攻击,仅仅是攻击跨链桥手段的其中一种方式。
例如此前的PolyNetwork黑客事件,黑客并不是通过盗取私钥来完成攻击,而是通过合约权限漏洞?实施了攻击。
再比如前段时间出事的Wormhole跨链桥,攻击者也是利用了跨链桥的合约漏洞,了多重签名人的签名,铸造出了12万WormholeETH,最终将锁定的8万ETH转移到了攻击者自己的钱包。
除此之外,历史上还出现过假币充值、伪造网站等跨链攻击方式,基本上都是围绕私钥与合约漏洞展开的。
LayerZero的安全隐患
下面,我们来谈谈最近比较火的跨链项目LayerZero,以及基于该协议的第一个跨链应用stargate。
截至发稿时,stargate的池子里已经有了价值33.8亿美元的稳定币。
然而,该跨链项目的安全隐患问题同样令人担心。
例如,上周Optimism团队向其发出警告,称有人开始尝试对Stargate进行不寻常的攻击,随后stargate团队向samczsun等白帽黑客发起求助,后来修复了这个严重漏洞。而Stargate的问题不止于此,前几日,Stargate被曝其核心合约都是由一个EOA地址私钥控制的,这意味着如果这个私钥遭到泄露,或者项目方想要作恶,那后果将不堪设想。
目前,尽管Stargate已经改成了2/3多重签名机制?,但其依然有可能会遭遇类似RoninNetwork这样的管理密钥攻击风险。
那跨链桥的安全问题那么多,真的就没有希望了吗?
信任最小化的跨链桥
并非那么绝对,只是说我们仍处于跨链的早期阶段,而通过采用trustless的方式,我们可以降低一些潜在的攻击面,以此提升系统的安全性
依靠欺诈证明的Nomad
例如,Nomad采用的是一种乐观机制来提高跨链通信的安全性,其避免使用新的密码学,并依靠欺诈证明和发布证明?来防止通道失败。
该协议的设计核心是revocation而不是permission,这意味着密钥管理者只能撤销访问,而不能允许访问,换句话说,即便攻击者控制了系统所有的管理密钥,他也无法窃取资金,而他能够做的最糟糕的事就是DoS攻击整个网络。
注:Nomad依然有可能会存在合约漏洞风险。
采用轻客户端的IBC、Near彩虹桥等
多年来,采用轻客户端&中继的跨链通信协议被证明是当前最安全的跨链方式,例如Cosmos生态的IBC通信协议,其安全性就来自Tendermint共识的最终性,其设计没有引入需要信任的第三方,握手首先在想要连接的两个链之间启动,然后确认。为了确认交易,一条链的有效性规则直接编码到另一条链上的IBC轻客户端中,并根据这些规则执行状态验证。
然后,轻客户端可以根据交易对手链的最新一致状态验证与交易相关联的区块头的Merkle证明,从而验证ibc交易另一端链的状态。
这种状态验证技术,以及来回传递数据包的中继器运营商的实时网络,确保IBC保持高度安全且无需许可。
然而,采用轻客户端的方式,意味着IBC目前只能局限于其生态之内,而无法有效扩展到以太坊等EVM生态。
除此之外,通过IBC进行跨链,也并非是绝对安全的,正如Vitalik在2个月前撰写的一篇帖子?里提到,当跨链协议连接的区块链越多,问题就会变得越遭,如果有100条区块链通过IBC互相连接,那么这些链之间就会有许多相互依赖的dapp,而51%攻击其中一条链,也会造成系统性传染,从而威胁整个生态系统的经济。
再来回顾一下文章开头的那句话:跨链互操作性的安全性,取决于其最薄弱的链接。这实际上也意味着,Cosmos生态在不解决共享安全的情况下,就很难实现更多长尾链的扩展,而这也是Cosmos在今年的重点。
当然,Vitalik也提到了,这些问题不会立即出现,51%攻击任何一条PoS链,代价都是很大的,但他的提醒,确实是值得我们关注的
信任最小化的rollup跨链桥
再来简单谈谈目前以太坊生态最依赖的rollup跨链桥,相比侧链跨链桥,当前的rollup跨链桥可能看上去并没有什么本质上的不同,两者都会依赖n-of-m联邦信任模型,但rollup跨链桥可以随着发展去掉这个信任模型,而最终的风险点在于智能合约本身,而侧链的跨链桥,当前只能依赖这个联邦信任信任模型,同时还会面临智能合约风险以及51%攻击风险。
一些简单的建议
跨链的水太深了,几乎每种方案都会面临多种潜在的攻击方式,而系统设计的越是复杂,遭遇攻击的可能性也就越大,因此,笔者并不建议通过现有的跨链桥在各个公链之间转移过多的资产。如果实在有需求,那我会建议采取以下几种方式,以降低遭遇攻击的风险;
通过较安全的中心化交易所,兑换对应链的原生资产,然后将其提取到相应链,以避免可能的智能合约风险。
采用信任最小化的跨链桥,例如IBC、Nomad以及成熟的rollup跨链桥。
暂时不看TVL指标,这个值越高,跨链桥被黑客攻击的可能性也就越大。
采用长期存在,并且从未出过安全事故的跨链桥,同时尽量避免使用不同生态之间的跨链桥。
最后,衷心希望跨链桥能够越来越安全。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。