Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Mere om Blokhovedet | Blokke og Transaktioner
Introduktion til Blockchain

bookMere om Blokhovedet

Før vi kan gå videre til at udforske blokhovedet i detaljer, skal vi først forstå forskellen mellem big endian og little endian formater.

Little Endian og Big Endian

Først skal vi forstå, hvad endianness faktisk betyder.

Note
Læs Mere

Endianness refererer til rækkefølgen, hvori bytes (hver byte svarer til 8 bits) er arrangeret inden for større datatyper i computerens hukommelse.

Big endian-format gemmer den mest betydningsfulde byte først, hvilket svarer til, hvordan mennesker typisk læser tal. Lad os bruge det decimale tal 234567890 som eksempel og konvertere det til hexadecimal og binær ved hjælp af Python og vise resultaterne:

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

Da computere gemmer heltal ved hjælp af et helt antal bytes, og hver 2 hex-cifre svarer til én byte, skal vi have et jævnt antal cifre. Den hexadecimale repræsentation af vores tal, 0xDFB38D2, indeholder 7 cifre, så vi skal tilføje et nul 0 til venstre. Det resulterende tal, 0x0DFB38D2, har nu 8 hex-cifre (passer præcis til 4 bytes) og samme værdi.

Tilsvarende har vores binære tal 28 bits, og hver 8 bits svarer til 1 byte, så vi skal have antallet af bits deleligt med 8 ved at tilføje 4 nuller 0 til venstre. Det resulterende tal, 0b00001101111110110011100011010010, har nu 32 bits (passer præcis til 4 bytes) og samme værdi.

Ved brug af Python fik vi big endian-formatet, hvilket vi også ville få, hvis vi konverterede manuelt, og vores tal ser således ud:

  • 0x0DFB38D2 i hex;
  • 0b00001101111110110011100011010010 i binær.

Lad os se på tabellen nedenfor for at forstå big endian-formatet:

Omvendt gemmer little endian-formatet den mindst betydningsfulde byte først, hvilket vender den intuitive rækkefølge:

Som du kan se, ser vores tal i little endian-format således ud:

  • 0xD238FB0D i hex;

  • 0b11010010001110001111101100001101 i binær.

Tilbage til blokhovedet

For at opsummere er headeren præcis 80 bytes og indeholder seks datafelter, som hver især er i little endian-format. Lad os nu se nærmere på headeren for blok 645536:

Da blokhovedet optager præcis 80 bytes, er der præcis 160 hex-cifre (hver byte svarer til 2 hex-cifre). Version-feltet optager for eksempel 4 bytes, så der er 8 hex-cifre.

Her er de detaljerede oplysninger om denne blok i exploreren:

Felterne her vises i big endian-format. Lad os undersøge bits-feltet, for eksempel, og sammenligne det med dets repræsentation i blokhovedet. Dets hex-repræsentation er 0x171007ea i big endian-format:

Hvis vi konverterer det til little endian-format, vil det se således ud:

Som du kan se, er det præcis det, vi havde i blokhovedet.

1. Hvad refererer "endianness" til i forbindelse med blockchain og computersystemer?

2. Match blokkomponenter med deres definitioner.

question mark

Hvad refererer "endianness" til i forbindelse med blockchain og computersystemer?

Select the correct answer

question-icon

Match blokkomponenter med deres definitioner.

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

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 3

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Awesome!

Completion rate improved to 6.25

bookMere om Blokhovedet

Stryg for at vise menuen

Før vi kan gå videre til at udforske blokhovedet i detaljer, skal vi først forstå forskellen mellem big endian og little endian formater.

Little Endian og Big Endian

Først skal vi forstå, hvad endianness faktisk betyder.

Note
Læs Mere

Endianness refererer til rækkefølgen, hvori bytes (hver byte svarer til 8 bits) er arrangeret inden for større datatyper i computerens hukommelse.

Big endian-format gemmer den mest betydningsfulde byte først, hvilket svarer til, hvordan mennesker typisk læser tal. Lad os bruge det decimale tal 234567890 som eksempel og konvertere det til hexadecimal og binær ved hjælp af Python og vise resultaterne:

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

Da computere gemmer heltal ved hjælp af et helt antal bytes, og hver 2 hex-cifre svarer til én byte, skal vi have et jævnt antal cifre. Den hexadecimale repræsentation af vores tal, 0xDFB38D2, indeholder 7 cifre, så vi skal tilføje et nul 0 til venstre. Det resulterende tal, 0x0DFB38D2, har nu 8 hex-cifre (passer præcis til 4 bytes) og samme værdi.

Tilsvarende har vores binære tal 28 bits, og hver 8 bits svarer til 1 byte, så vi skal have antallet af bits deleligt med 8 ved at tilføje 4 nuller 0 til venstre. Det resulterende tal, 0b00001101111110110011100011010010, har nu 32 bits (passer præcis til 4 bytes) og samme værdi.

Ved brug af Python fik vi big endian-formatet, hvilket vi også ville få, hvis vi konverterede manuelt, og vores tal ser således ud:

  • 0x0DFB38D2 i hex;
  • 0b00001101111110110011100011010010 i binær.

Lad os se på tabellen nedenfor for at forstå big endian-formatet:

Omvendt gemmer little endian-formatet den mindst betydningsfulde byte først, hvilket vender den intuitive rækkefølge:

Som du kan se, ser vores tal i little endian-format således ud:

  • 0xD238FB0D i hex;

  • 0b11010010001110001111101100001101 i binær.

Tilbage til blokhovedet

For at opsummere er headeren præcis 80 bytes og indeholder seks datafelter, som hver især er i little endian-format. Lad os nu se nærmere på headeren for blok 645536:

Da blokhovedet optager præcis 80 bytes, er der præcis 160 hex-cifre (hver byte svarer til 2 hex-cifre). Version-feltet optager for eksempel 4 bytes, så der er 8 hex-cifre.

Her er de detaljerede oplysninger om denne blok i exploreren:

Felterne her vises i big endian-format. Lad os undersøge bits-feltet, for eksempel, og sammenligne det med dets repræsentation i blokhovedet. Dets hex-repræsentation er 0x171007ea i big endian-format:

Hvis vi konverterer det til little endian-format, vil det se således ud:

Som du kan se, er det præcis det, vi havde i blokhovedet.

1. Hvad refererer "endianness" til i forbindelse med blockchain og computersystemer?

2. Match blokkomponenter med deres definitioner.

question mark

Hvad refererer "endianness" til i forbindelse med blockchain og computersystemer?

Select the correct answer

question-icon

Match blokkomponenter med deres definitioner.

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

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 3
some-alt