※ 引述《ripple0129 (perry tsai)》之銘言:
: 其實我蠻想討論BTC 51%攻擊發生的可能性
: 在我看來發生51%的攻擊機率是十分低的
: 而且當發生51%攻擊時
: 我覺得目標也不是為了獲利
: 而是為了毀滅BTC
: 要透過51%攻擊的成本十分的高
: 真的是為了獲利而攻擊
: 會導致幣價急遽下降
: 可能獲利都比不上成本
: 我目前猜想未來可能發生51%攻擊
: 可能是到政府層級
: 也就是假如美國將BTC作為戰略儲備
: 而部分國家跟進
: 隨著時間慢慢轉變成BTC似乎變成了法幣的擔保
: 則那些並沒有將BTC做為戰略儲備的國家
: 相對性的法幣價值偏弱
: 這時候透過毀滅BTC讓擁有BTC國家喪失信用
: 這樣子的51%攻擊可能比較有合乎成本考量
: 不過這個未來還太遠了就是
https://www.youtube.com/watch?v=ncPyMUfNyVM
大多數人對 51% 攻擊的理解往往存在誤解,認為攻擊者只要掌握了大
部分算力,就可以隨意在區塊鏈的帳本上「亂塗鴉」。實際上,比特幣
交易的完整性依賴於私鑰簽名,並不是光靠算力就能更改交易記錄。因
此,51% 攻擊真正能做到的,是以自己簽名過的交易覆蓋另一個自己簽
名過的交易,實現所謂的「雙重支付」(Double Spend)。
以下我們深入探討 51% 攻擊的本質及其運作原理。
比特幣交易的選鍊機制
比特幣區塊鏈的核心是「最長鏈原則」,也就是所有參與者會選擇累積
工作量(Proof of Work)最多的鏈作為正確的帳本。因此,當一筆交易
被打包進區塊並新增到區塊鏈上,其他礦工會以此區塊為基礎繼續挖礦
,形成新的區塊。這樣一來,交易越多次被確認(被新區塊引用),就
越難被覆蓋或改寫。
大多數的時候,交易所會按照交易的金額的大小,來要求確任的數量,
金額小的 1-3的區塊就好,金額大的 6-10 都可能。
攻擊者若要實施 51% 攻擊,首先他要有一個足夠大金額比特幣來進行
雙花,攻擊者在主鏈上提交一筆交易(例如購買商品),並等待賣家確
認交易後發貨。同時,攻擊者在自己的攻擊鏈上挖出區塊,但不包含這
筆交易,或包含一筆相同數量但不同接收方的交易(例如發回自己的地
址)。
當攻擊者的攻擊鏈累積的工作量超過主鏈時,其他礦工會認為攻擊鏈是
「正確的鏈」,並切換過去。原本的交易被覆蓋,實現雙重支付。
以 1BTC 的交易金額來看,要覆蓋這筆交易,你需要連續挖出六個區塊
,既使你有 51%的算力,成功率也只有 1.7% 的可能,你要賭上損失六
個區塊的交易費,跟賭上成功的機率,來覆蓋這筆 1BTC 的交易。
會不會有人這麼幹?當然有可能有,但是又怎樣,賭了這麼大的成本,
最後也不過就是蓋掉改寫了自己的幾筆交易。