導語
在深入瞭解 51% 攻擊之前,我們有必要先仔細瞭解挖礦和基於區塊鏈的系統。
比特幣及其底層區塊鏈技術的主要優勢之一是構建和驗證數據的分佈式特性。節點的去中心化工作可確保遵守協議規則,並確保所有網絡參與者同意區塊鏈的當前狀態。這意味着大多數節點需要定期就挖礦過程、使用的軟件版本、交易的有效性等達成共識。
比特幣的共識算法(工作量證明)確保了礦工只有在網絡節點一致同意其提供的區塊哈希值是準確的情況下(即區塊哈希值證明礦工的工作量足夠併爲該區塊的問題找到了有效的解決方案)才能驗證新的交易區塊。
作爲一個去中心化賬本和分佈式系統,區塊鏈基礎設施可防止任何中心化實體將網絡用於自己的目的,這就是比特幣網絡不存在單一權威的原因。
由於挖礦過程(在基於 PoW 的系統中)涉及投入大量電力和計算資源,因此礦工的表現取決於其擁有的算力,這通常稱爲哈希算力或哈希率。參與挖礦活動的節點有很多,而且分佈在不同的地點,這些節點會相互競爭,因爲它們都想成爲下一個找到有效區塊哈希值的節點,並獲得新生成的比特幣獎勵。
因此,挖礦能力分佈在世界各地的不同節點上,這意味着哈希率不會由某個單一實體掌握。至少也不應該如此。
但如果哈希率分佈不佳會發生什麼?例如,如果某個實體或組織能夠獲得 50% 以上的哈希算力會如何?可能導致的後果之一就是我們所說的 51% 攻擊,也稱爲多數攻擊。
什麼是 51% 攻擊?
51% 攻擊是針對區塊鏈網絡的潛在攻擊,指單個實體或組織能夠控制大部分哈希率,從而可能擾亂網絡。此時攻擊者將有足夠的挖礦能力來故意排除或修改交易的順序。他們還可以在管控網絡的情況下撤銷已做出的交易,從而導致雙花問題。
成功的多數攻擊還可以讓攻擊者阻止部分或所有交易被確認(交易拒絕服務),或阻止部分或所有其他礦工挖礦,導致所謂的挖礦壟斷。
另一方面,多數攻擊無法讓攻擊者撤銷其他用戶的交易,也無法讓攻擊者阻止他人創建交易以及將交易廣播至網絡。變更區塊獎勵、憑空製造代幣或竊取不屬於攻擊者的代幣也都無法實現。
出現 51% 攻擊的可能性有多大?
由於區塊鏈由分佈式節點網絡維護,因此所有參與者都是在達成共識的過程中開展合作。這是區塊鏈的安全性一般較高的原因之一。網絡越大,防禦攻擊和數據損壞的能力就越強。
而關於工作量證明區塊鏈,礦工擁有的哈希率越高,爲下一個區塊找到有效解決方案的機會就越大。這是真的,因爲挖礦涉及無數次哈希嘗試,而更高的計算能力意味着每秒可以嘗試更多次。一些早期礦工加入了比特幣網絡,爲其發展和安全作出了貢獻。隨着比特幣作爲一種貨幣的價格不斷上漲,許多新礦工進入該系統,意圖爭奪區塊獎勵(目前設定的獎勵爲每區塊 12.5 枚比特幣)。這種競爭的存在是比特幣安全的原因之一。如果不是爲了誠實行事並努力獲得區塊獎勵,礦工就不會有動力投入大量資源。
因此,由於比特幣網絡的規模較大,51% 攻擊不太可能發生。一旦區塊鏈變得足夠大,單人或團體獲得足夠計算能力來壓倒所有其他參與者的可能性就會迅速下降到極低的水平。
此外,隨着鏈的增長,更改之前確認的區塊會變得越來越困難,因爲這些區塊都是通過加密證明鏈接起來的。出於同樣的原因,一個區塊所獲確認越多,更改或撤銷其中交易的成本就越高。因此,一次成功的攻擊可能只能在短時間內修改最近幾個區塊的交易。
接下來請試想,如果一個惡意實體攻擊比特幣網絡並非爲了獲得利潤,而只是爲了將其摧毀,並且不計代價。那麼即使攻擊者成功破壞了網絡,比特幣軟件和協議也會迴應其攻擊,迅速進行修改和調整。這需要其他網絡節點達成共識,就這些更改達成一致,但如果情況緊急,該流程可能很快就可以完成。比特幣具有很強的抵禦攻擊的能力,被認爲是現存最安全、最可靠的加密貨幣。
雖然獲得比其餘比特幣網絡更多的計算能力對攻擊者而言相當困難,但如果是規模較小的加密貨幣,挑戰性就小很多。與比特幣相比,山寨幣擁有的可保護其區塊鏈的哈希算力相對較低。低到足以讓 51% 攻擊切實發生。受到過多數攻擊的加密貨幣的幾個著名例子有 Monacoin、Bitcoin Gold 和 ZenCash。
