比特币黑历史:1840亿枚比特币漏洞
比特币区块74638有些不同寻常。最初发现它的是核心开发人员Jeff Garzik,他对“相当奇怪”的交易输出(每个交易量为92233720368.54 BTC)发表了评论。不到一个小时,另一名论坛用户开始了一个名为“严重溢出错误”的帖子,他在帖子中恳求“我们需要尽快修复”。那是2010年8月15日,比特币遇到迄今为止最大的漏洞。
比特币遇到了一个非常大的问题
在导致1840亿比特币凭空诞生的整数溢出漏洞之前,比特币已经经历了至少四个主要漏洞。比特币维基百科列出了40个不同程度的漏洞,最近的一个是在2019年2月发现的。然而,CVE-2010-5139不同于比特币社区在2010年或此后所见过的任何情况。
在74638区块发现的这个漏洞是比特币的第一个通胀漏洞。考虑到加密货币的总供应量将被限制在2100万枚,委婉地说,增加1840亿枚比特币是一个大问题。整数溢出导致事务值为负。Bitcointalk论坛用户Ifm解释道:
通常,输入等于事务的输出。唯一的例外是交易要收取“费用”。网络允许任何人自愿支付一定的费用。当总和为负时,与输入的差值就像一个费用。它通过了所有的检查。
一个未知的攻击者发现了这个漏洞,并利用它生成了数量高得离谱的比特币。如果他们把目标定在一个更适度的总数上,那么他们的开采可能会被隐瞒超过90分钟才被发现。一旦被发现,一个补丁不可避免地会被匆匆通过,于是它就发生了。在2010-5139年度常见的漏洞和曝光事件发生后的两个小时内,核心开发商Gavin Andresen和Satoshi Nakamoto就参与了此案,这笔价值1,840亿的BTC交易被从74638区块清除。
中本聪保证道,“一旦超过50%的节点能力升级,好的链取代坏的链,那么0.3.10个节点将使任何坏的事务都很难得到确认。”比特币的创造者非常重视这种规模的漏洞,并在帖子中发表了十几次帖子,致力于比特币的发现和根除。事件发生后5个月内,中本聪永远离开了他创建的社区。在他死后,他留下了一种加密货币,事实证明,这种货币足够强大,能够在未来8年乃至更长时间内生存下来。