2.1 核心攻擊原理
攻擊者將網絡劃分為(至少)兩個總挖礦算力大致平衡嘅子群組。通過選擇性地延遲呢啲子群組之間(但唔係群組內部)嘅消息,攻擊者容許佢哋喺唔同嘅鏈上挖礦。然後,攻擊者將自己嘅挖礦算力集中喺一個子群組(區塊子群組),同時喺另一個子群組(交易子群組)發送佢打算撤銷嘅交易。
本文介紹並分析咗平衡攻擊,呢種係針對工作量證明區塊鏈共識協議嘅新型安全漏洞,主要聚焦於以太坊同佢嘅GHOST協議。同需要壓倒性計算能力嘅傳統51%攻擊唔同,平衡攻擊利用節點子群組之間嘅策略性網絡通信延遲來創建暫時性分區,從而可以用顯著更低嘅挖礦算力實現雙重支付。研究提供咗理論概率模型,並使用模擬R3金融聯盟區塊鏈測試平台嘅設置進行咗實驗驗證。
核心發現係,PoW區塊鏈,特別係使用類似GHOST嘅叔塊計數機制嘅區塊鏈,可能根本上唔適合聯盟鏈或私有鏈設置,因為喺呢啲環境中,網絡拓撲同延遲可以被操控或預測。
攻擊通過人為創造導致權重相近嘅競爭鏈嘅網絡條件,來利用區塊鏈嘅分叉解決策略。
攻擊者將網絡劃分為(至少)兩個總挖礦算力大致平衡嘅子群組。通過選擇性地延遲呢啲子群組之間(但唔係群組內部)嘅消息,攻擊者容許佢哋喺唔同嘅鏈上挖礦。然後,攻擊者將自己嘅挖礦算力集中喺一個子群組(區塊子群組),同時喺另一個子群組(交易子群組)發送佢打算撤銷嘅交易。
本文建立咗一個正式嘅概率模型來確定成功攻擊嘅條件。
分析使用切爾諾夫界限將挖礦過程建模為泊松過程。關鍵變量係攻擊者必須維持嘅延遲時間($\Delta$)相對於攻擊者嘅挖礦算力份額($\alpha$)同誠實網絡嘅算力。
推導出攻擊者喺隔離子群組中嘅分支比另一個子群組嘅分支更重嘅概率。要實現高概率嘅成功雙重支付,所需延遲$\Delta$同攻擊者嘅挖礦算力成反比。模型捕捉到呢個權衡:攻擊者算力越低,所需網絡延遲越長。 攻擊者喺時間$t$內,用算力$q$對抗誠實算力$p$所能獲得嘅預期領先優勢$L$嘅簡化表達式,同泊松過程速率相關:$\lambda = \frac{p}{\tau}$,其中$\tau$係出塊時間。攻擊者嘅進度係一個由呢個過程建模嘅隨機變量。
理論模型喺一個模擬R3聯盟嘅實際環境中進行咗測試。
喺一個分佈式系統中部署咗一個以太坊私有鏈,模擬R3聯盟(約11間參與銀行)嘅條件。喺節點子群組之間人為引入網絡延遲來模擬攻擊。
攻擊持續時間: 一部單機能夠喺大約20分鐘內成功對模擬嘅R3聯盟執行平衡攻擊。
含義: 呢個表明攻擊唔只係理論上可行,喺聯盟鏈設置中,用有限嘅資源實際上係可行嘅,因為相比公共主網,聯盟鏈嘅總網絡算力有限。
圖表描述(概念性): 一幅折線圖會顯示雙重支付嘅成功概率(Y軸)隨住攻擊者控制嘅延遲時間(X軸)增加而急劇上升,即使對於攻擊者挖礦算力較低嘅情況(由唔同線條表示)。對於擁有20%算力嘅攻擊者,條曲線達到高概率所需時間會比5%算力嘅攻擊者快得多,但只要延遲足夠,兩者最終都會成功。
雖然兩者都容易受到網絡層面攻擊,但本文指出,以太坊嘅GHOST協議將叔塊納入權重計算,諷刺地可能創造咗一個唔同嘅攻擊面。平衡攻擊專門通過隔離創建平衡嘅競爭子樹,來操縱「最重子樹」規則。比特幣嘅最長鏈規則容易受到唔同嘅延遲攻擊(例如自私挖礦),但平衡攻擊係圍繞GHOST嘅機制制定嘅。
本文最致命嘅結論係標準嘅PoW協議非常唔適合聯盟區塊鏈。 聯盟鏈參與者較少且已知,令網絡分區攻擊比喺全球性、對抗性嘅比特幣網絡上更有可能。有限嘅總算力亦降低咗獲取有意義算力份額嘅成本。
核心見解: Natoli同Gramoli揭示咗區塊鏈安全中一個關鍵但常被忽視嘅公理:共識安全係密碼學證明同網絡同步性嘅函數。 平衡攻擊唔係要破解SHA-256或Ethash;而係要精準地打破部分同步模型中嘅「網絡」假設。呢個將威脅從計算層(算力)轉移到網絡層(路由、ISP),係好多聯盟鏈運營商未準備好防禦嘅領域。佢呼應咗經典分佈式系統(如FLP不可能結果)嘅教訓,證明共識喺異步條件下係脆弱嘅。
邏輯流程: 論證嘅簡潔性非常優雅。1) PoW安全性依賴於單一、增長最快嘅鏈。2) GHOST將其修改為「最重」鏈,納入叔塊以提高吞吐量。3) 通過創建算力平衡嘅隔離分區,攻擊者迫使產生兩個重且有效嘅子樹。4) 重新連接後,GHOST嘅規則變成攻擊向量,而唔係防禦。佢利用嘅邏輯缺陷係,GHOST假設權重反映誠實工作,但喺分區網絡中,權重反映隔離嘅工作,而呢個係可以操控嘅。
優點與缺陷: 本文嘅優點在於佢喺以太坊私有鏈上進行咗實際演示,超越咗理論。使用切爾諾夫界限提供咗數學嚴謹性。然而,分析有一個學術安全論文常見嘅缺陷:假設咗近乎完美、持續嘅網絡分區。喺具有多條物理同邏輯路徑嘅真實企業網絡中,對抗網絡工程師嘅監控,維持咁乾淨嘅分區超過20分鐘並唔簡單。攻擊仲要求攻擊者識別並針對算力精確平衡嘅子群組,呢個可能喺聯盟鏈中需要內部知識。
可行建議: 對於任何考慮使用基於PoW嘅聯盟鏈嘅企業,本文係一個必須注意嘅警號。直接嘅結論係放棄喺聯盟鏈設置中使用純PoW。 替代方案如權威證明、實用拜占庭容錯或其衍生協議(如伊斯坦布爾BFT)本質上更具抵抗力,因為佢哋嘅安全性源自身份同消息傳遞,而唔係算力同網絡運氣。對於以太坊等公共鏈,緩解措施在於強大、去中心化嘅網絡基礎設施(如以太坊嘅Discv5)同快速區塊傳播(如Graphene)。監控主要礦池之間嘅異常延遲應該成為標準安全實踐。呢項研究,連同早期關於日食攻擊同賄賂攻擊嘅工作,構成咗一系列證據,表明第一層共識必須喺設計時明確考慮對抗性網絡模型。
誠實節點同攻擊者嘅挖礦過程被建模為獨立嘅泊松過程,速率分別為$\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$(攻擊者佔總算力嘅比例)同期望成功概率嘅條件。
場景: 一個用於貿易融資嘅聯盟區塊鏈,有10間銀行,每間運營一個算力相等嘅挖礦節點。
攻擊框架應用:
呢個非代碼示例用一個現實嘅商業場景說明咗攻擊嘅步驟。