Time-Warp-Attack

時間扭曲攻擊是按長度比較鏈條不安全的唯一原因嗎?

  • February 10, 2015

該維基上列出的比特幣的弱點之一是它曾經容易受到時間扭曲攻擊。這種攻擊讓擁有超過 50% 雜湊算力的礦工在短時間內解決更多塊,基本上獲得了高於適當的獎勵。它也可以用來在保持低難度的同時非常快速地創建一個非常長的鏈。

**時間扭曲攻擊是按長度比較鏈條不安全的唯一原因嗎?**換一種方式問,如果時間扭曲錯誤在比特幣中得到修復,那麼按長度比較鍊是否總是會產生與按完成的工作進行比較相同的結果?

相關: 他們在這個答案中建議:

中本聰最初並沒有意識到僅通過計算塊數來選擇正確的鏈可以進行一些極其簡單的攻擊。0.1 版只計算塊。這就是為什麼論文只說“最長”。“鍊式工作”的概念是稍後添加的。

如果在比特幣中修復了時間扭曲錯誤,那麼按長度比較鍊是否總是會產生與按完成的工作進行比較相同的結果?

不,很容易創建一個鏈更多但塊更少的鏈。例如,假設我們有一個包含 2,016 個難度為 1 塊的鏈。這條鍊是在 20,160 分鐘內創建的,因此難度在下一個時期不會改變,這意味著到第 4,032 塊我們有 4032diff 鏈:

 2016 *  diff1 == 2016diff
+ 2016 *  diff1 == 2016diff
--------------------------
 4032 blocks with 4032diff

然後有人用速度快 4 倍的採礦設備開采了一條替代鏈,在 5,040 分鐘內產生了前 2,016 個區塊。難度增加到 4 塊,到 2,521 塊時,這條鏈比第一個描述的鏈有更多的鏈工作,但塊更少。

 2016 *  diff1 == 2016diff
+  505 *  diff4 == 2020diff
--------------------------
 2521 blocks with 4036diff

我假設你對針對比特幣主網鏈的實際攻擊更感興趣,如果該鏈仍然使用最長即最好的邏輯。這是一個簡單的:

  • 創世區塊的日期為 2009 年 1 月 3 日。如果您從那時到現在僅開採難度 1 個區塊(每天 144 個區塊),您將擁有大約 1(144*365*6)+(30*144)==319680個區塊。
  • “真正的”區塊鏈有 342,908 個區塊,相差 23,228 個區塊。
  • 因為難度在單個 2,016 塊期間只能增加 4 倍,所以開採 23,228 塊只需要從難度 1 到難度4**(23228 / 2016) == 4194304
  • 雖然難度 4,194,304 聽起來很高。目前主網難度為 44,455,415,962。因此,如果我的數學計算正確,您可以創建一個比主網更長的鏈,其雜湊率約為目前網路的 0.001%。

引用自:https://bitcoin.stackexchange.com/questions/35978