導讀:以色列最高學府希伯來大學工程與計算機科學學院的副教授AvivZohar以及希伯來大學碩士研究生JonaHarris近日發布了一份研究論文《Flood&Loot:一種針對閃電網絡的系統性攻擊》。提出一種閃電網絡的系統性攻擊,攻擊者通過對閃電網絡進行系統攻擊,可竊取鎖定在支付通道中的資金。在此攻擊中,攻擊者會迫使大量受害者向區塊鏈索要資金,然后攻擊者可利用擁塞竊取在截止日期之前未領取的資金。該論文證明,只需85個同時被攻擊的通道就可保證攻擊者可以竊取一些資金。此外,該論文還針對此攻擊提出了幾種緩解技術。
眾所周知,閃電網絡支付通道網絡容易受到區塊鏈擁塞的影響,如果網絡受到攻擊,參與者可能無法及時提取資金。在我們的最新論文中,我們評估了一種這樣的攻擊:對閃電網絡的系統攻擊,它可以竊取鎖定在支付通道中的資金。
在此攻擊中,攻擊者立即迫使許多受害者涌向區塊鏈,索要其資金。然后,攻擊者可以利用他們造成的擁塞來竊取在截止日期之前未領取的所有資金。
攻擊的后果取決于攻擊者選擇攻擊的閃電網絡實現。我們證明,攻擊者只需要同時攻擊85個通道就足以竊取通道內的資金。
除了從總體上了解這種攻擊及其后果外,在這篇文章中,我們還提出了幾種緩解這種攻擊的技術。
注意:攻擊可能會使無辜用戶的資金被盜。不要在家嘗試這種攻擊。不幸的是,目前還有任何協議更改可以將其完全消除。本文的研究結果已在發布前與三個主要閃電網絡客戶端實施的開發人員共享。
比特幣閃電網絡通道數量為75,889個:金色財經報道,1ML數據顯示,當前比特幣閃電網絡節點為16,044 個,過去30天增加0.53%;通道數量為75,889 個,較一個月前增加了0.4%;網絡容量為5,223.94枚BTC,月漲2%。[2023/1/22 11:25:19]
攻擊細節
該攻擊利用了跨多個閃電通道轉發付款的機制——哈希時間鎖定合同。簡而言之,HTLC允許參與者通過無信任的中間節點來路由付款,以確保他們中的任何一個都不會竊取資金。如果這樣的節點試圖竊取資金,則其對等方可以通過將交易發布到區塊鏈來索取資金,但只能在有限的時間內進行。正如我們在工作中所顯示的,相對容易使無辜的閃電節點涌入區塊鏈,并利用此時間限制來竊取資金。
HTLC背后的關鍵思想是,在建立HTLC之后,通過提供一個秘密,付款被通過目標節點從路徑中的上一個節點“扯出”。攻擊者將在他自己的兩個節點之間路由付款,并在路徑的末尾提取付款。當付款最終要被從源節點提取時,他將拒絕合作——迫使受害者通過區塊鏈交易進行索要。
比特幣閃電網絡節點數量為17,661個:金色財經報道,1ML網站數據顯示,比特幣閃電網絡(LightningNetwork)的節點數量為17,661個,同比增長1.23%;通道數量為85,359個,同比增長1.0%;網絡容量為3,999.30BTC,同比增長5%。[2022/6/13 4:20:47]
這個拓撲示例顯示了攻擊者的節點以及他與受害者共享的通道
該攻擊分為四個主要階段:
一建立通道
攻擊者控制兩個閃電節點,分別代表源節點和目標節點。源節點打開了許多潛在受害者的通道,可能每個受害者都有多個通道。這些通道是由攻擊者的源節點發起和提供資金的。
階段1:建立通道
二使用HTLC付款加載通道
設置完所有通道后,源節點將開始向目的地節點進行許多HTLC付款,并通過每個源節點的通道進行路由。源節點發送允許中繼的最大金額,并將其分配到盡可能多的付款中。
作為HTLC機制的一部分,目標節點應該通過發回一組HTLC秘密來接受付款。這個攻擊將避免這樣做,直到源節點完成轉發所有付款為止。
閃電網絡節點數量已達19104個:金色財經報道,據1ML.com數據,目前,支撐網絡的節點數量達到19104個,相較30天前數據,環比上漲8.55%;通道數量為42407,相較30天前數據,環比上漲8.8%;閃電網絡承載能力目前為1211.63BTC,約合7188.91萬美元。[2021/4/12 20:08:49]
階段2:使用HTLC付款加載通道
三,解析最后一跳的付款
在成功完成所有付款的發送并將HTLC添加到目標節點的通道后,目標節點將通過返回所需的secret來解析所有付款,并為自己索取這些資金。此時,目標節點可以正常關閉其通道,并保留源節點發送的資金。一旦每個受害者獲取了這些secret,他就會將其發送回源節點,要求解析HTLC,并將其數量移至通道的受害者一側。源節點拒絕解析付款,并忽略來自其受害者的任何進一步消息。
階段3:在最后一跳解析付款
四等待到期并收集未花費的HTLC
在這個時候,每個受攻擊的通道都充滿了尚未解析的HTLC,受害者知道它們的secret。由于攻擊者的源節點不合作,因此受害者可以獲取這些付款的唯一方法是關閉其通道并在區塊鏈上聲明HTLC。受害者有有限的時間來要求付款。
動態 | 閃電網絡啟動lnd v0.9-beta版本升級:閃電網絡啟動lnd v0.9-beta版本升級,新版更新包括:多路徑支付和 Keysend 支付兩種新的支付類型,Keysend 允許自發、無發票付款。以及可用于創建更多支付和應用程序類型的自定義 TLV 基礎結構。新的 Macaroon Bakery 將新增對 lnd 節點更加復雜的訪問支持。對于節點運營者而言,本次更新也進行了一系列改進,包括路由對等方的其他數據,更多的路徑查找工具,以及更多自動化重平衡通道,新版中增加了循環支付和基礎設施的支持,節點運營者只需兩個命令行就可針對多個通道中的資產進行更加復雜的流動性管理。[2020/1/23]
一旦它們過期,HTLC的輸出就會被攻擊者花費。盡管受害者仍然可以在到期后要求HTLC,但是特定的協議詳細信息為攻擊者提供了很大的優勢:
受害人在發布交易時無法設置交易費用。該費用是在打開通道時確定的
攻擊者可以按自己的意愿為自己的交易設置費用,并替換到期后仍未確認的任何受害者交易”策略)
通過攻擊多個通道并強迫所有通道同時關閉,某些受害者的HTLC聲明所有權交易將無法得到及時確認,攻擊者將竊取它們。
因此,攻擊者保留了一些本應留給受害者的資金。
動態 | LTC閃電網絡即將上線:據coincryptorama報道,加密貨幣交易所Coingate在Twitter上宣布,萊特幣的閃電網絡終于準備就緒,可以部署了。此外,CoinGate還提供了一個平臺,供其進行激活。[2018/12/15]
階段4:到期后收集未使用的輸出
模擬結果
為了顯示攻擊的可行性,我們在比特幣測試網絡regnet上的本地閃電網絡上進行了模擬。我們實施了攻擊者節點的原型,能夠阻止HTLCsecret的傳輸,而忽略解析HTLC的請求,并發布增加費用的HTLC聲明所有權交易。由于LND是當今最流行的閃電實施方案,因此我們使用它來模擬受害節點。如下圖所示,即使向受害者的交易分配了區塊中所有可用空間,攻擊85個通道也能確保成功進行攻擊。每增加一個通道,其所有資金也將被盜。
針對不同數量的受攻擊通道和區塊大小,成功竊取的HTLC的數量。比特幣當前的最大區塊大小為4M。實際上,閃電交易的可用空間少于全部。
如圖所示,當每個區塊中的可用空間減少時,竊取相同數量的HTLC所需要的受害者會更少。我們證明,當攻擊者使用“聯合最小化”策略時,可能就是這種情況。
針對不同數量的受攻擊通道和塊大小,成功竊取的HTLC的數量。比特幣當前的最大塊重為4M。實際上,閃電交易的可用空間少于全部
如圖所示,當每個區塊中的可用空間減少時,需要更少的受害者才能竊取相同數量的HTLC。我們證明,當攻擊者使用“feerate-minimization”策略時,可能就是這種情況。
攻擊放大
每個受害者交易所支付的費用均來自通道的Feerate參數。這個feerate由通道的發起者確定并支付。在打開通道之前,另一個節點必須接受通道設置的feerate。如果節點符合其對區塊鏈費用的估計,則節點同意設置一個feerate,由bitcoind的估算方法確定。從下圖可以看出,feerate的估算值可能會在相對較短的時間內發生很大的波動。當單方面關閉該通道時,在某個時間點確定的通道feerate可能不適用于以后的時間。
Bitcoind估算的用于立即確認的Feerate
除了設置初始通道feerate之外,通道的發起人還可以在通道開放后的任何時間提出新的feerate,以將其調整為當前的區塊鏈費用狀態。閃電協議指出,在我們的情況下,另一方不允許提出任何feerate的更新請求。在“feerate-minimization”策略中,攻擊者在可能的情況下)使用費用更新機制降低通道的feerate,但從在區塊鏈費用高時進行更新。一旦通道的費用率與實際的區塊鏈費用率之間的差異變得很大,攻擊者就可以開始啟動所有HTLC付款并發起攻擊。在下圖中,我們看到了當攻擊者持續3天和7天使用feerate-minimization策略時,受害者可用的平均區塊空間。例如,當攻擊者試圖在開始攻擊前7天將費用降到最低時,受害人只有58%的時間可以使用平均一半的區塊空間,或者更多
當使用“feerate-minimization”策略時,受害者交易可用的平均區塊空間
尋找潛在的受害者
在這項工作中,我們還表明,找到潛在受害者對于攻擊者來說并不是一件工作量很大的事情。為了使節點成為攻擊的受害者,節點只需要接受與攻擊者打開通道的請求。如閃電協議中所述,節點可以通過響應“accept_channel”消息來顯示其打開通道的意愿,這時候并不需要真的打開通道。我們進行了一項實驗,其中測試了網絡上許多節點與未知節點打開一個通道的意愿。我們發現絕大多數活動節點愿意根據這個請求打開通道,因此很容易成為這種攻擊的受害者。
節點對“open_channel”請求的響應
緩解措施
對于這種攻擊,多種技術可以使攻擊者的難度加大,并降低攻擊的潛在危害。以下是我們提出的一些緩解技術。
1)減少未解析的HTLC的最大數量:攻擊者可以通過被攻擊通道進行路由的最大付款次數由通道的參數“max_accepted_htlcs”確定。如果該參數的值保持較低,則攻擊者將不得不攻擊更多的通道才能成功竊取資金。
2)提前關閉通道:受害人要求其資金的時間由特定于實現的參數確定。大多數閃電網絡實施所使用的值要比它們可能使用的值小得多。可以基于通道的當前狀態,例如,未解析的HTLC的數量或總的未解析的值,增加該參數一個恒定因子或者甚至動態地設置。
3)立即釋放HTLC聲明所有權交易:某些實現在釋放HTLC交易以聲明其輸出之前一直等到確認其已發布的commitment。節點可以并且應該立即與這個commitment一起釋放這些交易,以允許更多交易可以進入的潛在區塊。
4)基于信譽的行為:通道的參數會極大地影響成功攻擊的可能性。根據某些策略,節點可以為與為其分配了“良好信譽”的當事方的通道使用更多的許可參數。
盡管有不同的緩解措施可以降低攻擊的風險,但是完全消除風險似乎是一項復雜的任務。我們認為,在許多方面,所利用的漏洞是HTLC工作方式所固有的,因此,如果不對HTLC機制進行重大修改,就無法完全避免攻擊。
有關更詳細的版本,請參見全文。
作者|嚯嚯 編輯|文刀 6月20日,數據平臺QKL123顯示,加密資產信托基金灰度的比特幣持倉量已達到37.11萬枚.
1900/1/1 0:00:00據路透社報道,立陶宛將在下周開始預售其基于區塊鏈技術的2.4萬枚數字貨幣LBCoin。 這將是歐元區首個由中央銀行發行的數字貨幣,這一舉措是該國試點國家支持的數字貨幣和區塊鏈技術的項目的一部分.
1900/1/1 0:00:00前兩天在巴比特上看到了一篇文章,作者在文章中表達了對Defi金融的看好,認為它會取代現在的中心化金融,成為金融的核心組成部分.
1900/1/1 0:00:00以太坊開發人員再一次推遲硬分叉升級,這次是“柏林”。那么,為什么以太坊又雙叒叕推遲升級了呢?下面就讓金色財經和大家一起來解讀一下.
1900/1/1 0:00:00原文鏈接:?https://www.buildblockchain.tech/newsletter/issues/no-99-validium-and-the-layer-2-two-by-tw.
1900/1/1 0:00:00賬戶是經濟社會的必然產物,作為人們存、貸、資金收付活動的基礎,亦是社會資金流轉的起點和終點。近年來,隨著金融科技在全球范圍內迅速興起,以區塊鏈為代表的分布式賬戶被認為是最有發展潛力的金融科技技術.
1900/1/1 0:00:00