我將討論比特幣系統中三種不同類型的可能攻擊;
Race Attack
作爲一個攻擊者,您可能會使用兩台不同的機器將同一枚硬幣快速連續地發送給不同的供應商。如果供應商在交付貨物之前不等待區塊確認,他們很快就會意識到交易在挖掘過程中被拒絕。解決這種攻擊的辦法是,供應商必須等待至少一個區塊確認後才能發出貨物。
Finney Attack
在這種情況下,攻擊者就是礦工。礦工用他的交易挖掘一個區塊,但不在系統中釋放它。他現在在第二次交易中使用相同的硬幣,然後釋放預先開採的區塊。顯然,第二筆交易最終會被其他礦商拒絕,但這需要一段時間。爲了降低這種風險,賣方應在放行貨物前等待至少六個區塊的確認書。
The 51% Attack
在這種攻擊中,我們提出了一個不切實際的假設,即某人擁有51%的網絡計算能力。這種攻擊中的攻擊者會挖掘一個私人區塊鏈,在那裡他會加倍花費硬幣。
由於他擁有大部分的計算能力,他可以保證他的私人區塊鏈在某個時候會比「誠實」網絡的鏈長。然後,他在系統中釋放了他的私有區塊鏈,使得之前記錄在誠實區塊鏈中的所有交易都無效。
這種攻擊是虛構的,因爲獲取相當於或超過整個網絡計算能力51%的計算能力是非常昂貴的。