Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Mehr Über Den Block-Header | Blöcke und Transaktionen
Einführung in Blockchain

Mehr Über Den Block-Header

Swipe um das Menü anzuzeigen

Bevor wir uns eingehender mit dem Block-Header beschäftigen, sollten wir zunächst den Unterschied zwischen Big Endian- und Little Endian-Formaten verstehen.

Little Endian und Big Endian

Zunächst muss das Konzept der Endianness verstanden werden.

Note
Mehr erfahren

Endianness bezeichnet die Reihenfolge, in der Bytes (jedes Byte entspricht 8 Bits) innerhalb größerer Datentypen im Computerspeicher angeordnet werden.

Das Big Endian-Format speichert das höchstwertige Byte zuerst, was der üblichen menschlichen Lesart von Zahlen entspricht. Verwenden wir die Dezimalzahl 234567890 als Beispiel und wandeln sie mit Python in Hexadezimal- und Binärdarstellung um und geben die Ergebnisse aus:

123
decimal_number = 234567890 print(hex(decimal_number)) print(bin(decimal_number))

Da Computer Ganzzahlen mit einer ganzen Anzahl von Bytes speichern und jeweils 2 Hex-Ziffern einem Byte entsprechen, benötigen wir eine gerade Anzahl von Ziffern. Die Hexadezimaldarstellung unserer Zahl, 0xDFB38D2, enthält 7 Ziffern, daher müssen wir eine Null 0 links hinzufügen. Die resultierende Zahl, 0x0DFB38D2, hat nun 8 Hex-Ziffern (passt genau in 4 Bytes) und denselben Wert.

Ebenso hat unsere Binärzahl 28 Bits, und jeweils 8 Bits entsprechen 1 Byte, daher muss die Bitanzahl durch 8 teilbar sein. Wir fügen 4 Nullen 0 links hinzu. Die resultierende Zahl, 0b00001101111110110011100011010010, hat nun 32 Bits (passt genau in 4 Bytes) und denselben Wert.

Mit Python haben wir das Big Endian-Format erhalten, das wir auch bei manueller Umrechnung erhalten würden, und unsere Zahl sieht wie folgt aus:

  • 0x0DFB38D2 in Hexadezimal;
  • 0b00001101111110110011100011010010 in Binär.

Die folgende Tabelle hilft, das Big Endian-Format besser zu verstehen:

Im Gegensatz dazu speichert das Little-Endian-Format das niederwertigste Byte zuerst und kehrt damit die intuitive Reihenfolge um:

Wie Sie sehen können, sieht unsere Zahl im Little-Endian-Format wie folgt aus:

  • 0xD238FB0D in Hexadezimal;

  • 0b11010010001110001111101100001101 in Binär.

Zurück zum Block-Header

Zur Wiederholung: Der Header besteht genau aus 80 Bytes und enthält sechs Datenfelder, die jeweils im Little-Endian-Format vorliegen. Werfen wir nun einen Blick auf den Header von Block 645536:

Da der Block-Header genau 80 Bytes umfasst, gibt es exakt 160 Hexadezimalstellen (jedes Byte entspricht 2 Hexadezimalstellen). Das Version-Feld beispielsweise belegt 4 Bytes, also 8 Hexadezimalstellen.

Hier sind die detaillierten Informationen zu diesem Block im Explorer:

Blockinformationen

Die Felder werden hier im Big-Endian-Format angezeigt. Das Bits-Feld zum Beispiel kann betrachtet und mit seiner Darstellung im Block-Header verglichen werden. Die hexadezimale Darstellung ist 0x171007ea im Big-Endian-Format:

Wenn wir es in das Little-Endian-Format umwandeln, sieht es wie folgt aus:

Wie Sie sehen können, ist das genau das, was wir im Block-Header hatten.

1. Worauf bezieht sich „Endianness“ im Kontext von Blockchain und Computersystemen?

2. Ordnen Sie die Block-Komponenten ihren Definitionen zu.

question mark

Worauf bezieht sich „Endianness“ im Kontext von Blockchain und Computersystemen?

