1. 簡介與概述

本文介紹並分析了平衡攻擊,這是一種針對工作量證明區塊鏈共識協議的新型安全攻擊手法,主要關注以太坊及其GHOST協議。與傳統需要壓倒性算力的51%攻擊不同,平衡攻擊利用節點子群組之間策略性的網路通訊延遲來創造暫時性的網路分割,從而能夠以顯著較低的挖礦算力實現雙重支付。本研究提供了理論機率模型,並使用模擬R3金融聯盟區塊鏈測試平台的設置進行了實驗驗證。

核心發現是,PoW區塊鏈,特別是那些使用類似GHOST的叔塊計入機制的區塊鏈,可能從根本上不適合聯盟鏈或私有鏈環境,因為在這些環境中,網路拓撲和延遲可能被操縱或具有可預測性。

2. 平衡攻擊機制

該攻擊透過人為創造導致權重相近的競爭鏈的網路條件,來利用區塊鏈的分支解決策略。

2.1 核心攻擊原理

攻擊者將網路分割成(至少)兩個總挖礦算力大致平衡的子群組。透過選擇性地延遲這些子群組之間(而非群組內部)的訊息,攻擊者允許它們在各自獨立的鏈上挖礦。接著,攻擊者將其自身的挖礦算力集中在其中一個子群組(區塊子群組),同時在另一個子群組(交易子群組)發送其意圖撤銷的交易。

2.2 攻擊階段

  1. 分割與延遲: 攻擊者透過網路延遲隔離子群組A和B。
  2. 平行挖礦: 子群組A和B各自建立獨立的鏈。攻擊者僅與子群組B一起挖礦。
  3. 交易發送: 攻擊者在子群組A中發送一筆交易,該交易在其鏈上獲得確認。
  4. 權重傾斜: 攻擊者持續在子群組B中挖礦,直到B鏈(包含叔塊)的權重超過A鏈的機率變得非常高。
  5. 重新連接與鏈重組: 攻擊者停止延遲。當網路使用GHOST規則協調視圖時,來自子群組B的較重鏈將被採納,從而孤立包含攻擊者交易的區塊,實現雙重支付。

3. 理論分析與模型

本文建立了一個正式的機率模型,以確定攻擊成功的條件。

3.1 機率框架

分析使用Chernoff界限將挖礦過程建模為泊松過程。關鍵變數是攻擊者必須維持的延遲時間($\Delta$)與攻擊者的挖礦算力比例($\alpha$)以及誠實網路的算力之間的關係。

3.2 關鍵數學公式

推導出攻擊者在被隔離子群組中的分支變得比另一子群組的分支更重的機率。為了以高機率成功進行雙重支付,所需的延遲$\Delta$與攻擊者的挖礦算力成反比。該模型捕捉了權衡關係:攻擊者算力越低,所需的網路延遲時間越長。 攻擊者在時間$t$內,以算力$q$對抗誠實算力$p$所能獲得的預期領先優勢$L$的簡化表達式與泊松過程速率相關:$\lambda = \frac{p}{\tau}$,其中$\tau$是出塊時間。攻擊者的進展是一個由該過程建模的隨機變數。

4. 實驗驗證

理論模型在一個模擬R3聯盟的實際環境中進行了測試。

4.1 R3聯盟測試平台設置

在一個模擬R3聯盟條件(約11家參與銀行)的分散式系統中部署了一個以太坊私有鏈。在節點子群組之間人為引入網路延遲以模擬攻擊。

4.2 結果與攻擊可行性

關鍵實驗發現

攻擊持續時間: 單一機器能夠在約20分鐘內成功對模擬的R3聯盟執行平衡攻擊。

意涵: 這表明該攻擊不僅是理論上的,在聯盟鏈環境中,以適度的資源在實踐上也是可行的,因為與公共主網相比,聯盟鏈的總網路算力有限。

圖表描述(概念性): 一張折線圖將顯示雙重支付的成功機率(Y軸)隨著攻擊者控制的延遲時間(X軸)增加而急遽上升,即使對於攻擊者挖礦算力較低的值(以不同線條表示)也是如此。對於擁有20%算力的攻擊者,其曲線達到高機率的時間將遠快於擁有5%算力的攻擊者,但只要有足夠的延遲,兩者最終都會成功。

