選擇語言

比特幣基於算力的雙重支付分析

針對比特幣雙重支付攻擊的隨機過程進行量化分析,聚焦於攻擊機率、確認等待時間與經濟意涵。
computingpowercoin.com | PDF Size: 0.1 MB
評分: 4.5/5
您的評分
您已經為此文檔評過分
PDF文檔封面 - 比特幣基於算力的雙重支付分析

目錄

1. 緒論

比特幣的安全模型核心在於防止雙重支付——即惡意地將同一枚數位貨幣花費兩次。本文基於攻擊者的算力,對雙重支付攻擊進行了量化的隨機過程分析。它釐清並擴展了中本聰原始白皮書中提出的基礎統計模型,從定性理解邁向精確的機率框架。

2. 區塊鏈與分支選擇

比特幣區塊鏈是一個由區塊組成的樹狀結構,每個區塊都引用其前一個區塊。網路共識選擇最長鏈(或累積工作量證明最多的鏈)作為有效的歷史記錄。暫時的分歧(分叉)會在一個新區塊延伸其中一條分支,使其變得更長時得到解決。這個機制正是雙重支付攻擊的戰場,攻擊者在此秘密構建一條替代鏈。

3. 追趕過程

本節模擬了核心攻擊情境:一個擁有全網算力比例q的攻擊者,在落後誠實鏈(算力為p = 1 - qz個區塊後,試圖追上並超越。此過程被建模為一個二項隨機漫步。攻擊者從落後z個區塊的劣勢下最終追上的機率推導如下:

$P = \begin{cases} 1 & \text{if } q \ge p \\ (q/p)^z & \text{if } q < p \end{cases}$

這個優雅的結果顯示,對於算力低於50%(q < 0.5)的攻擊者,其成功機率會隨著確認數z的增加而呈指數級下降。

4. 等待交易確認

分析轉向商家的視角:在認為一筆交易安全之前,應該等待多少個確認(n)?本文計算了在商家看到n個確認後,攻擊者仍可能成功的機率。這涉及計算攻擊者在誠實網路找到n個區塊之前,找到n+1個區塊的機率,並考慮了持續進行的競賽。得出的機率為建議的確認深度提供了基礎。

5. 圖表與分析

本文提供了圖形分析,繪製了針對不同攻擊者算力(q),雙重支付成功機率相對於商家確認數(n)的變化圖。視覺化的關鍵洞見包括:

這些圖表對於風險評估和制定實際的確認政策至關重要。

6. 雙重支付的經濟學

本文引入了一個經濟模型,將攻擊框架為一個賭注可變的賭徒破產問題。攻擊者的潛在回報是其試圖雙重支付的交易價值。分析考慮了攻擊對攻擊者的期望值,結論是除非被盜資產的價值相對於區塊獎勵極高,否則一個理性的、算力q < 0.5的攻擊者會發現誠實挖礦比嘗試雙重支付更有利可圖。這與賽局理論的安全原則相符。

7. 結論

本分析為理解雙重支付風險提供了嚴謹的數學基礎。它證實了只要收款方等待足夠數量的確認,比特幣協議對於算力低於全網50%的攻擊者的雙重支付行為具有高度韌性。這項工作量化了確認時間與風險承受度之間的安全權衡。

8. 核心洞見與分析師觀點

核心洞見: Rosenfeld的工作不僅是數學;它是比特幣結算層第一個嚴謹的風險定價模型。他將中本聰直觀的「最長鏈規則」轉化為可量化的安全SLA(服務等級協議),其中確認深度n是為獲得特定最終性機率1-P所支付的「保費」。這是所有現代加密貨幣交易所安全政策的基石。

邏輯脈絡: 其天才之處在於將攻擊框架為一個二項隨機漫步——一個經典的隨機過程。透過將區塊發現建模為泊松過程,Rosenfeld將混亂、並行的挖礦競賽簡化為一個可解的一維賭徒破產問題。從第3節(追趕機率)到第4節(商家等待時間)的飛躍至關重要;它連接了攻擊者的能力與防禦者的政策

優勢與缺陷:
優勢: 模型的簡潔性是其優勢。封閉解 $P = (q/p)^z$ 強大且易於解釋。第6節的經濟分析具有前瞻性,預示了當今在ACM金融科技進展會議 (AFT)等場合所見的嚴謹區塊鏈賽局理論研究。
關鍵缺陷: 該模型假設了一個擁有固定q靜態對手。它未能考慮策略性、波動的算力——例如攻擊者在短期、有針對性的爆發中租用大量雲端挖礦能力(一種「Goldfinger攻擊」),這是後來如Eyal和Sirer的「礦池」論文中所強調的威脅。它也忽略了網路延遲和自私挖礦策略,這些都可能有效提高攻擊者的有效q值。

可行建議: 1. 對於交易所: 不要使用一刀切的確認數。動態地使用Rosenfeld的公式。對於100美元的存款,3個確認可能就足夠。對於1000萬美元的提款,你需要數十個確認,或者更好的是,轉移到具有最終性小工具增強功能的鏈上。 2. 對於協議設計者: 本文是支持權益證明 (PoS)的經典論據。工作量證明中的指數級安全成本((q/p)^z)在經濟上是殘酷的。如以太坊Casper(其研究規格中所述)等PoS系統,旨在以可加密懲罰的最終性取代這種機率性最終性,從根本上改變了攻擊的計算方式。 3. 對於商家: 真正的啟示是,對於小額、即時支付(如咖啡),等待任何確認都是不切實際的。這個經濟現實直接推動了鏈下支付通道(閃電網路)的發展,它透過將交易移出基礎層,完全繞過了Rosenfeld所描述的問題。

9. 技術細節與數學框架

核心模型將區塊發現視為獨立試驗。令p為誠實鏈找到下一個區塊的機率,攻擊者則為q = 1-p。系統狀態是攻擊者的落後區塊數z。攻擊者從落後z個區塊的狀態最終達到持平的機率p_z,滿足從賭徒破產問題推導出的遞迴關係:

$p_z = q \cdot p_{z-1} + p \cdot p_{z+1}$

邊界條件為p_0 = 1(持平即成功)和p_\infty = 0。解此式可得封閉解 $p_z = (q/p)^z$(當q < p時)。

對於商家等待n個確認的情境,攻擊者成功的機率是他從落後n個區塊開始,能夠構建出一條比誠實鏈更長的鏈的機率。這需要對商家廣播交易時所有可能的領先情境進行求和計算。

10. 分析框架:範例情境

情境: 一家加密貨幣交易所收到一筆大額存款。它必須決定在將款項記入用戶帳戶前,需要多少個確認。

  1. 定義參數:
    • 攻擊者估計算力份額:q = 0.2 (20%)。這可基於公開的礦池數據。
    • 風險價值(存款金額): V = $500,000。
    • 交易所的風險承受度: 可接受的雙重支付機率:$\epsilon = 0.001$ (0.1%)。
  2. 應用Rosenfeld模型: 我們需要找到最小的n,使得攻擊機率 $P(n, q) \le \epsilon$。使用公式 $P \approx \sum_{k=0}^{\infty} \frac{\lambda^k e^{-\lambda}}{k!} \cdot (q/p)^{n+1-k}$(其中 $\lambda = n(q/p)$,且 $k \le n+1$),或查閱預先計算的圖表/表格。
  3. 計算/結果: 對於q=0.2\epsilon=0.001,所需的確認數n約為9
  4. 政策決定: 交易所將此資產的確認要求設定為9個區塊。對於10分鐘的區塊時間,這意味著存款有90分鐘的持有期,在安全性和用戶體驗之間取得平衡。

11. 未來應用與研究方向

12. 參考文獻

  1. Nakamoto, S. (2008). Bitcoin: A Peer-to-Peer Electronic Cash System.
  2. Rosenfeld, M. (2014). Analysis of Hashrate-Based Double-Spending. arXiv:1402.2009.
  3. Eyal, I., & Sirer, E. G. (2014). Majority is not Enough: Bitcoin Mining is Vulnerable. International Conference on Financial Cryptography and Data Security.
  4. Buterin, V., & Griffith, V. (2017). Casper the Friendly Finality Gadget. arXiv:1710.09437.
  5. Gervais, A., Karame, G. O., Wüst, K., Glykantzis, V., Ritzdorf, H., & Capkun, S. (2016). On the Security and Performance of Proof of Work Blockchains. ACM SIGSAC Conference on Computer and Communications Security.