Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Meer Over Blokkop | Blokken en Transacties
Quizzes & Challenges
Quizzes
Challenges
/
Introductie tot Blockchain

bookMeer Over Blokkop

Voordat we de blokheader in detail kunnen verkennen, moeten we eerst het verschil begrijpen tussen big endian en little endian formaten.

Little Endian en Big Endian

Eerst moeten we begrijpen wat endianness eigenlijk betekent.

Note
Meer Bestuderen

Endianness verwijst naar de volgorde waarin bytes (elke byte is gelijk aan 8 bits) worden gerangschikt binnen grotere gegevenstypen in het computergeheugen.

Big-endian-formaat slaat de meest significante byte als eerste op, wat overeenkomt met hoe mensen doorgaans getallen lezen. Gebruik het decimale getal 234567890 als voorbeeld en converteer het naar hexadecimaal en binair met Python en toon de resultaten:

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

Aangezien computers gehele getallen opslaan met een heel aantal bytes, en elke 2 hexadecimale cijfers overeenkomen met één byte, is een even aantal cijfers vereist. De hexadecimale weergave van ons getal, 0xDFB38D2, bevat 7 cijfers, dus moet er een nul 0 aan de linkerkant worden toegevoegd. Het resulterende getal, 0x0DFB38D2, heeft nu 8 hexadecimale cijfers (past precies in 4 bytes) en behoudt dezelfde waarde.

Op dezelfde manier heeft ons binaire getal 28 bits, en elke 8 bits vormen 1 byte, dus moet het aantal bits deelbaar door 8 zijn door 4 nullen 0 aan de linkerkant toe te voegen. Het resulterende getal, 0b00001101111110110011100011010010, heeft nu 32 bits (past precies in 4 bytes) en behoudt dezelfde waarde.

Met Python is het big-endian-formaat verkregen, wat ook het geval zou zijn bij handmatige conversie, en ons getal ziet er als volgt uit:

  • 0x0DFB38D2 in hexadecimaal;
  • 0b00001101111110110011100011010010 in binair.

Zie de onderstaande tabel voor meer inzicht in het big-endian-formaat:

Omgekeerd slaat het little endian-formaat de minst significante byte als eerste op, waardoor de intuïtieve volgorde wordt omgekeerd:

Zoals te zien is, ziet ons getal in little endian-formaat er als volgt uit:

  • 0xD238FB0D in hex;

  • 0b11010010001110001111101100001101 in binair.

Terug naar Block Header

Samenvattend: de header bestaat exact uit 80 bytes met zes gegevensvelden, die elk in little endian-formaat zijn opgeslagen. Laten we nu de header bekijken van block 645536:

Aangezien de blokheader exact 80 bytes inneemt, zijn er precies 160 hexadecimale cijfers (elke byte komt overeen met 2 hexadecimale cijfers). Het versie-veld neemt bijvoorbeeld 4 bytes in beslag, dus zijn er 8 hexadecimale cijfers.

Hier volgt de gedetailleerde informatie over dit blok in de explorer:

De velden hier worden weergegeven in big-endianformaat. Laten we bijvoorbeeld het bits-veld bekijken en dit vergelijken met de weergave in de blokheader. De hexadecimale weergave is 0x171007ea in big-endianformaat:

Als we dit omzetten naar little-endianformaat, ziet het er als volgt uit:

Zoals je kunt zien, is dat precies wat we in de blokheader hadden.

1. Waar verwijst "endianness" naar in de context van blockchain en computersystemen?

2. Koppel blokcomponenten aan hun definities.

question mark

Waar verwijst "endianness" naar in de context van blockchain en computersystemen?

Select the correct answer

question-icon

Koppel blokcomponenten aan hun definities.

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:

Click or drag`n`drop items and fill in the blanks

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 2. Hoofdstuk 3

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

Awesome!

Completion rate improved to 6.25

bookMeer Over Blokkop

Veeg om het menu te tonen

Voordat we de blokheader in detail kunnen verkennen, moeten we eerst het verschil begrijpen tussen big endian en little endian formaten.

Little Endian en Big Endian

Eerst moeten we begrijpen wat endianness eigenlijk betekent.

Note
Meer Bestuderen

Endianness verwijst naar de volgorde waarin bytes (elke byte is gelijk aan 8 bits) worden gerangschikt binnen grotere gegevenstypen in het computergeheugen.

Big-endian-formaat slaat de meest significante byte als eerste op, wat overeenkomt met hoe mensen doorgaans getallen lezen. Gebruik het decimale getal 234567890 als voorbeeld en converteer het naar hexadecimaal en binair met Python en toon de resultaten:

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

Aangezien computers gehele getallen opslaan met een heel aantal bytes, en elke 2 hexadecimale cijfers overeenkomen met één byte, is een even aantal cijfers vereist. De hexadecimale weergave van ons getal, 0xDFB38D2, bevat 7 cijfers, dus moet er een nul 0 aan de linkerkant worden toegevoegd. Het resulterende getal, 0x0DFB38D2, heeft nu 8 hexadecimale cijfers (past precies in 4 bytes) en behoudt dezelfde waarde.

Op dezelfde manier heeft ons binaire getal 28 bits, en elke 8 bits vormen 1 byte, dus moet het aantal bits deelbaar door 8 zijn door 4 nullen 0 aan de linkerkant toe te voegen. Het resulterende getal, 0b00001101111110110011100011010010, heeft nu 32 bits (past precies in 4 bytes) en behoudt dezelfde waarde.

Met Python is het big-endian-formaat verkregen, wat ook het geval zou zijn bij handmatige conversie, en ons getal ziet er als volgt uit:

  • 0x0DFB38D2 in hexadecimaal;
  • 0b00001101111110110011100011010010 in binair.

Zie de onderstaande tabel voor meer inzicht in het big-endian-formaat:

Omgekeerd slaat het little endian-formaat de minst significante byte als eerste op, waardoor de intuïtieve volgorde wordt omgekeerd:

Zoals te zien is, ziet ons getal in little endian-formaat er als volgt uit:

  • 0xD238FB0D in hex;

  • 0b11010010001110001111101100001101 in binair.

Terug naar Block Header

Samenvattend: de header bestaat exact uit 80 bytes met zes gegevensvelden, die elk in little endian-formaat zijn opgeslagen. Laten we nu de header bekijken van block 645536:

Aangezien de blokheader exact 80 bytes inneemt, zijn er precies 160 hexadecimale cijfers (elke byte komt overeen met 2 hexadecimale cijfers). Het versie-veld neemt bijvoorbeeld 4 bytes in beslag, dus zijn er 8 hexadecimale cijfers.

Hier volgt de gedetailleerde informatie over dit blok in de explorer:

De velden hier worden weergegeven in big-endianformaat. Laten we bijvoorbeeld het bits-veld bekijken en dit vergelijken met de weergave in de blokheader. De hexadecimale weergave is 0x171007ea in big-endianformaat:

Als we dit omzetten naar little-endianformaat, ziet het er als volgt uit:

Zoals je kunt zien, is dat precies wat we in de blokheader hadden.

1. Waar verwijst "endianness" naar in de context van blockchain en computersystemen?

2. Koppel blokcomponenten aan hun definities.

question mark

Waar verwijst "endianness" naar in de context van blockchain en computersystemen?

Select the correct answer

question-icon

Koppel blokcomponenten aan hun definities.

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:

Click or drag`n`drop items and fill in the blanks

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 2. Hoofdstuk 3
some-alt