2010 年 8 月 15 日,一名身份不明的黑客幾乎摧毀了比特幣,這名黑客利用比特幣的一個 Bug,在編號 74638 的區(qū)塊上憑空制造了 1844.67 億枚比特幣。此次事件被稱為「值溢出事件」。
中本聰迅速硬分叉(hard fork),清除了這 1844.67 億枚比特幣。這是比特幣那天免于過早死亡的唯一原因。
為什么會有那個 Bug? 在當(dāng)時那個版本的比特幣中,如果比特幣交易的輸出太大,會導(dǎo)致在匯總時溢出,那么用于檢查比特幣交易的代碼就無法工作。黑客就是發(fā)現(xiàn)并利用了這個 Bug。比特幣的最大供應(yīng)量(supply)應(yīng)該是 2100 萬比特幣,但黑客在單次交易中創(chuàng)造的比特幣比以往任何時候都多 8784 倍。
如果這次黑客攻擊沒有被糾正,比特幣很可能就會當(dāng)場死亡,這意味著我們所知道的整個加密空間將不復(fù)存在。一旦用戶意識到比特幣可以隨意「鑄造」,比特幣的價格就會立即跌至零。比特幣將失去所有的信任和聲譽(yù)。
在這一事件被媒體 BitcoinTalk 曝光后 3 小時內(nèi),中本聰就修復(fù)了代碼。早期的比特幣開發(fā)者加文·安德森(Gavin Andresen),也一起參與了問題修復(fù)。
在事件發(fā)生后的 5 小時內(nèi),中本聰發(fā)布了 0.3.1 版的比特幣,該版本阻止了通過值溢出漏洞刷比特幣,并對區(qū)塊鏈進(jìn)行了回滾,清除了被黑客攻擊生成的 1844.67 億比特幣。
因?yàn)槭怯卜植妫栽?0.3.1 版本發(fā)布后的幾個小時內(nèi),就有了兩個不同版本的比特幣。中本聰密切監(jiān)控著這兩個版本的區(qū)塊鏈,并敦促礦商不要去開采劣質(zhì)區(qū)塊鏈,以便讓優(yōu)質(zhì)區(qū)塊鏈盡早成為主導(dǎo)的區(qū)塊鏈