Value overflow incident (2010)
The August 2010 bug that let a transaction create about 184 billion bitcoin; Satoshi shipped 0.3.10 within hours and the good chain overtook the bad one at block 74,691.
The wiki's angle: Bitcoin Takeover's soft-fork history counts this as a soft fork with “an unusually violent activation”, one of the few times Bitcoin's chain has split by accident.[4]
Discovery
On 15 August 2010 a Bitcointalk user posted “Strange block 74638”, noting that the value out of the block was “quite strange”[1]. Within the hour another thread, “overflow bug SERIOUS”, said the block used “an integer overflow to make a negative total transaction”, with two outputs of 92,233,720,368.54 BTC each[2]. Satoshi later edited that post to add the download links for the 0.3.10 patch[2].
Why it worked
The Bitcoin Wiki explains that the code checking transactions before they entered a block did not account for outputs so large that they overflowed when summed[3]. Bitcoin Takeover's fork history puts the total at roughly 184 billion bitcoin[4].
The fix and the reorganisation
A new client was published within five hours with a soft-forking rule rejecting output overflows and any output above 21 million BTC[3]. Many unpatched nodes kept building on the bad chain until the good chain overtook it at height 74,691, after which every node accepted it[3]. Block 74,691 on today's chain has a header time of 08:20:08 UTC on 16 August 2010[5].
Classification
Bitcoin Takeover's soft-fork history calls the fix “a tightening”, so it counts the event as “a soft fork with an unusually violent activation”[4]. See Hard fork vs soft fork.
References
- primary“Strange block 74638”, Bitcointalk topic 822, 15 Aug 2010 [archived]
- primary“overflow bug SERIOUS”, Bitcointalk topic 823, 15 Aug 2010 (edited by satoshi with the 0.3.10 patch link) [archived]
- secondaryBitcoin Wiki, “Value overflow incident” (revision 61347) [archived]
- btkBitcoin: All the Hard Forks and Soft Forks (BTCTKVR: Forks!) [archived]
- primarymempool.space, Bitcoin block 74,691 (header time 2010-08-16 08:20:08 UTC) [archived]