資產橋成爲黑客攻擊高危地帶,cBridge 哈希時間鎖方案更安全嗎?

從資產跨鏈的實現機制理解 Celer cBridge 跨鏈橋的安全性。

撰文:Eric

此前 ChainSwap 和 Anyswap 跨鏈橋被攻擊的事件仍讓人心有餘悸,雖然損失並沒有對二者造成「毀滅性」的打擊,但已從側面表明當下主流跨鏈橋的實現邏輯存在隱患。目前跨鏈的基本邏輯在於通過一條鏈上的鎖定或銷燬和另一條鏈的釋放或鑄造實現資產的轉移,而 Celer Network 主導開發的跨鏈橋 cBridge 在不改變這一基本邏輯的前提下,推出了一個基於哈希時間鎖和流動性池的多鏈跨鏈方案,旨在讓跨鏈更加安全。

cBridge 的實現方式

cBridge 建立了多個流動性節點,通過在兩條鏈上的合約中添加充足的代幣流動性,在用戶進行跨鏈時,通過門戶服務選擇合適的節點,節點操作兩條鏈上的池中進行存入和取出實現跨鏈。這個方案乍一看有點像比特幣閃電網絡的實現方式:本質上是一個狀態通道,實現鏈與鏈之間的同一賬戶所有者的狀態同步。目前 cBridge 支持的鏈包括了以太坊、Arbitrum、幣安智能鏈(BSC)以及 Polygon。

當一位用戶準備利用 cBridge 進行跨鏈時,其所需要進行的流程如下:

  • 用戶向門戶服務(gateway service,即提供跨鏈服務的節點)發出跨鏈請求,服務提供一個轉發節點(relay node)的地址和所收取的手續費。
  • 用戶通過鏈 A 上的 cBridge 合約向轉發節點的地址發送一筆帶哈希鎖的轉賬,並指定一個過期時間鎖。
  • 轉發節點通過鏈 B 上的 cBridge 合約向用戶的地址發送一筆帶同樣哈希鎖的轉賬(扣除手續費)。
  • 用戶在發現這筆來自轉發節點的轉賬後,在鏈 A 公佈密鑰,解開哈希鎖,把資金釋放給轉發節點。
  • 轉發節點在鏈 B 用同樣的密鑰解開哈希鎖,把資金釋放給用戶,完成跨鏈過程。
  • 如果用戶不公佈密鑰,雙方都可以在時間鎖過期後,各自通過合約退回自己的資金,但手續費仍需要支付。
  • 對比此前被攻擊的 ChainSwap 和 Anyswap,首先,節點流動性池的設計規避了 ChainSwap 通過在另一條鏈鑄造新代幣可能帶來的邏輯漏洞,因爲在 cBridge 的跨鏈中,一條鏈上的鎖定和另一條鏈上的釋放是線性的關係,無法在單個節點鎖定之後在多條鏈上同時釋放多次。而對比 Anyswap 被技術手段反推了合約私鑰的攻擊方式,cBridge 的流動性池僅接受和發送轉賬,又加上了一層以時間節點爲觸發條件的「保險」,被反推私鑰的可能性不大。

    除了規避已發生過的風險,cBridge 相比 Hop 通過 AMM 的方式跨鏈,手續費和跨鏈幣種更加靈活,也可以爲不同的跨鏈需求制定不同的方案。此外,該種跨鏈模式的底層技術複雜度低,不高度依賴合約本身的完備程度,易於移植至支持 EVM 的鏈,甚至在理論上可以支持類似比特幣這樣非 EVM 的區塊鏈。

    至於跨鏈節點方面,cBridge 的設計降低了用戶小額跨鏈轉賬的費用,但節點可以通過流動性池來化零爲整,通過減少 Gas 費用這樣的固定成本去提高收益率,具體數據可參考《Celer cBridge 主網上線:無縫橋接跨鏈和跨層流動性》。

    安全的優先級高於複雜度

    對比每次跨鏈都要鑄造或銷燬資產這樣主要依靠智能合約驅動的方案來看,利用節點提供流動性來同步兩條鏈上狀態的跨鏈實現原子跨鏈的方案正如上文所說的,邏輯相對簡單。而當我們對此前 DeFi 和跨鏈橋的攻擊事件覆盤的時候,我們發現,大多數的攻擊都是針對邏輯設計的漏洞,真正通過技術手段實現攻擊的案例並不多。去中心化的世界很難頻繁實現回滾,邏輯的漏洞一旦被利用就註定了錯誤不容更改只能補救,所以犧牲複雜的實現邏輯,將產品儘量簡化確是一種思路。

    對於還沒有完全成熟的多鏈生態,區塊鏈領域需要擁有一定的產品思維,即目前來說安全性和易用性優先級需要高於複雜度,這也是比特幣之前的數字貨幣方案雖然充滿理想主義卻難以被大衆接受的原因之一。

    就 cBridge 的方案而言,由於操作跨鏈的節點是人爲建立的,所以一定程度上無法規避作惡的風險,而且門戶服務也一定程度上增加了 cBridge 跨鏈網絡的層級,效率上產生了損耗。但一方面來說,作惡的風險目前僅存在於跨鏈失敗,損失本金的風險很小;另一方面,一旦這個方案成熟了之後,是否可以進一步進化到類似 Curve 一樣在一個池中添加所有同性質代幣流動性,例如穩定幣一個池,比特幣的包裝資產一個池等,實現每個池的公有化,排除掉了門戶服務,從而使得簡單的邏輯思路得以保留,增強了安全性,也在網絡效率上留下了進一步提高的空間。



    coinpionex