1 年超 30 亿美元,被「黑」的加密货币都去哪了?

作者 | 雪小顽

编辑 | 靖宇

囤粮不囤「枪」,你家变粮仓。

「天呐,我的钱就这么没了吗?!」

当 24 岁的美国小伙洛根·埃文斯(Logan Evans)得知自己玩的游戏 Axie Infinity陷入一起黑客盗窃案,第一反应是「担心自己失去了一切」。

Axie Infinity 是全球知名的 NFT 游戏,一款典型的 GameFi(Game Finance,游戏化金融)产品。根据 Axie官网,该游戏的市场交易额已达 36 亿美元,每天吸引全球约 200 万用户。这起盗窃案损失高达约 6.25 亿美元,是目前 DeFi(去中心化金融)领域数额最大的黑客攻击事件。

黑客已经盯上了加密货币这块「肥肉」。根据 Chainalysis 发布的数据报告,黑客在 2021 年盗走了价值 32 亿美元的加密货币。2022年前三个月,黑客从交易所、平台和个人手中窃取了 13 亿美元,其中 97% 来自 DeFi 协议。

加密世界面临着前所未有的信任危机,安全性受到挑战。区块链安全值得人们关注,如果安全和信任得不到保障,区块链生态会沦为空谈。

在区块链世界里,新的概念和技术生生不息,但安全问题始终是构建新生态系统的地基。

01 黑客盯上「跨链桥」

除了担心丢钱,让埃文斯这样的玩家更为不满的是,游戏公司在被攻击后的第 6 天才反应过来,还是通过用户提醒。玩家们觉得,公司的疏忽才是整件事中最糟糕的。

事实上,这次被黑客攻击的目标并非 Axie 游戏本身,而是由此衍生出来的跨链桥 Ronin Bridge。

游戏项目方挨批评也不算冤。本来,每一种的加密货币都在各自独立的区块链上运行,彼此间没有简单的交互方式。例如,你可以在以太坊上和不同的地址自由交易以太币,但没办法将以太币直接发送到其他链上。

Axie Infinity 游戏页面。| 来源:NBC News

遭受黑客攻击的 Ronin Bridge,正是游戏公司为 Axie生态所创建的跨链桥,方便玩家在不同的区块链之间发送和交换游戏代币,绕开以太坊上昂贵的交易费用。

有了 Ronin Bridge,原本无法实现的资金跨链传送变得操作「丝滑」。

多链世界里,跨链桥是重要的基础设施,就像现实世界中的互联网和道路交通一样。跨链桥可以连接不同的区块链系统,允许用户在不同的链之间传送和交换代币。

简单来说,跨链桥可以将资产从一个区块链转移到另一个区块链,打通不同区块链系统间的操作。

在跨链桥上,资金往来是一件很平常的事情。Axie游戏公司很可能把黑客的操作误以为是用户正常的存取款行为,再加上缺少完备的合约余额监控系统,没有第一时间发现攻击行为。

生意上的精明,踩中了技术安全的坑。

02 被盗的「钱」去哪了?

埃文斯是幸运的,他没有因为黑客攻击而有真正的金钱损失——他持有的游戏货币和原来数量一样,只不过暂时没办法从游戏中提款。

但不是所有玩家都像他一样走运。黑客攻击 Ronin Bridge 之后,窃取了 17.36 万枚 ETH 和 2550 万枚 USDC,价值 6.25亿美元。这些被盗走的「钱」,去了哪里呢?

区块链安全公司 CertiK(公众号 ID:certikchina)高级工程师王沛宇告诉极客公园,这些钱被黑之后,全部去到了攻击者的一个钱包地址里。

攻击者每隔几天就会从钱包里拿出来一部分钱,转进 mixer(混币器)或一个可以被认为是用来「洗钱」的工具 Tornado Cash。

截至北京时间 5 月 4 日,被盗资金几乎全部被转走,原来的攻击钱包里只剩下 1.8 枚 ETH。

CertiK 利用 SkyTrace 生成的最新被盗资金流向图。| 来源:Twitter 账号 @CertiKAlert

接下来,攻击者很可能利用其他钱包地址从 Tornado Cash 中取钱,完成从盗窃到「洗钱」的闭环。

