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 協議。
加密世界面臨著前所未有的信任危機,安全性受到挑戰。區塊鏈安全值得人們關注,如果安全和信任得不到保障,區塊鏈生態會淪為空談。
在區塊鏈世界裡,新的概念和技術生生不息,但安全問題始終是構建新生態系統的地基。
黑客盯上「跨鏈橋」
除了擔心丟錢,讓埃文斯這樣的玩家更為不滿的是,遊戲公司在被攻擊後的第6 天才反應過來,還是通過用戶提醒。玩家們覺得,公司的疏忽才是整件事中最糟糕的。
事實上,這次被黑客攻擊的目標並非Axie 遊戲本身,而是由此衍生出來的跨鏈橋Ronin Bridge。
遊戲項目方挨批評也不算冤。本來,每一種的加密貨幣都在各自獨立的區塊鏈上運行,彼此間沒有簡單的交互方式。例如,你可以在以太坊上和不同的地址自由交易以太幣,但沒辦法將以太幣直接發送到其他鏈上。
Axie Infinity 遊戲頁面。| 來源:NBC News
遭受黑客攻擊的Ronin Bridge,正是遊戲公司為Axie 生態所創建的跨鏈橋,方便玩家在不同的區塊鏈之間發送和交換遊戲代幣,繞開以太坊上昂貴的交易費用。
有了Ronin Bridge,原本無法實現的資金跨鏈傳送變得操作「絲滑」。
多鏈世界裡,跨鏈橋是重要的基礎設施,就像現實世界中的互聯網和道路交通一樣。
跨鏈橋可以連接不同的區塊鏈系統,允許用戶在不同的鏈之間傳送和交換代幣。簡單來說,跨鏈橋可以將資產從一個區塊鏈轉移到另一個區塊鏈,打通不同區塊鏈系統間的操作。
在跨鏈橋上,資金往來是一件很平常的事情。Axie 遊戲公司很可能把黑客的操作誤以為是用戶正常的存取款行為,再加上缺少完備的合約餘額監控系統,沒有第一時間發現攻擊行為。
生意上的精明,踩中了技術安全的坑。
被盜的「錢」去哪了?
埃文斯是幸運的,他沒有因為黑客攻擊而有真正的金錢損失——他持有的遊戲貨幣和原來數量一樣,只不過暫時沒辦法從遊戲中提款。
但不是所有玩家都像他一樣走運。黑客攻擊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 億多美金存進資金池之後,可能發生的結果是池子裡面的很多錢都屬於他。在這種情況下,一旦發生大額取款操作,有可能判斷出某個取錢地址背後是否指向這個攻擊者。
總而言之,被黑的資金越多,黑客越難在短時間內把它「洗」乾淨,追回的可能性越大。但具體能追回多少數額,就很難說了。
為什麼「受傷」的總是跨鏈橋?
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 被黑給項目方們又上了一課:想避免黑客攻擊事件發生,最重要的是保證私鑰的安全性。在具體執行上,可以使用安全性更高的硬件錢包;保證多個私鑰的分散性;及時撤銷某個廢棄節點的權限。
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,我熱愛這個社區裡的一切。」