5. 影響與比較分析

5.1 以太坊與比特幣脆弱性

雖然兩者都容易受到網路層級的攻擊,但本文指出,以太坊的GHOST協議將叔塊納入權重計算,諷刺地可能創造了不同的攻擊面。平衡攻擊透過隔離創造平衡、競爭的子樹,專門操縱「最重子樹」規則。比特幣的最長鏈規則容易受到不同的延遲攻擊(例如自私挖礦),但平衡攻擊是圍繞GHOST的機制制定的。

5.2 聯盟區塊鏈適用性

本文最具破壞性的結論是,標準的PoW協議非常不適合聯盟區塊鏈。 聯盟鏈的參與者較少且已知,使得網路分割攻擊比在全球性的、充滿敵意的比特幣網路上更為可行。有限的總算力也降低了獲取有意義比例算力的成本。

6. 分析師觀點:核心洞見與評論

核心洞見: Natoli和Gramoli揭露了區塊鏈安全中一個關鍵且常被忽視的公理:共識安全是密碼學證明和網路同步性的函數。 平衡攻擊並非破解SHA-256或Ethash;而是精準地破壞部分同步模型中的「網路」假設。這將威脅從計算層(算力)轉移到網路層(路由、ISP),這是許多聯盟鏈營運商尚未準備好防禦的前沿領域。它呼應了經典分散式系統(如FLP不可能性結果)的教訓,證明共識在非同步條件下是脆弱的。

邏輯流程: 論證的優雅之處在於其簡潔性。1) PoW安全性依賴於單一、增長最快的鏈。2) GHOST將其修改為「最重」鏈,納入叔塊以提高吞吐量。3) 透過創造具有平衡算力的隔離分割區,攻擊者迫使兩個權重相近的有效子樹產生。4) 重新連接時,GHOST的規則變成了攻擊媒介,而非防禦手段。它所利用的邏輯缺陷是,GHOST假設權重反映了誠實的工作量,但在分割的網路中,權重反映的是隔離的工作量,而這是可操縱的。

優點與缺陷: 本文的優點在於其在以太坊私有鏈上的實際演示,超越了理論範疇。使用Chernoff界限提供了數學上的嚴謹性。然而,該分析有一個學術安全論文中常見的缺陷:它假設了一個近乎完美、持續的網路分割。在具有多條物理和邏輯路徑的真實企業網路中,面對網路工程師的監控,維持如此乾淨的分割超過20分鐘並非易事。該攻擊還要求攻擊者識別並鎖定具有精確平衡算力的子群組,這在聯盟鏈中可能需要內部知識。

可行建議: 對於任何考慮採用基於PoW的聯盟鏈的企業,本文是一個必須注意的警訊。直接的結論是在聯盟鏈環境中放棄純粹的PoW。 替代方案如權威證明、實用拜占庭容錯或其衍生協議(如伊斯坦堡BFT)本質上更具抵抗力,因為它們的安全性源自身份和訊息傳遞,而非算力和網路運氣。對於像以太坊這樣的公共鏈,緩解措施在於強大、去中心化的網路基礎設施(如以太坊的Discv5)和快速的區塊傳播(如Graphene)。監控主要礦池之間異常延遲應成為標準的安全實踐。這項研究,連同早期關於日蝕攻擊賄賂攻擊的研究,構成了一個證據體系,表明第一層共識的設計必須明確考慮敵對網路模型。

7. 技術深入探討

7.1 數學模型細節

誠實節點和攻擊者的挖礦過程被建模為獨立的泊松過程,速率分別為$\lambda_h$和$\lambda_a$,其中$\lambda = \text{算力} / \text{出塊時間}$。令$Q(t)$和$H(t)$分別為攻擊者和誠實網路在時間$t$內挖出的區塊數量。它們的期望值為$\mathbb{E}[Q(t)] = \lambda_a t$和$\mathbb{E}[H(t)] = \lambda_h t$。

攻擊者在延遲期間$\Delta$內的目標是在一個分割區中建立領先優勢$z$。攻擊者在分割區B中的鏈至少領先誠實分割區A中的鏈$k$個區塊的機率,可以使用泊松分布的尾部分佈不等式來界定。當網路合併時,攻擊成功的條件涉及比較兩條競爭鏈的總權重(包括叔塊)。本文推導出一個連結$\Delta$、$\alpha$(攻擊者佔總算力的比例)和期望成功機率的條件。