具体原理是这样的:Tornado Cash就像一个资金池,所有人都可以把钱存进池子里,然后再用另外一个钱包地址从池子里取钱。系统会提供一个取钱密码,任何钱包地址都可以用这个密码取钱。

重要的一点是:取钱的钱包地址是匿名的,而存钱的钱包往往能够查到来源。

随着链上分析技术的不断成熟,以及一些资金变动需要向交易所备案的身份验证,通过链上行为在一定程度上可以判断出钱包背后的主人是谁。而 Tornado Cash作为合法工具,本意是为用户提供保护隐私的功能。

由于资金数量巨大,「洗钱」过程又比较复杂,黑客想全部「洗」干净也不是一件简单的事。

那么,丢了的钱还有可能被追回来吗?

假如被盗的资金数额只有百万级别,追回的可能性极低。Ronin Bridge 事件中,攻击者将 6亿多美金存进资金池之后,可能发生的结果是池子里面的很多钱都属于他。在这种情况下,一旦发生大额取款操作,有可能判断出某个取钱地址背后是否指向这个攻击者。

总而言之,被黑的资金越多,黑客越难在短时间内把它「洗」干净,追回的可能性越大。但具体能追回多少数额,就很难说了。

03 为什么「受伤」的总是跨链桥?

Ronin Bridge 被袭的原因,是验证节点失守。Ronin Bridge 上有 9个验证节点,每个节点有对应的签名和私钥。用户想存取款成功的话,需要提供 9 个验证节点中的至少 5 个签名。

攻击者成功入侵了 Ronin Bridge 的 4 个验证器和一个第三方验证器,获取了 5 个合法的签名,就此拿下了跨链桥上的资金。

归根结底是游戏公司对私钥的管理存在漏洞。另外,工作室想利用多个密钥来授权操作,提高交易的安全性,但没有及时撤销游戏项目早期的名单访问权限,给黑客提供了可乘之机。

这并非黑客第一次对跨链桥下手。

半年前,名为 Poly 的跨链桥被黑,损失约 6 亿美元。今年年初,10 天之内就发生了 3起类似的「炸桥案」,引起了人们的警惕——「桥」已经成为区块链安全的薄弱环节。

就连以太坊联合创始人 V 神也公开表示支持「多链」,而非「跨链」,反对以太坊和其他区块链之间使用跨链解决方案,认为跨链桥会增加资产转移过程中的安全风险。

V 神认为跨链桥存在基本的安全限制。| 来源:Twitter 账号 @VitalikButerin 截图

跨链桥成为区块链安全的软肋,需要从两个概念谈起:链上交易和跨链交易。

CertiK工程师杨源楠介绍,这是两种完全不同性质的交易。链上交易依赖区块链算法的共识机制——已经被理论和实践验证过安全性。如果将区块链看作一个系统,单独的链上交易只是在系统内进行数据更新,达成共识。

跨链交易则不然。一个「跨」字,打破了区块链间的壁垒,也意味着「桥」两端的不同系统需要在一定程度上保持更新一致,而这两个系统可能存在很大差异。由于每条链的设计都只能保证链上交易,跨链交易需要依赖很多额外的机制,比如对链上信息的监听、处理和发送,复杂性和难度远大于链上交易。

例如,在同一家银行转账方便易操作,但如果想把钱转到其他银行,甚至境外银行,不仅流程复杂,还有手续费。

跨链桥在这中间的作用是,保证两个不同系统之间资金变化的正确性和一致性。

举例来说,要将以太坊上的 10 个 ETH 转移到币安链,跨链交易的流程大致包括:

• 以太坊端的桥合约收到 10 个 ETH 后,发布一个转账消息;

• 跨链网络监听到这个消息;

• 跨链网络调用在币安链端的桥合约,提供与 10 个 ETH 等值的币给用户。

整个过程涉及三个相互联系但相对独立的个体:以太坊上的桥合约,跨链网络和币安链上的桥合约。它们分处于不同的平台上,相互之间只是通过消息传递机制来保证数据在链间的传输。

