15. august 2010: 184 milliarder bitcoin
Blokk 74 638 inneholdt en transaksjon med to utdata på 92 233 720 368,54 BTC hver. Summen var så stor at den forårsaket en heltallsoverflow: programvarens sjekk at utdata ikke overstiger inndata ble lurt. Grovt 184 milliarder mynter dukket opp fra ingenting. Feilen er katalogisert som CVE-2010-5139.
Fiksen
Brukere merket det innen timer («Strange block 74638» på BitcoinTalk). En patchet versjon, 0.3.10, gjorde slike transaksjoner ugyldige. Utvinnere byttet, en ny kjede tok over den dårlige, og blokken ble orphaned. De oppfinnede myntene forsvant med den.
11. mars 2013: en utilsiktet fork
Versjon 0.8 erstattet databasen sin. Eldre versjoner traff en skjult database-lås-grense og avviste blokk 225 430, som 0.8 godtok – en kjede-splitt. Ifølge BIP 50 post-mortem nedgraderte poolene BTC Guild og Slush til 0.7, «despite the fact that this caused them to sacrifice significant amounts of money», og nettverket ble gjenforent. Én test dobbeltbruk skjedde; den var ikke ondsinnet.
Hva vi lærte
- Feil finnes fordi tusenvis av mennesker sjekker kjeden.
- Konsensuskode må endres med ekstrem forsiktighet – en lærdom bak Bitcoins forsiktige utvikling i dag.
- Tilbudsregelen overlevde sin verste test.