Kurz erklärt: Der Timestamp (Zeitstempel) ist ein Feld im Block-Header einer Blockchain, das den ungefähren Zeitpunkt der Blockerstellung festhält. In Bitcoin wird er als Unix-Zeit gespeichert und dient unter anderem der Anpassung der Mining-Difficulty.
Definition und Format
Jeder Block enthält im Header einen Zeitstempel, den der Miner beim Erstellen des Blocks setzt. In Bitcoin ist dies ein 32-Bit-Wert im Format der Unix-Zeit, also die Anzahl der Sekunden seit dem 1. Januar 1970 (UTC). Der Timestamp gibt keinen exakt beweisbaren Zeitpunkt an, sondern einen vom Miner deklarierten Näherungswert.
Weil auch der Zeitstempel Teil des Headers ist, fließt er in den Proof-of-Work ein und ist somit gegen nachträgliche Änderung geschützt.
Gültigkeitsregeln
Damit einzelne Miner den Zeitstempel nicht beliebig manipulieren können, prüfen die Netzwerkknoten ihn anhand zweier Regeln:
- Median-Time-Past (MTP): Der Zeitstempel eines Blocks muss größer sein als der Median der Zeitstempel der elf vorangegangenen Blöcke.
- Zukunftsgrenze: Der Zeitstempel darf nicht mehr als eine bestimmte Spanne (in Bitcoin zwei Stunden) über der von den Knoten ermittelten Netzwerkzeit liegen.
Innerhalb dieser Grenzen ist eine gewisse Ungenauigkeit zulässig; die Zeitstempel aufeinanderfolgender Blöcke müssen daher nicht streng monoton ansteigen.
Bedeutung für Mining und Konsens
Der Zeitstempel erfüllt mehrere Funktionen im Netzwerk:
- Difficulty-Anpassung: Die Differenz der Zeitstempel über ein Intervall (in Bitcoin 2016 Blöcke) bestimmt, ob die Mining-Difficulty erhöht oder gesenkt wird, damit die durchschnittliche Blockzeit von rund zehn Minuten eingehalten wird.
- Zeitschloss-Funktionen: Zeitgebundene Transaktionsbedingungen (etwa nLockTime oder Timelocks) beziehen sich auf Blockzeitstempel bzw. die Median-Time-Past.
- Chronologische Ordnung: Der Zeitstempel liefert eine grobe zeitliche Einordnung der Blöcke, ergänzend zur eindeutigen Reihenfolge durch die Verkettung der Blöcke.
Bereits im Bitcoin-Whitepaper wurde die Blockchain als eine Art verteilter Zeitstempeldienst (timestamp server) beschrieben, der Ereignisse in eine nachvollziehbare Reihenfolge bringt.
Häufige Fragen
In welchem Format wird der Timestamp gespeichert?
In Bitcoin als 32-Bit-Wert in Unix-Zeit, also Sekunden seit dem 1. Januar 1970 (UTC).
Kann ein Miner den Zeitstempel frei wählen?
Nur in Grenzen: Er muss über der Median-Time-Past der letzten elf Blöcke liegen und darf nicht zu weit in der Zukunft liegen.
Wofür wird der Timestamp beim Mining verwendet?
Unter anderem zur Anpassung der Mining-Difficulty, damit die durchschnittliche Blockzeit stabil bleibt.
Ist der Zeitstempel exakt?
Nein, er ist ein vom Miner deklarierter Näherungswert innerhalb erlaubter Toleranzen und nicht streng monoton steigend.
Was ist die Median-Time-Past?
Der Median der Zeitstempel der elf vorangegangenen Blöcke, der als untere Grenze und Referenz für Zeitschloss-Bedingungen dient.
Zusammenfassung
Der Timestamp ist der Zeitstempel im Block-Header, der den ungefähren Erstellungszeitpunkt eines Blocks angibt und in Bitcoin als Unix-Zeit gespeichert wird. Netzwerkregeln wie die Median-Time-Past und eine Zukunftsgrenze verhindern grobe Manipulationen. Der Zeitstempel ist wesentlich für die Difficulty-Anpassung, für Zeitschloss-Funktionen und für die chronologische Ordnung der Blockchain.
Weiterführende Quellen
- Bitcoin Developer Reference: Block Headers: developer.bitcoin.org
- Bitcoin Whitepaper (Nakamoto, 2008): bitcoin.org