Block Header
Ein Block Header, oder eine Block-Kopfzeile, ist eine eindeutige Kennung für einen Block in einer Blockchain, die kontinuierlich gehasht wird, um Proof-of-Work für Mining-Anreize zu liefern.
Was ist ein Block Header?
Ein Block Header ist ein
Mittel zur Identifizierung einzelner Blöcke, die innerhalb eines Blockchain-Netzwerks erstellt werden. Jeder Block enthält einen eigenen personalisierten Header (Kopfzeile), sodass die Nachverfolgung von Protokolländerungen erleichtert wird. Er wird verwendet, um alle
Blöcke in einer Blockchain zu verwalten und enthält alle Metadaten, die Zeit und den Schwierigkeitsgrad des Blocks, die Merkle-Wurzel der Transaktionen und die
Nonce.
Beginnend mit dem „Genesis-Block“ werden Blöcke nacheinander gestapelt, wobei jeder Block Header drei Sätze von Blockinformationen und andere eindeutige Komponenten enthält, darunter:
Block Header werden häufig in den
Bitcoin-Entwicklerunterlagen verwendet, da sie das Dokumentieren von Aufgaben erleichtern und verschnellern. Ganze Blockchains können als
Einfachdatei oder einfache Datenbank gespeichert werden, ähnlich wie ein
vertikaler Stack.
Im Block Header sind drei Sätze von Block-Metadaten enthalten. Die Blöcke werden übereinander platziert, wobei der Anfangsblock als Basis dient. Die Blöcke wachsen weiter vertikal, bis das Ende der Blockchain erreicht und die Sequenz abgeschlossen ist. Eines der Dinge, die Bitcoin sehr sicher machen, sind die Ebenen und die reiche Geschichte jeder Sequenz.
Ein Block Header wird regelmäßig von
Minern gehasht, indem der Nonce-Wert geändert wird. Das ist Teil der normalen
Mining-Aktivität. Ihr Ziel ist es, durch diesen Vorgang einen
Proof of Work (Arbeitsnachweis) zu erbringen. Dieser ermöglicht es ihnen, für ihre Bemühungen, das Blockchain-System reibungslos und effektiv zu halten, entschädigt zu werden.
Block Header eignen sich hervorragend fürs Mining, sind aber aufgrund ihrer bequemen Größe auch für Light-Clients nützlich. Die Bitcoin-Blockchain ist einfach zu groß, um sie auf mobilen Geräten zu speichern. Die Block Header für die identischen Blöcke würden dagegen nur 0,008 GB oder 8 MB Speicherplatz beanspruchen.
Geräte mit
begrenzter Bandbreite oder Speicherkapazität können auf diese Weise dennoch eine Überprüfung durchführen. Sie können anschließend prüfen, ob eine Transaktion in einem bestimmten Block enthalten war, da die Merkle-Wurzel alle Transaktionen enthält. Das hat aber auch seinen Preis: Nutzer müssen sich weiterhin auf Dritte verlassen, die ihnen die gewünschten Informationen liefern. Light-Clients sind dennoch einem System vorzuziehen, in dem Nutzer überhaupt keine Überprüfungen durchführen.
In einem Blockchain-Netzwerk ist eine Merkle-Wurzel der Hash (aller Hashes) aller Transaktionen, aus denen ein Block besteht. Der Zeitstempel wird bereitgestellt, damit alle Projektbeteiligten eine dauerhafte Aufzeichnung darüber einsehen können, wann ein bestimmtes Ereignis aufgetreten ist. Er zeigt normalerweise das Datum und die Uhrzeit des Ereignisses an und ist im Regelfall auf den Bruchteil einer Sekunde genau.
Das Schwierigkeitsziel wird verwendet, um einzustellen, wie schwer es für die Miner ist, den Block zu lösen. Die Nonce ist eine Variable, mit der Miner herumspielen können, um verschiedene Permutationen und gültige Hashes in der Sequenz zu erzeugen.
Zusammenfassend kann man sagen, dass Block Header verwendet werden, um bestimmte Blöcke innerhalb einer Blockchain anzupeilen. Sie werden als Gegenleistung für Mining-Auszahlungen gehasht, um einen Arbeitsnachweis (Proof of Work) zu erzeugen.