原文作者:Jaleel
原文來源:BlockBeats
在 2023 年 10 月 16 日的一封電子郵件中,比特幣安全研究員、開發人員 Antoine Riard 深入探討了閃電網路通道所面臨的資金遺失風險,這些風險主要是由於交易池的問題引發的。他特別提到了一種影響閃電網路通道的交易中繼干擾攻擊,這在實踐中是完全可能的,即使沒有網路交易池擁塞也可能發生。
為了應對這些攻擊,多個主要的閃電網路實現在過去幾個月都已經設計、實施並部署了相應的緩解措施。 Riard 也列舉了這些主要實現的版本號:LDK: v0.0.118 – CVE-2023-40231;Eclair: v0.9.0 – CVE-2023-40232;LND: v.0.17.0-beta – CVE-2023-40233 ;Core-Lightning: v.23.08.01 – CVE-2023-40234 。
Riard 強調,固定攻擊(Pinning attacks)多年來被視為實際攻擊向量,而現在,替換循環攻擊(Replace-by-Fee Cycle Attack)似乎為攻擊者提供了一種新的手段。
同時 Riard 表示,自己將從現在開始停止參與閃電網路的開發,因為這種新的替換循環攻擊會將閃電網路置於非常危險的境地。
閃電替換循環攻擊如何運作?
在郵件列表中有很多關於這個新發現的漏洞的討論。在講閃電替換循環攻擊如何運作之前,首先我們要先知道的是;HTLC (哈希/時間鎖定合約) 作為有條件的付款工具,從發送方到接收方創建了一個安全的支付路徑。這個路徑要麼是接收方通過提供某個哈希值的原像來立即完成付款,要麼是在一定時間內未完成,則發送方可以拿回資金。
BitfeedLive 和 mempool 的開發者 mononaut(@mononautical)做了一個入門圖解:
閃電替換循環攻擊攻擊的核心是,假設 Bob 正在從 Alice 那裡透過閃電網路支付給 Carol 。 Bob 有兩個掛起的 HTLC:一個是從 Alice 那裡來的,另一個是寄給 Carol 的。
但 Bob 不知道的是, Alice 和 Carol 正在串通竊取他的錢。當 Carol 未能在規定的時間內提供付款的原像, Bob 嘗試在鏈上超時並回收他的資金。
這時, Alice 和 Carol 串通起來,透過廣播兩筆交易的鏈條來為攻擊做準備,並準備了一系列低成本的交易,偽裝成與閃電網路無關的普通交易,這些交易稱為「循環父」和「循環子」。
當 Bob 的超時交易出現在記憶體池中,攻擊者立即發布一個交易,這個交易使用 Carol 的哈希原像並引用「循環父」交易。由於這個新交易的費率更高,它在記憶體池中取代了 Bob 的超時交易。
攻擊者繼續這樣操作,每次 Bob 嘗試重新發布他的超時交易時,他們都會阻止它。如果攻擊者成功進行了足夠長的時間,那麼 Alice 可以利用 Bob 與她之間的通道上的另一個時間鎖來回收資金。
替換循環攻擊:實現和防範都很困難
在比特幣閃電網路面臨的替換循環攻擊問題上,Tether 的 CTO Paolo Ardoino 也表達了他的關注,他提到 Bitfinex 自 2019 年以來一直運作閃電網路的三個主要節點,這意味著這個問題也吸引了其他大公司的注意。
雖然比特幣開發者 Riard 表示他可能會退出閃電網路的開發,因為他認為該網路正面臨風險。他也特別指出,為了解決這種新攻擊方式,可能需要對比特幣網路進行修改。
但事實上,這種攻擊有極大的複雜性,並不容易實現。
慢霧創始人余弦也有相似的看法,他在社交媒體上指出,為了成功實施這一攻擊,攻擊者需要滿足多個條件,例如在受害者上開啟兩個通道並確保受害者未發現 HTLC 預映像交易等。針對這種威脅,余弦建議專案方與有信譽的方建立通道,降低風險。
闪电网络这个替换循环攻击挺有意思,有些类似 MEV 里的三明治攻击,前后夹击套出被夹目标的资金。
不过利用不容易,需满足:
– opening two channels with the victim.
– routing a payment through them.
– successfully replacement-cycling the victim's htlc-timeouts for Δ blocks.
– without… https://t.co/dMwkYaLf4q— Cos(余弦)😶🌫️ (@evilcos) October 22, 2023
雖然實現這種攻擊很複雜,但作為用戶,我們完全避免也相當困難,即使採取一些措施。
在這個問題上,mononaut 指出:「Bob 可以主動監控其交易池,以便及時發現 HTLC 逾時。但是,熟練的攻擊者仍然可以繞過這些防禦措施。要真正修復這個問題,我們可能需要進行更深層的調整。我們可以考慮重新設計 HTLC 協議,或修改傳播策略,或引入新的操作來應對此問題。」
從三明治攻擊到替換循環
顯然,閃電替換循環攻擊的手法與以太坊上的 MEV 三明治攻擊相似,這些攻擊都是利用前後夾擊來套取目標資金。但以太坊 MEV 三明治攻擊的研究在最近幾年裡,仍然沒有很好的改進。
就在近日,以太坊基金會透過 Uniswap V3 出售 1700 枚 ETH 時,仍遭到 MEV Bot 的三明治攻擊,損失 9101 美元,MEV Bot 獲利約 4,060 美元。
DeFi 專家 CHRIS POWERS 在最近的一篇文章中指出:自從 Flashbots 推出旨在「有效應對 MEV 問題」的 MEV-Geth 以來,近三年裡的變化相當劇烈。以太坊見證了市場的起落,並成功地邁向了權益證明(Proof of Stake)的新階段,這是其技術進展的一大里程碑。
然而,鏈上經濟資源的競爭變得更為激烈,儘管我們已經做出了很大努力,但 MEV 的問題仍然存在。
對於 MEV 的挑戰,有許多潛在的解決方法。但是,有些人錯誤地認為某些方法,如公平排序,可以徹底解決問題。從設計開始,我們就應該考慮如何應對 MEV 。儘管許多開發者正在努力減少 MEV 的影響,但他們也需要認識到完全避免損失是不切實際的。
MEV 並非不可避免,因此開發者應該更積極地與 MEV 生態系統的參與者進行溝通與合作。重要的是,支付流程本身並不是問題的核心,真正的問題在於它的不透明性。
以太坊的 MEV 三明治攻擊的研究在最近幾年裡仍然沒有得到很好的改進。而比特幣的這個類似問題,閃電替換循環攻擊,或許在短時間也很難解決。面對開發者退出和替換循環攻擊風險,比特幣閃電網路又將何去何從?
(以上內容獲合作夥伴 MarsBit 授權節錄及轉載,原文連結 | 出處:BlockBeats)
聲明:文章僅代表作者個人觀點意見,不代表區塊客觀點和立場,所有內容及觀點僅供參考,不構成投資建議。投資者應自行決策與交易,對投資者交易形成的直接間接損失作者及區塊客將不承擔任何責任。