比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads
首頁 > SAND > Info

閃電網絡最新漏洞分析:僅需攻擊85個節點便可竊取閃電節點通道資金_EER

Author:

Time:1900/1/1 0:00:00

以色列最高學府希伯來大學工程與計算機科學學院的副教授Aviv Zohar以及希伯來大學碩士研究生Jona Harris近日發布了一份研究論文《Flood&Loot:一種針對閃電網絡的系統性攻擊》。提出一種閃電網絡的系統性攻擊,攻擊者通過對閃電網絡進行系統攻擊,可竊取鎖定在支付通道中的資金。在此攻擊中,攻擊者會迫使大量受害者向區塊鏈索要資金,然后攻擊者可利用擁塞竊取在截止日期之前未領取的資金。該論文證明,只需 85 個同時被攻擊的通道就可保證攻擊者可以竊取一些資金。此外,該論文還針對此攻擊提出了幾種緩解技術。

眾所周知,閃電網絡支付通道網絡容易受到區塊鏈擁塞的影響,如果網絡受到攻擊,參與者可能無法及時提取資金。 在我們的最新論文中,我們評估了一種這樣的攻擊:對閃電網絡的系統攻擊,它可以竊取鎖定在支付通道中的資金。

在此攻擊中,攻擊者立即迫使許多受害者涌向區塊鏈,索要其資金。 然后,攻擊者可以利用他們造成的擁塞來竊取在截止日期之前未領取的所有資金。

攻擊的后果取決于攻擊者選擇攻擊的閃電網絡實現。 我們證明,攻擊者只需要同時攻擊85個通道就足以竊取通道內的資金(這是假設沒有其他區塊鏈交易爭奪區塊空間的情況下,這是一個非常樂觀的假設)。

除了從總體上了解這種攻擊及其后果外,在這篇文章中,我們還提出了幾種緩解這種攻擊的技術。

注意:攻擊可能會使無辜用戶的資金被盜。 不要在家嘗試這種攻擊。 不幸的是,目前還有任何協議更改可以將其完全消除。 本文的研究結果已在發布前與三個主要閃電網絡客戶端實施的開發人員共享。

閃電網絡節點數量已達17608個:金色財經報道,據1ML.com數據,目前,支撐網絡的節點數量達到17608個,相較30天前數據,環比上漲6.53%;通道數量為39012,相較30天前數據,環比上漲3.6%;閃電網絡承載能力目前為1133.65BTC,約合6798.27萬美元。[2021/3/13 18:42:41]

該攻擊利用了跨多個閃電通道轉發付款的機制——哈希時間鎖定合同(HTLC)。簡而言之,HTLC允許參與者通過無信任的中間節點來路由付款,以確保他們中的任何一個都不會竊取資金。如果這樣的節點試圖竊取資金,則其對等方可以通過將交易發布到區塊鏈來索取資金,但只能在有限的時間內進行。正如我們在工作中所顯示的,相對容易使無辜的閃電節點涌入區塊鏈,并利用此時間限制來竊取資金。

HTLC背后的關鍵思想是,在建立HTLC之后,通過提供一個秘密(secret)(一種哈希原像),付款被通過目標節點從路徑中的上一個節點“扯出”。攻擊者將在他自己的兩個節點之間路由付款,并在路徑的末尾提取付款。當付款最終要被從源節點提取時,他將拒絕合作——迫使受害者通過區塊鏈交易進行索要。

這個拓撲示例顯示了攻擊者的節點以及他與受害者共享的通道

閃電網絡節點數量已達16534個:金色財經報道,據1ML.com數據,目前,支撐網絡的節點數量達到16534個,相較30天前數據,環比上漲5.32%;通道數量為37676,相較30天前數據,環比上漲4.5%;閃電網絡承載能力目前為1071.4BTC,約合5141.09萬美元。[2021/2/12 19:38:18]

該攻擊分為四個主要階段:

攻擊者控制兩個閃電節點,分別代表源節點和目標節點。 源節點打開了許多潛在受害者的通道,可能每個受害者都有多個通道。 這些通道是由攻擊者的源節點發起和提供資金的(目標節點可以遠離受害者,但在下面的圖中,我們簡化了過程,并僅顯示了一條很短的簡單路徑)。

階段1:建立通道

設置完所有通道后,源節點將開始向目的地節點進行許多HTLC付款,并通過每個源節點的通道進行路由。 源節點發送允許中繼的最大金額,并將其分配到盡可能多的付款中(受害人允許的數量)。

