【转】利用 Bug 凭空造了 1844 亿枚比特币,一黑客差点灭了比特币

更多有关于 “ 区块链 ” 的文章,请点击这里

比特币( BitCoin )是一种 P2P 形式的数字货币,其概念最初由中本聪( Satoshi Nakamoto )在 2009 年提出,根据中本聪的思路设计发布的开源软件以及建构其上的 P2P 网络。

比特币( BitCoin )
比特币( BitCoin )

2010 年 8 月 15 日,一名身份不明的黑客几乎摧毁了比特币,这名黑客利用比特币的一个 Bug ,在编号 74638 的区块上凭空制造了 1844.67 亿枚比特币。此次事件被称为「值溢出事件」。

中本聪迅速硬分叉( hard fork ),清除了这 1844.67 亿枚比特币。这是比特币那天免于过早死亡的唯一原因。

为什么会有那个 Bug ?在当时那个版本的比特币中,如果比特币交易的输出太大,会导致在汇总时溢出,那么用于检查比特币交易的代码就无法工作。黑客就是发现并利用了这个 Bug 。比特币的最大供应量( supply )应该是 2100 万枚比特币,但黑客在单次交易中创造的比特币比以往任何时候都多 8784 倍。

如果这次黑客攻击没有被纠正,比特币很可能就会当场死亡,这意味着我们所知道的整个加密空间将不复存在。一旦用户意识到比特币可以随意「铸造」,比特币的价格就会立即跌至零,比特币将失去所有的信任和声誉。

在这一事件被媒体 BitcoinTalk 曝光后 3 小时内,中本聪就修复了代码。早期的比特币开发者加文·安德森( Gavin Andresen ),也一起参与了问题修复。

在事件发生后的 5 小时内,中本聪发布了 0.3.1 版的比特币,该版本阻止了通过值溢出漏洞刷比特币,并对区块链进行了回滚,清除了被黑客攻击生成的 1844.67 亿比特币。

因为是硬分叉,所以在 0.3.1 版本发布后的几个小时内,就有了两个不同版本的比特币。中本聪密切监控着这两个版本的区块链,并敦促矿商不要去开采劣质区块链,以便让优质区块链尽早成为主导的区块链。

据中本聪表示,事故发生仅仅 19 个小时后,「好链」就成为了主导链。「坏链」仍然存在,至少在事故第二天扰乱了一些用户,不过最终,0.3.1 版产生的「好链」变成了今天大家都在使用的比特币区块链。

 

来自一些网友的注解:

  1. 网友 “ 张三 ” :这个问题涉及到了比特币设计理念中的博弈理论。比特币出块是靠矿工的矿机进行打包、确认的,只要 51 % 以上的矿机不认可某个区块,那这个区块就无法生效。比特币被攻击后,中本聪及团队修复 bug 发布了新的代码,如果超过 51 % 的矿工不更新代码,那么黑客的攻击就是有效的,这几个亿的比特币就有效的被创造出来了,但是!这样做不符合矿工的利益,因为矿工辛苦挖矿每十分钟才挖出十几个币,所以理智的矿工都会选择更新代码,导致黑客的攻击无效。所以这件事也证明了比特币设计理念中的经济博弈理念是科学有效的。
  2. 网友 “ Feuda ” :所谓回滚是将原有的链复制一份,回滚到没有被攻击的时候并修复 Bug ,这时候有两个链,相当于有分叉,这时候就需要所有矿工达成共识只认同已经修复 Bug 的那条链为主链,抛弃另一个有问题的链,所以比特币并不是中心化的。

 

转自:

  • https://mp.weixin.qq.com/s/d4d-MJOBEoXdV-hjq–Dpw

这篇文章对你有帮助吗?

相关文章

发表评论?

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据