通過將目標節點與其合法的相鄰節點隔離開來,日蝕攻擊可以產生非法交易確認,以及對網絡的其他影響。雖然這些類型的攻擊會隔離單個節點,但 Eclipse 攻擊在破壞網絡節點和流量方面的有效性在很大程度上取決於底層網絡本身的結構。
Eclipse 攻擊在現實世界中極為罕見;去中心化區塊鏈本身的結構往往會排除它們。這個概念在 2015 年的論文 Eclipse Attacks on Bitcoin's Peer-to-Peer Network 中進行了詳細討論,波士頓大學和希伯來大學的研究人員報告了他們在安裝 eclipse 攻擊的實驗中的發現,以及對抗它們的可能對策。
在本文中,我們將探討什麼是區塊鏈中的日蝕攻擊、加密貨幣日蝕攻擊可能發生的各種方式以及減輕相關風險的可能方法。
什麼是區塊鏈中的 Eclipse 攻擊?
Eclipse 攻擊是一種相對簡單的攻擊,惡意行為者可能會部署它來干擾網絡上的節點。顧名思義,該攻擊旨在掩蓋參與者對點對點網絡的看法,以造成普遍的破壞,或為更複雜的攻擊做好準備。
Eclipse 攻擊聽起來可能很相似,從表面上看,是針對 Sybil 攻擊。雖然它們有某些相似之處——惡意行為者會用虛假的對等點淹沒網絡——但它們的最終目標最終是不同的。日食攻擊針對單個節點(原因將在後面部分解釋),而 Sybil 攻擊是一種網絡範圍的攻擊,旨在博弈協議的信譽系統。
Eclipse Attack 原理
比特幣礦工需要專門的設備來生成新塊,但非挖礦(或完整)節點很容易以最小的計算能力運行。這有助於比特幣的去中心化,因為任何人都可以在低規格設備上啟動節點。該軟件維護一個交易數據庫,它與直接對等方同步,以便與網絡保持同步。
許多節點的限制因素是帶寬。儘管有大量設備運行該軟件,但由於比特幣軟件中規定的限制(最多只允許 125 個連接),普通設備無法直接連接到其中的許多設備。
在 Eclipse 攻擊中,惡意行為者將確保目標的所有連接都連接到攻擊者控制的節點。該實體將首先使用自己的 IP 地址淹沒目標,受害者可能會在重新啟動其軟件時連接到該地址。可以強制重啟(即對目標進行 DDoS 攻擊),或者攻擊者可以簡單地等待它發生。
一旦發生這種情況,毫無戒心的受害者就會受到惡意軟件的擺佈節點 – 無法查看更廣泛的網絡,攻擊者可能會向它們提供不正確的數據。
Eclipse 攻擊的後果
如果攻擊者是花費資源來疏遠網絡中的對等點,他們可能有這樣做的動機。一旦節點被窒息,就會更容易發起一些連續的攻擊。
0-確認雙花
如果個人在沒有確認的情況下接受交易,他們'有雙重支出的風險。該交易可能已被廣播,但在它被包含在一個區塊中(並因此提交到區塊鏈中)之前,發送者可以輕鬆地製作一個新交易,在其他地方花費相同的資金。如果新交易的費用較高,礦工可能會將其包含在原始交易之前,從而使之前的交易無效。
一些企業和個人接受這些 0 確認交易。考慮一個銷售高端汽車的商人 Bob。他不知道愛麗絲已經超越了他的節點,並且在她下訂單購買豪華跑車時沒有任何懷疑。她創建了一個交易,然後 Bob 將其廣播到網絡。對付款正在進行中感到滿意後,他將車鑰匙交給了愛麗絲,於是愛麗絲加快了速度。
當然,交易並未廣播到網絡——鮑勃只是將其轉發給愛麗絲的惡意節點,不會將其中繼到誠實節點。雖然這筆交易懸而未決,但愛麗絲在(真實)網絡上花費了相同的資金,無論是給另一方還是她擁有的地址。即使最終看到了給 Bob 的初始交易,它也會被拒絕,因為硬幣已經被花費。
N-confirmation 雙花
N-confirmation 雙花類似0-確認一,但涉及更多的準備工作。許多企業更願意在將付款標記為有效之前等待一定數量的確認。為了繞過這個,攻擊者必須使礦工和商人都黯然失色。一旦攻擊者與商家建立訂單,他們就會向(黯然失色的)礦工廣播交易。交易被確認並包含在區塊鏈中——但這個區塊鏈不是大多數網絡觀察到的鏈,因為礦工被切斷了。
攻擊者從那里中繼這個版本的區塊鏈給商戶,商戶在相信交易已被確認的情況下放行貨物。一旦黯然失色的節點重新加入實際網絡,他們錯誤地認為有效的區塊鏈就會被網絡其餘部分一直在處理的區塊鏈孤立(這與 51% 攻擊有一些相似之處)。
削弱競爭礦工
一個黯然失色的節點將繼續運行,而忽略了它們已與網絡隔離的事實。礦工將繼續在協議規定的規則內開採區塊,但添加的區塊將在與誠實的同行同步時被丟棄。
理論上,可以對主要礦工進行大規模日食攻擊以促進 51% 攻擊。就目前而言,即使是最足智多謀的攻擊者,接管大部分比特幣算力的成本也太高了——在大約 80TH/s 的情況下,該實體需要超過 40TH/s 才能嘗試這樣的操作。
在這種散列能力分佈在 10 方之間(這樣每方擁有 8TH/s)的假設場景中,攻擊者可以通過將這些方從網絡中切斷來顯著降低 51% 攻擊的要求。如果五個都黯然失色,那麼 40TH/s 就會被淘汰以尋找下一個區塊,而攻擊者現在只需獲得略高於 20TH/s 的速度就可以控制。
可以實現的其他破壞超越目標包括操縱節點以進行自私挖礦,或設計礦工之間的競賽以找到下一個區塊。
緩解
有足夠的 IP地址,攻擊者可以使任何節點黯然失色。防止這種情況發生的最直接的方法是讓運營商阻止傳入連接,並且只與特定節點(例如已被其他對等方列入白名單的節點)建立出站連接。然而,正如研究論文指出的那樣,這不是一種大規模可行的方法——如果所有參與者都採取這些措施,新節點將無法加入網絡。
作者提出了一些對比特幣軟件的調整,其中一些自論文發布以來已被集成。這些通過對代碼的微小修改(例如隨機選擇新連接和更大的地址存儲容量)使 eclipse 攻擊的成本更高。
結語
Eclipse 攻擊是在對等網絡級別執行的。作為獨立攻擊部署,它們可能會令人討厭。它們的真正效力在於增強其他對目標造成財務影響的攻擊,或為攻擊者提供在採礦方面的優勢。
在野外,日食攻擊尚未造成嚴重後果,但儘管網絡中集成了對策,但威脅仍然存在。與比特幣和其他加密貨幣存在的大多數攻擊媒介一樣,最強的防禦將是使惡意方嘗試它們在經濟上難以承受。


