作為HTLC機制的一部分,目標節點應該通過發回一組HTLC秘密(secret)來接受付款。 這個攻擊將避免這樣做,直到源節點完成轉發所有付款為止。

動態 | ACINQ推出第二代移動閃電網絡錢包:專注于閃電網絡的比特幣科技公司ACINQ推出了名為“鳳凰(Phoenix)”的“第二代”移動閃電網絡錢包。根據開發人員的說法,該錢包可以提供Lightning的所有優點,而不會有類似項目的主要缺點——糟糕的終端用戶體驗。(Decrypt)[2019/12/14]

階段2:使用HTLC付款加載通道

在成功完成所有付款的發送并將HTLC添加到目標節點的通道后,目標節點將通過返回所需的secret來解析所有付款,并為自己索取這些資金。 此時,目標節點可以正常關閉其通道,并保留源節點發送的資金。 一旦每個受害者獲取了這些secret,他就會將其發送回源節點,要求解析HTLC,并將其數量移至通道的受害者一側。 源節點拒絕解析付款,并忽略來自其受害者的任何進一步消息。

階段3:在最后一跳解析付款

在這個時候,每個受攻擊的通道都充滿了尚未解析的HTLC,受害者知道它們的secret。 由于攻擊者的源節點不合作,因此受害者可以獲取這些付款的唯一方法是關閉其通道并在區塊鏈上聲明HTLC。 受害者有有限的時間(以區塊為單位)來要求付款(如果節點不知道這些secret,則有時間限制,在這種情況下,資金應由源節點要求)。

一旦它們過期,HTLC的輸出就會被攻擊者花費。 盡管受害者仍然可以在到期后要求HTLC,但是特定的協議詳細信息為攻擊者提供了很大的優勢:

聲音 | Blockstream工程師:比特幣閃電網絡容量下降或由比特幣價格上漲導致:據cryptobriefing消息,比特幣閃電網絡(LN)容量最近持續下跌,已經跌破了940 BTC,引起了支持者對其流動性和長期潛力的擔憂。對此,Blockstream工程師Rusty Russell解釋稱,閃電網絡容量下降可能與最近比特幣價格上漲有關,兩者之間存在負相關聯系。閃電網絡目前仍然處于測試階段,仍有可能出現資金損失。一些投資者最終決定通過套現來確保利潤。某些節點因此可能關閉了通道,以便在價格高點出售BTC或LTC。[2019/7/8]

受害人在發布交易時無法設置交易費用。 該費用是在打開通道時確定的

攻擊者可以按自己的意愿為自己的交易設置費用,并替換到期后仍未確認的任何受害者交易(使用“替換費用(Replace-By-Fee)”策略)

通過攻擊多個通道并強迫所有通道同時關閉(為所有HTLC設置相同的到期時間),某些受害者的HTLC聲明所有權交易將無法得到及時確認,攻擊者將竊取它們。

因此,攻擊者保留了一些本應留給受害者的資金(受害者下一跳的資金已發送至攻擊者的目標節點)。

階段4:到期后收集未使用的輸出

為了顯示攻擊的可行性,我們在比特幣測試網絡regnet上的本地閃電網絡上進行了模擬。 我們實施了攻擊者節點的原型,能夠阻止HTLC secret的傳輸,而忽略解析HTLC的請求,并發布增加費用的HTLC聲明所有權交易。 由于LND是當今最流行的閃電實施方案(據報道,網絡上90%以上的閃電網絡節點都運行LND),因此我們使用它來模擬受害節點。 如下圖所示,即使向受害者的交易分配了區塊中所有可用空間(最大區塊大小),攻擊85個通道也能確保成功進行攻擊。 每增加一個通道,其所有資金也將被盜。

聲音 | 比特幣無限首席科學家:閃電網絡或存在固有費用漏洞:據ambcrypto消息,比特幣無限(Bitcoin Unlimited)首席科學家Peter R Rizun 近日表示,閃電網絡用戶存在固有費用漏洞,會在沒有做任何錯事的情況下丟失所有資金。他認為在比特幣第一層收費高昂且不穩定的環境中,閃電網絡用戶會在自己沒有任何過錯的情形丟失所有的錢,因為當對區塊鏈空間需求激增的時候,比特幣的區塊大小限制了高額且不穩定的費用。對此,康奈爾大學教授Emin Gur Sirer表示:“中本聰設計的比特幣區塊并沒有考慮大部分被填滿的情況,而且之后的開發人員也沒有設計出費用穩定且可預測的收費機制。”[2019/4/10]

