日蝕攻擊
日蝕攻擊是一種相對簡單但有效的基礎攻擊,可讓攻擊者破壞網絡內的節點。顧名思義,此類攻擊使對等網絡中的目標節點無法獲取有效信息,從而導致網絡中斷或為更復雜的攻擊鋪平道路。
乍一看,日蝕攻擊似乎與女巫攻擊相似。雖然這兩種攻擊都旨在通過破壞節點來影響網絡,但它們的目標不同。日蝕攻擊的主要目標是單個節點,而女巫攻擊旨在影響整個網絡,特別是針對網絡協議的信譽系統。
2015年,波士頓大學和希伯來大學的研究人員在題為《比特幣點對點網絡的日蝕攻擊》的論文中詳細討論了這一概念,報告了他們對日蝕攻擊的實驗結果並提出了應對措施。
日蝕攻擊的工作原理
比特幣礦工需要專門的設備來生成和驗證新區塊,而非挖礦全節點則只需要極少的計算能力即可運行。這意味著任何人都可以在低成本的設備上運行節點,這對比特幣的去中心化有積極作用。為了與網絡保持同步,該軟件維護著一個與對等節點同步的交易處理數據庫。
比特幣網絡中節點的連接數受到帶寬的限制,因此雖然很多設備都可以操作節點,但是最大連接數卻被限制在125個,這使得普通設備無法直接與其他設備互聯互通。
在日蝕攻擊中,攻擊者確保目標節點的所有連接都是通過攻擊者控制的其他節點建立的。攻擊者從自己的 IP 地址對目標節點發起洪水攻擊,這可能導致受害者在軟件重新啟動時連接到攻擊者的 IP。這可以通過強制重新啟動受害者的節點(即進行 DDoS 攻擊)或簡單地等待軟件自動重啟來實現。一旦受害者連接到這些惡意節點,他們將無法從真正的網絡獲取數據,而是會從攻擊者那裡收到錯誤的信息。
日蝕攻擊的後果
如果攻擊者能夠消耗網絡節點的資源,使之與網絡隔離,那麼就有了實施日蝕攻擊的動機,一旦有節點被隔離,攻擊者就可以利用這種情況進行進一步的持續攻擊。
未經證實的“雙重支付”
如果獨立節點接受未經確認的交易,就會出現“雙重支付”風險。如果交易在進入區塊鏈之前已被廣播,則發送者可以很容易地在其他地方發起新交易,試圖再次花費相同的金額。如果新交易的費用相對較高,礦工可能會優先考慮它,認為它是第一筆交易,從而使原始交易無效。
某些商家和個人會接受這些未經確認的交易。例如,一位名叫 Bob 的豪華汽車經銷商可能會毫無懷疑地接受 Alice 的高級跑車訂單。Alice 創建交易並將其廣播到網絡。Bob 看到付款即將得到確認,感到很滿意,並將車鑰匙交給 Alice,讓她開車離開。
但實際上,這筆交易從未傳播到網絡;鮑勃只是將交易傳輸到愛麗絲的惡意節點,而惡意節點不會將其轉發到真正的網絡。因此,這筆交易被視為無效,愛麗絲以後可以在真正的網絡上再次花費相同的金額,無論是將其轉給自己還是轉給別人。即使愛麗絲和鮑勃之間的初始交易後來出現在真正的網絡上,也無法驗證,因為愛麗絲的賬戶餘額已經被消耗了。
雙重支付的 N 次確認
N 次確認的雙重支付概念與無確認的雙重支付類似,但需要更多的準備工作。許多商家喜歡等待一定數量的確認後再確認付款的有效性。為了實現這一點,攻擊者必須同時對礦工和商家節點執行日蝕攻擊。如果攻擊者與商家建立了交易,他們會將交易信息廣播給受到日蝕攻擊影響的礦工。商家將在區塊鏈網絡內看到已確認的交易,但由於礦工和商家的網絡都是隔離的,因此該區塊鏈實際上尚未得到大多數合法節點的確認。
攻擊者通過虛假的區塊鏈網絡信息向商家發送消息,商家看到交易已確認後,就會繼續發貨。然而,當這些被入侵的節點重新連接到真實網絡時,真正的區塊鏈網絡會將其視為無效,從而將其孤立(類似於 51% 攻擊)。
礦工之間的競爭減弱
遭受日蝕攻擊的節點繼續正常運行,不會僅僅因為與網絡隔離而受到影響。礦工仍將根據協議驗證區塊,但添加的區塊將在真正的網絡節點處理過程中被丟棄。
理論上,對大多數礦工進行大規模日蝕攻擊可以為 51% 攻擊創造有利條件。即便如此,即使是資源最豐富的攻擊者,為了控制大部分比特幣哈希算力(約 80 TH/s),也會面臨高昂的成本;攻擊者至少需要超過 40 TH/s 的哈希算力才能嘗試這種方案。想象一下,這種哈希算力均勻分佈在 10 個參與者之間(每個參與者約 8 TH/s);如果攻擊者可以日蝕其中 5 個節點,他們可以將總哈希算力降低到 40 TH/s,讓他們有額外的哈希算力來搜索下一個新區塊,因為只需要 20 TH/s 就可以控制節點。
通過對目標節點進行日蝕攻擊,攻擊者還可能實施其他破壞性行為,包括操縱節點進行非法挖礦或利用礦工之間的競爭來獲取下一個區塊。
減輕 Eclipse 攻擊的影響
如果攻擊者獲得足夠多的 IP 地址,他們就可以對任何節點發起日蝕攻擊。為了防止這種情況發生,最直接的方法是限制未經授權的節點訪問,方法是僅允許向特定節點(例如,對等網絡中其他節點列入白名單的 IP)進行出站連接。然而,正如研究論文中指出的那樣,這不是一個可擴展的解決方案,因為如果所有參與者都實施此類措施,新節點將無法加入網絡。
作者對比特幣協議提出了一些調整,其中一些調整在白皮書發佈後已被納入比特幣計劃。這些調整包括微小的代碼修改,例如隨機選擇新連接和增加地址的存儲空間,這些可以有效提高執行日蝕攻擊的成本。
結論
日蝕攻擊是一種可以在對等網絡上執行的攻擊。作為一種可部署的獨立攻擊技術,它非常麻煩。這種攻擊的真正目的是為執行可能產生更大影響的其他攻擊鋪平道路,或為攻擊者提供挖礦優勢。
總體而言,雖然日蝕攻擊尚未造成嚴重影響,區塊鏈網絡也已經部署了一些預防措施,但威脅仍然存在。與比特幣和大多數加密貨幣面臨的其他攻擊類似,防禦日蝕攻擊的最佳策略是確保惡意攻擊者無法從中獲利。
風險警告
雖然加密貨幣市場提供了巨大的增長潛力和創新機會,但它也具有很高的市場風險和價格波動性。加密資產的價值可能在短時間內大幅波動,可能導致投資者遭受重大財務損失。此外,加密貨幣市場面臨多種風險因素,包括技術風險、法律和監管不確定性、網絡安全威脅和市場操縱。我們強烈建議用戶在做出任何投資決策之前進行徹底的研究和盡職調查,並諮詢專業的財務顧問。所有投資決策均由用戶自行承擔風險。感謝您對 Venkate 的信任和支持!
構建加密貨幣交易所的未來
靈感與創新的交匯之處
Venkate Exchange 是一個創新的加密貨幣交易平臺,其名稱和靈感源自印度神話中象徵財富和繁榮的神 Venkateswara。