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
Introductie tot Blockchain

Meer over Blokkop

Veeg om het menu te tonen

Voordat we dieper ingaan op de blokheader, moeten we eerst het verschil begrijpen tussen big endian en little endian formaten.

Little Endian en Big Endian

Eerst moeten we begrijpen wat endianness precies betekent.

Note
Meer leren

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 het meest significante byte eerst op, wat overeenkomt met hoe mensen doorgaans getallen lezen. Laten we het decimale getal 234567890 als voorbeeld nemen en dit omzetten naar hexadecimaal en binair met behulp van Python en de resultaten weergeven:

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

Aangezien computers gehele getallen opslaan met een heel aantal bytes, en elke 2 hex-cijfers overeenkomen met één byte, hebben we een even aantal cijfers nodig. De hexadecimale weergave van ons getal, 0xDFB38D2, bevat 7 cijfers, dus moeten we een nul 0 aan de linkerkant toevoegen. Het resulterende getal, 0x0DFB38D2, heeft nu 8 hex-cijfers (past precies in 4 bytes) en dezelfde waarde.

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

Met Python hebben we het big endian-formaat verkregen, wat we ook zouden krijgen als we handmatig zouden omzetten, en ons getal ziet er als volgt uit:

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

Bekijk de onderstaande tabel om het big endian-formaat beter te begrijpen:

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

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

  • 0xD238FB0D in hex;

  • 0b11010010001110001111101100001101 in binair.

Terug naar het blokhoofd

Samenvattend: de header is precies 80 bytes en bevat zes gegevensvelden, elk in little-endian formaat. Laten we nu kijken naar de header van blok 645536:

Aangezien de blokheader precies 80 bytes in beslag neemt, zijn er exact 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:

blokinfo

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

Als we het omzetten naar little-endian formaat, 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?

Selecteer het correcte antwoord

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:

Klik of sleep items en vul de lege plekken in

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.

Sectie 2. Hoofdstuk 3
some-alt