Ein Block ist ein Transaktionspaket mit eigenem Fingerabdruck
Ein Block enthält eine Coinbase-Transaktion und kann weitere vom Miner ausgewählte gültige Transaktionen enthalten. Ihre Kennungen werden in einer im Header gespeicherten Merkle-Wurzel zusammengefasst. Der Header enthält außerdem den Hash des vorherigen Blocks, das Schwierigkeitsziel, Zeitangaben und für den Proof of Work verwendete Werte.
Eine Änderung an einer alten Transaktion würde ihre Kennung, die Merkle-Wurzel und den Block-Header verändern. Der Verweis aus dem folgenden Block würde nicht mehr passen; ein Angreifer müsste den Proof of Work des veränderten Blocks und aller Nachfolger neu leisten und zugleich die wachsende gültige Kette einholen. Die Verknüpfung macht Eingriffe in die Vergangenheit daher zunehmend teuer.
Eine Bestätigung ist eine Position in der gültigen Kette
Eine Transaktion hat eine Bestätigung, wenn ein Full Node sie in einem Block seiner besten gültigen Kette findet. Kommt über diesem Block ein weiterer hinzu, spricht man gewöhnlich von zwei Bestätigungen. Die Zahl beschreibt also die Tiefe der Transaktion, nicht die Anzahl von Servern oder Menschen, die auf Zustimmen geklickt haben.
Eine Wallet kann eine Zahlung schon vor der Bestätigung anzeigen, doch eine solche Transaktion kann durch einen Konflikt verschwinden oder lange unberücksichtigt bleiben. Eine Bestätigung verändert ihre Stellung erheblich, aber das Risiko ist nicht in jeder Lage gleich. Kaffee, Auto und Abwicklung zwischen Börsen brauchen nicht dieselbe Sicherheitsschwelle.
- 0 Bestätigungen: Die Transaktion steht noch in keinem angenommenen Block
- 1 Bestätigung: Der Block mit der Transaktion liegt an der Spitze oder innerhalb der gültigen Kette
- weitere Bestätigungen: Über dem betreffenden Block sind weitere Proof-of-Work-Blöcke hinzugekommen
Zwei gültige Blöcke können fast gleichzeitig entstehen
Finden zwei Miner ungefähr gleichzeitig unterschiedliche gültige Blöcke, sehen einige Nodes zunächst den einen und andere den zweiten. Beide Zweige können dieselbe Höhe haben. Erweitert ein späterer gültiger Block einen Zweig und verleiht ihm mehr angesammelte Arbeit, wechseln Nodes des anderen Zweigs zur stärkeren gültigen Kette.
Dieser Wechsel heißt Reorganisation. Der aus dem aktiven Zweig gefallene Block wird stale, also überholt. Seine gewöhnlichen Transaktionen müssen nicht verloren sein: Sind sie konfliktfrei und weiter gültig, können sie in den Mempool zurückkehren und in einen späteren Block gelangen. Eine widersprechende Transaktion kann dagegen durch die in der resultierenden Geschichte akzeptierte ersetzt werden.
Bitcoin liefert wachsende Sicherheit, keine Zeitgarantie
Proof of Work macht das Umschreiben einer bestätigten Transaktion immer teurer, erklärt einen frischen Block aber nicht mathematisch für ewig unveränderlich. Das Umkehrrisiko hängt von Tiefe, Anteil angreifender Hash-Leistung, Node-Verbindung und Art der Zahlung ab. Sechs ist eine verbreitete praktische Schwelle, kein universelles Protokollgesetz.
Nutzer sollten die Zahl der Bestätigungen nach dem Risiko wählen. Bei einer kleinen persönlichen Zahlung können weniger genügen; bei hohem unwiderruflichem Wert sind mehr und zusätzliche Prüfungen angebracht. Bestätigungen schützen die Reihenfolge in der Blockchain, beweisen aber weder die Echtheit einer Ware noch die Ehrlichkeit der Gegenpartei oder die legale Herkunft der Coins.