針對不同數量的受攻擊通道和區塊大小,成功竊取的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%的時間可以使用平均一半的區塊空間,或者更多(在2個月的時間內收集數據)

當使用“feerate-minimization”策略時,受害者交易可用的平均區塊空間

在這項工作中,我們還表明,找到潛在受害者對于攻擊者來說并不是一件工作量很大的事情。 為了使節點成為攻擊的受害者,節點只需要接受與攻擊者打開通道的請求。 如閃電協議中所述,節點可以通過響應“ accept_channel”消息來顯示其打開通道的意愿,這時候并不需要真的打開通道。 我們進行了一項實驗,其中測試了網絡上許多節點與未知節點打開一個通道的意愿。 我們發現絕大多數活動節點(?95%)愿意根據這個請求打開通道,因此很容易成為這種攻擊的受害者。

節點對“ open_channel”請求的響應

對于這種攻擊,多種技術可以使攻擊者的難度加大,并降低攻擊的潛在危害。以下是我們提出的一些緩解技術。

1)減少未解析的HTLC的最大數量:攻擊者可以通過被攻擊通道進行路由的最大付款次數由通道的參數“ max_accepted_htlcs”確定。如果該參數的值保持較低,則攻擊者將不得不攻擊更多的通道才能成功竊取資金。

2)提前關閉通道:受害人要求其資金的時間(區塊)由特定于實現的參數確定。大多數閃電網絡實施所使用的值要比它們可能使用的值小得多(以避免過早關閉通道)。可以基于通道的當前狀態,例如,未解析的HTLC的數量或總的未解析的值,增加該參數一個恒定因子或者甚至動態地設置。

3)立即釋放HTLC聲明所有權交易:某些實現在釋放HTLC交易以聲明其輸出之前一直等到確認其已發布的commitment。 節點可以并且應該立即與這個commitment一起釋放這些交易,以允許更多交易可以進入的潛在區塊。

4)基于信譽的行為:通道的參數會極大地影響成功攻擊的可能性。 根據某些策略,節點可以為與為其分配了“良好信譽”的當事方的通道使用更多的許可參數。

盡管有不同的緩解措施可以降低攻擊的風險,但是完全消除風險似乎是一項復雜的任務。 我們認為,在許多方面,所利用的漏洞是HTLC工作方式所固有的,因此,如果不對HTLC機制進行重大修改,就無法完全避免攻擊。

Tags:TLCEERERARATTLC價格BEERS價格tera幣官網ParaToken

SAND
DeFi熱潮會帶來泡沫嗎?_DEFI

盡管加密貨幣市場歷經了長達近三年的熊市,我們仍可以看到,有一些小幣種在萎靡不振的市場內,有著異乎尋常的表現.

1900/1/1 0:00:00
金色趨勢丨BTC前兩輪牛市周期符合這一黃金規律 這次能否上演?_BTC

上圖為BTC 2010-2020年至今的長期走勢,通過研究可以發現,以三次產量減半為時間分割點,從之前每一輪熊市的最低點一直延伸至各自周期內的產量減半時間點這一段時間周期.

1900/1/1 0:00:00
“區塊鏈+”按下快進鍵 歐科云鏈徐明星:區塊鏈發展推動時代進步_區塊鏈

7月14日,人民網編寫的《中國移動互聯網發展報告(2020)》正式發布。報告指出,2019年以來,在全球區塊鏈政策環境不斷向好、應用和標準化水平不斷提升的背景下,區塊鏈基礎設施特別是通用型基礎設.

1900/1/1 0:00:00
為預防Libra威脅 立陶宛將于下周預售央行發行的數字貨幣_COIN

原文標題:為預防Libra威脅 立陶宛將于下周預售央行發行的數字貨幣立陶宛將成為歐元區首個發行數字貨幣的國家。7月2日,據路透社報道,立陶宛將在下周開始預售2.4萬枚由央行發行的數字貨幣.

1900/1/1 0:00:00
金晚8點丨BTC多頭反攻 這次能漲到哪?_CLE

首檔行情直播欄目 金晚8點 熱點資訊、現貨合約,一對一實時解答隨時隨地掌握后市行情,把握幣市掘金機會2020/07/02丨今日主題:《BTC多頭反攻.

1900/1/1 0:00:00
專訪算力互聯:Filecoin生態或將比PoW挖礦生態更豐富_COIN

Filecoin生態成型之際,比特幣礦業生態內的從業者也紛紛入局,金色財經專訪了算力互聯CMO Andy,解答了Filecoin與比特幣挖礦的相關問題.

1900/1/1 0:00:00
ads