Was ist ein Blockheader?
Ein Blockheader ist ein Mittel zur Identifizierung einzelner Blöcke, die innerhalb eines Blockchain- Netzwerks generiert werden, wobei jeder Block seinen eigenen personalisierten Header enthält, um die Verfolgung von Protokolländerungen zu erleichtern. Es wird verwendet, um alle Blöcke in einer Blockchain zu verwalten. Es enthält alle Metadaten, einschließlich der Zeit und des Schwierigkeitsgrads des Blocks, der Merkle-Wurzel der Transaktionen und der Nonce.
Beginnend mit dem „Genesis-Block“ werden die Blöcke der Reihe nach gestapelt, wobei jeder Block-Header drei Sätze von Blockinformationen und andere einzigartige Komponenten enthält, darunter:
- Vorheriger Block-Hash
- Einmal von Bergleuten genutzt
- Bitcoin-Versionsnummer
- Zeitstempel des Blocks
- Merkle-Wurzel
- Das Schwierigkeitsziel des Blocks
Blockheader werden häufig in der Bitcoin- Entwicklerdokumentation verwendet, da sie es einfacher machen, Aufgaben schneller zu dokumentieren. Ganze Blockchains können als Flatfile oder einfache Datenbank gespeichert werden, ähnlich wie ein vertikaler Stapel.
Im Blockheader sind drei Sätze von Blockmetadaten enthalten. Die Blöcke werden übereinander platziert, wobei der erste Block als Basis dient . Die Höhe der Blöcke steigt weiter an, bis das Ende der Blockchain erreicht ist und die Sequenz abgeschlossen ist. Eines der Dinge, die Bitcoin äußerst sicher machen, sind die Schichten und die reiche Geschichte jeder Sequenz.
Ein Block-Header wird von Minern regelmäßig gehasht, indem der Nonce-Wert im Rahmen der normalen Mining-Aktivität geändert wird. Ihr Ziel ist es, durch diese Übung einen Arbeitsnachweis zu erbringen, der es ihnen ermöglicht, für ihre Bemühungen, das Blockchain-System reibungslos und effektiv funktionieren zu lassen, entlohnt zu werden.
Blockheader eignen sich hervorragend für das Mining, sind aber aufgrund ihrer geringen Größe auch für Light-Clients nützlich. Die Bitcoin-Blockchain ist einfach zu groß, um auf mobilen Geräten gespeichert zu werden. Die Blockheader für die identischen Blöcke würden hingegen nur 0,008 GB oder 8 MB Speicherplatz beanspruchen.
Geräte mit begrenzter Bandbreite oder Speicherkapazität können auf diese Weise dennoch eine gewisse Überprüfung durchführen. Anschließend können sie prüfen, ob eine Transaktion in einem bestimmten Block enthalten war, da die Merkle-Wurzel alle Transaktionen enthält. Dies hat seinen Preis: Der Benutzer muss sich immer noch darauf verlassen, dass ein Dritter ihm die gewünschten Informationen liefert. Light-Clients hingegen sind einem System vorzuziehen, bei dem Benutzer überhaupt keine Verifizierung 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 Projektteilnehmer eine permanente, gekapselte Aufzeichnung darüber einsehen können, wann ein bestimmtes Ereignis aufgetreten ist. Normalerweise werden Datum und Uhrzeit des Ereignisses angezeigt, und zwar in der Regel auf den Bruchteil einer Sekunde genau.
Das Schwierigkeitsziel wird verwendet, um anzupassen, wie schwer der Block für die Miner zu lösen ist. Die Nonce ist eine Variable, die Miner optimieren können, um unterschiedliche Permutationen und gültige Hashes in der Sequenz zu erzeugen.
Zusammenfassend lässt sich sagen, dass Blockheader verwendet werden, um bestimmte Blöcke innerhalb einer Blockchain anzusprechen. Sie werden als Gegenleistung für Mining-Auszahlungen gehasht, um einen Arbeitsnachweis zu erbringen.