Bitcoin v0.3.10 - overflow bug emergency fix

Participants: Satoshi Nakamoto

On August 15, 2010, a critical vulnerability in Bitcoin was exploited when someone created a transaction in block 74638 that generated 184,467,440,737.09551616 BTC (approximately 184 billion bitcoins) out of thin air. The bug was a value overflow in the transaction output checking code — the sum of two large outputs overflowed to a negative number, which passed the validation check.

Satoshi Nakamoto issued an urgent alert to the bitcoin-list mailing list:

”*** WARNING *** We are investigating a problem. DO NOT TRUST ANY TRANSACTIONS THAT HAPPENED AFTER 15.08.2010 17:05 UTC (block 74638) until the issue is resolved.”

Within hours, Satoshi released Bitcoin v0.3.10 with a patch that added proper overflow checking for transaction output values. The fix was deployed as a soft fork — nodes running the updated software rejected the invalid transaction and the chain containing it. Because the majority of miners upgraded quickly, the correct chain (without the overflow transaction) overtook the invalid chain within a few hours, and the 184 billion spurious bitcoins ceased to exist.

This was the most serious technical crisis in Bitcoin’s history up to that point, and Satoshi’s rapid, decisive response demonstrated both his deep understanding of the code and his commitment to maintaining the integrity of the network. The incident later became known as the “value overflow incident” and was assigned CVE-2010-5139.