51% 攻擊是什麼,跟一般想像的「駭客入侵、偷走資產」有什麼不同?
很多人聽到「51% 攻擊」,直覺聯想到駭客破解密碼、直接偷走別人錢包裡的錢,但這個想像是不準確的。51% 攻擊者無法偽造簽章、無法存取自己沒有私鑰的錢包、也無法憑空創造新代幣違反協議規則——這些都是密碼學層面的保護,51% 攻擊完全不會觸及。
51% 攻擊真正能做到的,是操控「自己有份參與的交易」的歷史紀錄:攻擊者掌控多數算力或質押權重後,可以私下挖出一條不包含某筆已發生交易的平行鏈,等這條私鏈累積的工作量或驗證權重超過公開鏈後,再公開廣播、取代原本的鏈——這個過程稱為鏈重組(reorg)。如果攻擊者先把一筆錢存進交易所換成別的資產或提領出來,再用這個方式讓存款紀錄從鏈上「消失」,等於同一筆錢被用了兩次,這就是雙重支付(double-spending)攻擊。
51% 攻擊為什麼可能發生,這個風險反映了什麼結構性問題?
多數共識機制的安全假設,本質上建立在「取得多數記帳權力的成本,遠高於攻擊能拿到的好處」這個經濟邏輯上——比特幣之所以極少被視為 51% 攻擊的現實威脅,是因為要湊齊超過全網一半的算力,需要的硬體投資與電力成本高達數十億美元等級,遠遠超過任何單一攻擊事件能拿到的利益。
但這個安全假設高度依賴「全網算力或質押總量夠大」這個前提,一旦這個前提不成立——例如一條規模較小、市值較低的鏈——取得多數算力或質押權重的成本會大幅下降,甚至可能透過短期租用雲端算力,或臨時把算力從其他採用相同挖礦演算法的大型鏈(例如 Ethereum Classic 沿用了 Ethereum 合併前的挖礦演算法)借調過來達成,攻擊成本一旦低於攻擊者能透過雙重支付拿到的利益,51% 攻擊就變得經濟上划算,這正是多數真實案例集中在中小型鏈的根本原因。
51% 攻擊具體怎麼執行,歷史上有哪些真實案例?
典型的攻擊流程分成幾步:攻擊者先把一筆資金存入交易所或商家,換成其他資產或直接提領;與此同時,攻擊者利用手上的多數算力或質押權重,私下挖出一條不包含這筆存款交易的平行鏈;等這條私鏈的累積工作量(或驗證權重)超過公開鏈後,攻擊者公開廣播這條私鏈,讓網路依照「最長鏈規則」或對應的共識規則,切換到這條不包含存款紀錄的鏈上——原本的存款紀錄就這樣從鏈上消失,攻擊者等於免費拿到了已經提領出來的資產。
歷史上有多起真實案例:Bitcoin Gold 在 2018 年 5 月遭遇 51% 攻擊,攻擊者雙重支付了約 1,800 萬美元;Ethereum Classic(採用跟合併前 Ethereum 相同的挖礦演算法,算力可以輕易從 Ethereum 臨時租借過來攻擊這條規模小得多的鏈)分別在 2019 年 1 月與 2020 年 8 月遭遇攻擊,前者雙重支付約 110 萬美元,後者重組超過 7,000 個區塊、雙重支付約 560 萬美元;Vertcoin 在 2018 年 12 月遭遇攻擊,雙重支付金額約 10 萬美元。近期的案例則是 Monero 在 2025 年 8 月被一個名為 Qubic 的項目聲稱取得多數算力,並執行六個區塊的鏈重組,主要交易所隨即暫停存款,代幣價格單週下跌超過 16%。
51% 攻擊對我有什麼影響,該注意什麼?
如果你持有或交易的是規模較小、市值較低、且採用跟大型鏈相同挖礦演算法的 PoW 代幣,51% 攻擊的實際風險比持有比特幣或以太坊這類主流鏈要高得多——這也是為什麼多數交易所在處理小型 PoW 代幣的提領時,會設定比主流幣更長的確認數要求,就是為了增加攻擊者需要維持私鏈領先優勢的時間與成本。
更務實的自我保護方式是:在收款方(尤其是接受高價值鏈上支付的商家或交易所角色)確認一筆交易之前,先查證這條鏈的全網算力或質押總規模是否夠大、是否曾經歷過真實的 51% 攻擊事件、以及交易所或平台針對這條鏈設定的確認數是否合理。另外要記住,即使 51% 攻擊成功,攻擊者也無法偷走你錢包裡沒有涉入這次交易的其他資產——這代表 51% 攻擊的實際受害對象,通常是接收了攻擊者存款、之後又讓對方成功雙重支付的交易所或商家,而不是隨機的一般持幣者。
Ethereum Classic 因為沿用了合併前 Ethereum 的挖礦演算法,全網算力相對容易從 Ethereum 臨時租借過來,分別在 2019 年 1 月與 2020 年 8 月遭遇 51% 攻擊,後者重組超過 7,000 個區塊、雙重支付約 560 萬美元,是這類攻擊在中型 PoW 鏈上實際發生的典型案例。
評估一條鏈的 51% 攻擊風險,某種程度上是在權衡「這條鏈的規模與市值」跟「這條鏈提供的功能與去中心化程度」——規模較小、較新的鏈通常還在成長階段,全網算力或質押總量尚未達到能有效嚇阻攻擊的規模,這是新興鏈普遍面臨的階段性風險,不完全是設計缺陷,但也代表在鏈的規模成長起來之前,相關資產的持有與交易需要更保守的確認數與風險評估。