Glossar · im Detail

Integer-Overflow

Ein Bug, bei dem eine Zahl über den größten Wert hinauswächst, den eine Computervariable halten kann, und auf einen falschen Wert umschlägt.

Computer speichern Zahlen in Slots fester Größe. Eine signierte 64-Bit-Ganzzahl endet bei etwa 9,22×1018. Addiert man darüber hinaus, wrappt der Wert, oft auf eine negative Zahl.

In Bitcoin

Beträge werden in Satoshis als 64-Bit-Ganzzahlen gespeichert. Im August 2010 hatte eine Transaktion in Block 74.638 zwei Outputs von je 92.233.720.368,54 BTC; ihre Summe überlief, sodass die Prüfung des alten Codes „Outputs dürfen Inputs nicht überschreiten“ durchging (CVE-2010-5139).

Der Fix

Heute prüft Core jeden Output und die laufende Summe gegen MAX_MONEY (21 Millionen BTC), bevor sonst etwas geschieht.