跨链项目本身是一个复杂的系统,这里的核心就是消息传递机制。一旦这个机制存在漏洞,就可能成为黑客伪造跨链消息从而发起攻击的关键。

跨链操作难以验证安全性,还因为负责监听消息的服务器不在任何区块链系统内,只能通过监听到的消息和预设的消息格式来还原操作指令。这样一来,还原的准确性依赖于发布消息、监听和解码这一系列过程的正确性,难以被验证。

另外,不同跨链项目的代码复杂性较高,差别也比较大,潜在的安全性问题也更为多样化。与仅存储于单一链上的资产相比,跨链网络所涉及的资产更不稳定,也更易丢失。

跨链桥之所以复杂,是由于跨链双方是完全不同的系统,跨链网络作为中间第三方,它的消息处理能力、消息验证发行的安全性等,都有潜在的风险。

尽管「桥」增加了资产转移过程中的安全风险,但跨链项目依旧大量涌现,活跃在「桥」上的资金就像静置盘中的蛋糕,美味又易取,吸引黑客前赴后继来下刀。

Ronin Bridge被黑给项目方们又上了一课:想避免黑客攻击事件发生,最重要的是保证私钥的安全性。在具体执行上,可以使用安全性更高的硬件钱包;保证多个私钥的分散性;及时撤销某个废弃节点的权限。

04 Web 3 的外衣,Web 2 的灵魂?

在人们的想象中,「去中心化」的区块链和 Web 3 世界,安全性是与生俱来的特性之一。没想到它却是不成问题的问题。

这是多个因素博弈的结果,也是一笔经济账。在设计上,跨链桥可以实现去中心化,也可以中心化,但去中心化的设计成本和运行成本都高于中心化,因为它更加复杂。

如前文所说,在去中心化的桥上转移资产,需要获得多个节点的签名,依赖复杂的设计和资源投入才能实现。如果换成中心化的桥,项目方的设计和管理都更加方便,成本更低。一些跨链项目为了系统的高效和便捷,采取了中心化的信息处理方式。

有观点认为中心化的桥偏离了 Web 3 的精神,背后还是一套 Web 2 的旧逻辑。

但在王沛宇看来,目前跨链桥的存在还是更接近 Web 3,属于典型的 Web 3产物。因为跨链桥的功能就是把钱从一个区块链转到另外一个区块链,这是在桥上实现的。几乎所有的桥的实现都包含了智能合约的逻辑,智能合约是存在于区块链上的代码。

中心化和去中心化的界限并不是泾渭分明的,Web 3 的世界存在着「中心化风险」。

黑客入侵事件频繁发生,一个原因是智能合约在编写时埋下了安全漏洞,另一个原因是 DeFi项目在设计时存在逻辑漏洞,例如没考虑到加入手续费可能会对交易逻辑产生的影响。

对于 DeFi 来说,「中心化风险」通常源自某个项目中存在特权账户。特权账户可以随意更改智能合约的配置,甚至动用其他普通用户的资金,存在转移资金的风险。

当特权账户在更新配置时出现操作失误,也会给其他用户造成损失。

特权账户手里的权力过大,还可能为黑客提供一张自由进出的通行证。一旦黑客攻下了特权账户的私钥,就可能通过这个账户盗取项目资金,损害其他人的权益。

跨链技术和项目的诞生,打通了加密世界不同区块链之间的壁垒,可以提高虚拟货币的经济流通性。以 Axie 为代表的 GameFi产品,丰富了区块链的应用场景,让技术更加亲民,降低了 Web 3 的参与门槛。

但值得警惕的是,没有一成不变的美好。正如现实世界一样,有利益的地方往往潜藏着危机,利益越大,危机越复杂。

Ronin Bridge 被黑确实给埃文斯这样的氪金玩家提了个醒,但他并不打算放弃这个游戏。「我依然相信 Axie,我热爱这个社区里的一切。

参考资料:

https://www.nbcnews.com/tech/crypto/axie-infinity-hack-leaves-players-shaken- still-loyal-rcna23379

https://www.theverge.com/23017107/crypto-billion-dollar-bridge-hack- decentralized-finance

https://blog.chainalysis.com/reports/2022-defi-hacks/

Leave a Reply

Required fields are marked *