雖然區塊鏈技術本身強調「安全、透明、不可竄改」,
但它的應用層 —— 特別是 智能合約(Smart Contract) —— 仍然存在許多資安風險。
這些漏洞往往不在底層區塊鏈協議,而是在開發者撰寫合約時的程式錯誤,造成數千萬甚至上億美元的損失。
今天就讓我們看看幾個真實案例,了解常見漏洞與詐騙手法。
智能合約是一段在區塊鏈上自動執行的程式,用來實現交易、條款或應用邏輯。
然而,一旦部署上鏈,就無法修改。
如果程式本身有錯,攻擊者就能利用它,並且因為區塊鏈是公開透明的,漏洞通常能被快速發現與利用。
| 類型 | 說明 | 範例 |
|---|---|---|
| 重入攻擊(Reentrancy Attack) | 攻擊者在呼叫外部合約時,趁主合約還沒完成更新狀態前重複呼叫,導致資金被重複提領。 | The DAO 攻擊(2016)造成 5000 萬美元損失 |
| 整數溢位(Integer Overflow/Underflow) | 數值超出範圍導致意料外的邏輯結果。 | 某代幣合約可被「鑄造無限代幣」 |
| 時間依賴漏洞(Timestamp Dependence) | 以 block.timestamp 控制邏輯,攻擊者可操控區塊時間造成不公平結果。 |
彩票合約可被礦工操控開獎結果 |
| 權限錯誤(Access Control Issue) | 開發者未正確設定 owner 權限,導致任何人可修改關鍵參數。 | Parity Wallet 多簽漏洞,導致 3 億美元以太幣鎖死 |
這是區塊鏈史上最著名的智能合約漏洞事件。
攻擊者利用 重入漏洞,不斷呼叫提領函式,在主合約尚未更新餘額前多次提領資金,最終竊取超過 5000 萬美元的以太幣(ETH)。
事件發生後,以太坊社群為了補救資金,選擇進行 硬分叉(Hard Fork),也因此誕生了 Ethereum Classic(ETC)。
由於合約中權限設定錯誤,任何人都可以重新初始化錢包的 owner 權限。
結果一名使用者誤觸自毀函式,造成超過 3 億美元的以太幣永久凍結,無法提領。
這件事凸顯「智能合約一旦部署就不能修改」的風險。
開發者利用 Netflix 熱門影集《魷魚遊戲》的熱度發行「SQUID」代幣,吸引投資人購買。
然而,智能合約中禁止用戶賣出代幣,只有開發者能提領資金。
最終開發者在代幣暴漲後「跑路」,導致投資人損失上百萬美元。
這類事件被稱為 Rug Pull(抽毯式詐騙)。
在智能合約上鏈前,應進行:
使用像 OpenZeppelin Contracts 的標準庫可避免重複錯誤。
框架已內建常見防護(如 reentrancy guard、ownable 權限控制)。
區塊鏈帶來透明與信任,但智能合約與代幣項目的漏洞與詐騙,仍是整個生態最脆弱的一環。
寫程式時要懂安全、投資時要看代碼 —— 才能在區塊鏈世界中真正「去中心化但不去責任」。