Wählen Sie die richtige Antwort aus

question-icon

Ordnen Sie die Block-Komponenten ihren Definitionen zu.

A number that miners change to get the resulting block hash which meets the difficulty target:
A compact representation of the target threshold that the block's hash must meet in order to be added to the blockchain:

A single hash that represents all the transactions included in the block:

Klicken oder ziehen Sie Elemente und füllen Sie die Lücken aus

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 3

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Mehr Über Den Block-Header

Bevor wir uns eingehender mit dem Block-Header beschäftigen, sollten wir zunächst den Unterschied zwischen Big Endian- und Little Endian-Formaten verstehen.

Little Endian und Big Endian

Zunächst muss das Konzept der Endianness verstanden werden.

Note
Mehr erfahren

Endianness bezeichnet die Reihenfolge, in der Bytes (jedes Byte entspricht 8 Bits) innerhalb größerer Datentypen im Computerspeicher angeordnet werden.

Das Big Endian-Format speichert das höchstwertige Byte zuerst, was der üblichen menschlichen Lesart von Zahlen entspricht. Verwenden wir die Dezimalzahl 234567890 als Beispiel und wandeln sie mit Python in Hexadezimal- und Binärdarstellung um und geben die Ergebnisse aus:

123
decimal_number = 234567890 print(hex(decimal_number)) print(bin(decimal_number))

Da Computer Ganzzahlen mit einer ganzen Anzahl von Bytes speichern und jeweils 2 Hex-Ziffern einem Byte entsprechen, benötigen wir eine gerade Anzahl von Ziffern. Die Hexadezimaldarstellung unserer Zahl, 0xDFB38D2, enthält 7 Ziffern, daher müssen wir eine Null 0 links hinzufügen. Die resultierende Zahl, 0x0DFB38D2, hat nun 8 Hex-Ziffern (passt genau in 4 Bytes) und denselben Wert.

Ebenso hat unsere Binärzahl 28 Bits, und jeweils 8 Bits entsprechen 1 Byte, daher muss die Bitanzahl durch 8 teilbar sein. Wir fügen 4 Nullen 0 links hinzu. Die resultierende Zahl, 0b00001101111110110011100011010010, hat nun 32 Bits (passt genau in 4 Bytes) und denselben Wert.

Mit Python haben wir das Big Endian-Format erhalten, das wir auch bei manueller Umrechnung erhalten würden, und unsere Zahl sieht wie folgt aus:

  • 0x0DFB38D2 in Hexadezimal;
  • 0b00001101111110110011100011010010 in Binär.

Die folgende Tabelle hilft, das Big Endian-Format besser zu verstehen:

Im Gegensatz dazu speichert das Little-Endian-Format das niederwertigste Byte zuerst und kehrt damit die intuitive Reihenfolge um:

Wie Sie sehen können, sieht unsere Zahl im Little-Endian-Format wie folgt aus:

  • 0xD238FB0D in Hexadezimal;

  • 0b11010010001110001111101100001101 in Binär.

Zurück zum Block-Header

Zur Wiederholung: Der Header besteht genau aus 80 Bytes und enthält sechs Datenfelder, die jeweils im Little-Endian-Format vorliegen. Werfen wir nun einen Blick auf den Header von Block 645536:

Da der Block-Header genau 80 Bytes umfasst, gibt es exakt 160 Hexadezimalstellen (jedes Byte entspricht 2 Hexadezimalstellen). Das Version-Feld beispielsweise belegt 4 Bytes, also 8 Hexadezimalstellen.

Hier sind die detaillierten Informationen zu diesem Block im Explorer:

Blockinformationen

Die Felder werden hier im Big-Endian-Format angezeigt. Das Bits-Feld zum Beispiel kann betrachtet und mit seiner Darstellung im Block-Header verglichen werden. Die hexadezimale Darstellung ist 0x171007ea im Big-Endian-Format:

Wenn wir es in das Little-Endian-Format umwandeln, sieht es wie folgt aus:

Wie Sie sehen können, ist das genau das, was wir im Block-Header hatten.

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 3
some-alt