加密資安觀點 – 鏈上交易 vs. 跨鏈交易

加密世界裡,現今多數黑帽駭客都會盯上「跨鏈橋」漏洞,靠其漏洞轉移加密資產。那跨鏈上被盜的「資產」去哪了,因其鏈上的「偽匿名性」特徵和實際 KYC / AML 趨嚴,這時就有一連串的洗錢漂白過程 — 攻擊者每隔幾天就會從錢包裡拿出來一部分錢,轉進 mixer (混幣器) 或一個可以被認為是用來「洗錢」的工具 Tornado Cash

以太坊聯合創始人 V 神也公開表示支持「多鏈」,而非「跨鏈」,反對以太坊和其他區塊鏈之間使用跨鏈解決方案,認為跨鏈橋會增加資產轉移過程中的安全風險。

 

跨鏈橋成為區塊鏈安全的弱點,需要從兩個概念談起:鏈上交易跨鏈交易。 

CertiK 工程師介紹,這是兩種完全不同性質的交易。鏈上交易依賴區塊鏈演算法的共識機制——已經被理論和實踐驗證過安全性。如果將區塊鏈看作一個系統,單獨的鏈上交易只是在系統內進行資料更新,達成共識。 

跨鏈交易則不然。一個「跨」字,打破了區塊鏈間的壁壘,也意味著「橋」兩端的不同系統需要在一定程度上保持更新一致,而這兩個系統可能存在很大差異。由於每條鏈的設計都只能保證鏈上交易,跨鏈交易需要依賴很多額外的機制,比如對鏈上資訊的監聽、處理和發送,複雜性和難度遠大於鏈上交易。 

舉例來說,要將以太坊上的 10 個 ETH 轉移到幣安鏈 (BSC),跨鏈交易的流程大致包括: 

  • 以太坊端的橋合約收到 10 個 ETH 後,發佈一個轉帳消息; 
  • 跨鏈網路監聽到這個消息; 
  • 跨鏈網路調用在幣安鏈端的橋合約,提供與 10 個 ETH 等值的幣給使用者。 

整個過程涉及三個相互聯繫但相對獨立的個體:以太坊上的橋合約,跨鏈網路和幣安鏈上的橋合約。它們分處於不同的平台上,相互之間只是通過消息傳遞機制來保證資料在鏈間的傳輸。 

跨鏈專案本身是一個複雜的系統,這裡的核心就是消息傳遞機制。一旦這個機制存在漏洞,就可能成為駭客偽造跨鏈消息從而發起攻擊的關鍵。 

 

更好的 Web 3世界 – 跨鏈橋的設置本身是為了去掉各自公鏈的隔閡,各公鏈之間資產可隨意流動和訪問,以免走向單一公鏈獨大,但也形成其他漏洞。因此 Web 3 概念裡,中心化和去中心化的界限並不是涇渭分明的,真實情形是在兩端遊走,但盡可能往去中心化靠攏,要 Decentralize 不要 Centralize。所以 Web 3 的世界仍存在著一定程度「中心化風險」。

駭客入侵事件頻繁發生,一個原因是智能合約在編寫時埋下了安全性漏洞,另一個原因是 DeFi 專案在設計時存在邏輯漏洞,例如沒考慮到加入手續費可能會對交易邏輯產生的影響。 

而對於 DeFi 來說,「中心化風險」通常源自某個項目中存在特權帳戶。特權帳戶可以隨意更改智能合約的配置,甚至動用其他普通使用者的資金,存在轉移資金的風險。 

 

警世金句 -「有利益的地方往往潛藏著危機,利益越大,危機越複雜