7.2 實驗參數與指標

  • 測試平台: 私有以太坊網路(Geth客戶端)。
  • 節點數量: 基於R3約11名參與者建模。
  • 網路模擬: 使用工具(例如`tc` netem)在節點子集之間引入精確的延遲($\Delta$)。
  • 算力分佈: 模擬平衡的子群組(例如,45%-45%誠實,10%攻擊者)。
  • 主要指標: 成功雙重支付所需時間及其機率。
  • 驗證: 重複運行以測量約20分鐘攻擊時間的一致性。

8. 分析框架與概念範例

情境: 一個用於貿易融資的聯盟區塊鏈,有10家銀行,每家銀行運行一個算力相等的挖礦節點。

攻擊框架應用:

  1. 偵察: 攻擊者(一家銀行的惡意內部人員)繪製網路拓撲圖,並識別出節點主要託管在兩個雲端區域:美國東部(6個節點)和歐洲西部(4個節點)。
  2. 算力平衡: 攻擊者計算出美國東部子群組擁有約60%的算力,歐洲西部擁有約40%。為了平衡,攻擊者暫時入侵或在歐洲區域上線一個額外節點,將平衡調整到接近50%-50%。
  3. 分割: 使用BGP劫持或針對區域間鏈路的DDoS攻擊,攻擊者在美國東部和歐洲西部之間誘發30分鐘的通訊延遲。
  4. 執行: 攻擊者在美國東部鏈上發送一筆購買資產的交易。同時,他們利用其在歐洲西部分割區的資源進行挖礦。25分鐘後,歐洲西部鏈(在攻擊者集中挖礦的推動下)擁有更重的GHOST權重。
  5. 解決: 攻擊者停止網路干擾。網路節點協調並採納歐洲西部鏈,使美國東部的交易失效。攻擊者實現了資產的雙重支付。

這個非程式碼範例使用一個現實的商業情境說明了攻擊的步驟。

9. 未來方向與緩解策略

  • 共識協議演進: 在私有/聯盟鏈中更廣泛地採用非PoW共識(例如Hyperledger Fabric的Raft、Quorum的QBFT)。
  • 混合模型: 研究明確具有延遲容忍性或納入網路延遲證明的PoW協議。
  • 增強網路層安全性: 整合具有反分割功能的點對點網路協議,例如可驗證的隨機節點選擇以及異常延遲模式監控。
  • 形式化驗證: 應用形式化方法在弱網路同步假設下建模和驗證共識協議,類似於對Algorand共識所做的工作。
  • 監管與治理重點: 對於聯盟鏈,發展治理模型和技術標準,要求將強大的網路基礎設施和監控作為區塊鏈部署的一部分,而非事後補救。

10. 參考文獻

  1. Natoli, C., & Gramoli, V. (2016). The Balance Attack Against Proof-Of-Work Blockchains: The R3 Testbed as an Example. arXiv preprint arXiv:1612.09426.
  2. Nakamoto, S. (2008). Bitcoin: A Peer-to-Peer Electronic Cash System.
  3. Buterin, V. (2014). Ethereum: A Next-Generation Smart Contract and Decentralized Application Platform.
  4. Sompolinsky, Y., & Zohar, A. (2013). Accelerating Bitcoin's Transaction Processing. Fast Money Grows on Trees, Not Chains. IACR Cryptology ePrint Archive.
  5. Heilman, E., Kendler, A., Zohar, A., & Goldberg, S. (2015). Eclipse Attacks on Bitcoin's Peer-to-Peer Network. USENIX Security Symposium.
  6. Eyal, I., & Sirer, E. G. (2014). Majority is not Enough: Bitcoin Mining is Vulnerable. International Conference on Financial Cryptography and Data Security.
  7. Lamport, L., Shostak, R., & Pease, M. (1982). The Byzantine Generals Problem. ACM Transactions on Programming Languages and Systems.
  8. Castro, M., & Liskov, B. (1999). Practical Byzantine Fault Tolerance. OSDI.