隨著比特幣價格水漲船高、突破天際,幾乎大街小巷的人基本都知道比特幣。而區塊鏈作為比特幣的底層技術,自然也漸漸被人們所熟識。本系列文章從零開始介紹區塊鏈的概念,及其應用場景,最後講講放棄區塊鏈的原因。
第五篇——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%攻擊悖論。
如果攻擊者不是為了利益,僅僅是為了破壞而破壞,那就另當別論了。
閱讀更多 一言良語 的文章