《區塊鏈從入門到放棄》51%攻擊和雙花問題

《區塊鏈從入門到放棄》51%攻擊和雙花問題

隨著比特幣價格水漲船高、突破天際,幾乎大街小巷的人基本都知道比特幣。而區塊鏈作為比特幣的底層技術,自然也漸漸被人們所熟識。本系列文章從零開始介紹區塊鏈的概念,及其應用場景,最後講講放棄區塊鏈的原因。


《區塊鏈從入門到放棄》51%攻擊和雙花問題


第五篇——51%攻擊和雙花問題

1、什麼是51%攻擊?

當我有了整個比特幣系統中算力的51%之後,我就可以利用我手上的算力優勢,來決定哪個區塊有效,從而從中謀取利益。

2、怎麼實現51%攻擊?

首先假設我有10個比特幣,當前為第100個區塊,實現過程如下:

  • ①我先賣出這10個比特幣,然後將錢轉至銀行卡。這筆交易會被記錄到第101個區塊。也就是其他的礦工會在第101個區塊後面繼續挖礦。
  • ②我不在第101個區塊後面挖礦,因為這個區塊記錄了我的賣出交易信息。我選擇在原先第100個區塊後面挖礦。
  • ③因為我有51%的算力,因此我有很大的概率算出下一個隨機數,然後我自己在第100個區塊後面加上剛剛挖礦的區塊,也就是我自己的第101個區塊。這個區塊上沒有我賣出10個比特幣的交易信息。
  • ④我繼續挖礦,因為算力的優勢,我又算出了隨機數,得到了第102,第103及其後面的區塊,然後其他人就以我發佈的區塊為基礎,在後面挖礦,而放棄原先的第101個區塊。
  • ⑤等6個區塊之後確認,這時因為第101個區塊沒有我的賣出記錄,所以我賬戶實際還有10個比特幣。

這個就是實現51%攻擊的過程。

3、什麼是雙花問題?

因為51%攻擊的存在,我的10個比特幣被我賣了兩次甚至更多次,這個問題就是雙花問題。

4、是否一定要有至少51%的算力才能發起攻擊?

不一定。

因為挖礦本質上是概率事件,只不過擁有了51%算力之後,你的聯合概率會很大,更容易挖到礦,實現攻擊。

5、51%攻擊真的存在嗎?

假設攻擊者是為了利益攻擊,則51%攻擊理論上不存在。

因為要獲得全網51%的算力,要投入的成本(礦機、電費等)大於攻擊後獲得的收益,因此,51%攻擊事實上難以發生。這個又叫做51%攻擊悖論。

如果攻擊者不是為了利益,僅僅是為了破壞而破壞,那就另當別論了。


分享到:


相關文章: