Proof-of-Work

為什麼攻擊者需要 51% 的算力才能超越區塊鏈?

  • October 11, 2022

我真的很難理解關於 51% 攻擊的事情。通常誰先挖出一個區塊就獲勝。我的理解是採礦就像一場比賽。在一場比賽中,一名運動員的速度不需要超過所有運動員總和的 50%。他只需要成為最快的。

這不像整個網路作為一個單一的單元一起工作來解決這個難題。它們作為獨立的實體工作,因此它們的計算能力沒有被累加。

因此,如果網路中有礦工M1M2、… Mn和礦池P1P2、.. Pm,且Pi (1<=i<= m) 具有最高的雜湊算力Hi,則 I 作為不誠實的礦工如果我私下在側鏈上工作, (或礦池)將需要擁有Hx > Hi的挖礦能力,以便最終比網路的其他部分更快地探勘區塊。時機成熟時,我可以廣播我的側鏈,這將成為主鏈。

我知道我的推理在某種程度上存在缺陷,但我不明白哪一部分以及為什麼。有人可以解釋一下嗎?

在一場比賽中,一名運動員的速度不需要超過所有運動員總和的 50%。他只需要成為最快的。

採礦根本不類似於比賽。賽車手朝著終點線前進,最快的賽車手最終獲勝。但是,比特幣探勘沒有任何進展:每次嘗試(雜湊)你要麼找到一個正確的塊,要麼沒有。

所以比特幣挖礦更像是一場擲骰子遊戲,每次嘗試的成功機率都是Poisson分佈的。您擁有的雜湊算力越多,您每秒可以進行的嘗試就越多。

如果你想可靠地戰勝網路的其餘部分(即 51% 攻擊),你將需要比網路的其餘部分擁有更多的雜湊算力(即,你需要控制超過 50% 的總雜湊算力指向網路)。

因此,如果網路中有礦工 M1、M2、…Mn 和礦池 P1、P2、..Pm,且 Pi (1<=i<= m) 具有最高的雜湊算力 Hi,則 I 作為不誠實的礦工如果我私下在側鏈上工作,(或礦池)將需要擁有 Hx > Hi 的挖礦能力,以便最終比網路的其他部分更快地探勘區塊。

為了 51% 的攻擊,Hx &gt; ((H1 + H2 + H3 + ... + Hm) / 2).

僅考慮 ifHx &gt; Hi是不夠的,因為Hi不是唯一的其他實體探勘。任何擁有任意數量的算力的礦工都可以贏得下一個區塊(機率與他們的算力份額成正比),因此您需要在計算中同時考慮所有礦工。

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