Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Approfondimento sull'Intestazione del Blocco | Blocchi e Transazioni
Introduzione alla Blockchain

bookApprofondimento sull'Intestazione del Blocco

Prima di poter procedere ad esplorare in dettaglio l'intestazione del blocco, è necessario comprendere la differenza tra i formati big endian e little endian.

Little Endian e Big Endian

Per prima cosa, è importante capire cosa significa realmente endianness.

Note
Approfondisci

Endianness si riferisce all'ordine in cui i byte (ogni byte equivale a 8 bit) sono disposti all'interno di tipi di dati più grandi nella memoria del computer.

Il formato big endian memorizza il byte più significativo per primo, in linea con il modo in cui gli esseri umani leggono tipicamente i numeri. Utilizziamo come esempio il numero decimale 234567890 e convertiamolo in esadecimale e binario utilizzando Python e visualizziamo i risultati:

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

Poiché i computer memorizzano gli interi utilizzando un numero intero di byte, e ogni 2 cifre esadecimali corrispondono a un byte, è necessario avere un numero pari di cifre. La rappresentazione esadecimale del nostro numero, 0xDFB38D2, contiene 7 cifre, quindi occorre aggiungere uno zero 0 a sinistra. Il numero risultante, 0x0DFB38D2, ora ha 8 cifre esadecimali (corrisponde esattamente a 4 byte) e lo stesso valore.

Allo stesso modo, il nostro numero binario ha 28 bit, e ogni 8 bit corrispondono a 1 byte, quindi è necessario che il numero di bit sia divisibile per 8 aggiungendo 4 zeri 0 a sinistra. Il numero risultante, 0b00001101111110110011100011010010, ora ha 32 bit (corrisponde esattamente a 4 byte) e lo stesso valore.

Utilizzando Python, abbiamo ottenuto il formato big endian, che otterremmo anche convertendo manualmente, e il nostro numero appare come segue:

  • 0x0DFB38D2 in esadecimale;
  • 0b00001101111110110011100011010010 in binario.

Osserviamo la tabella sottostante per comprendere il formato big endian:

Al contrario, il formato little endian memorizza per primo il byte meno significativo, invertendo l'ordine intuitivo:

Come puoi vedere, il nostro numero in formato little endian appare come segue:

  • 0xD238FB0D in esadecimale;

  • 0b11010010001110001111101100001101 in binario.

Torniamo all'Intestazione del Blocco

Per ricapitolare, l'intestazione è composta esattamente da 80 byte che contengono sei campi dati, ciascuno dei quali è in formato little endian. Ora diamo un'occhiata all'intestazione del blocco 645536:

Poiché l'intestazione del blocco occupa esattamente 80 byte, ci sono esattamente 160 cifre esadecimali (ogni byte corrisponde a 2 cifre esadecimali). Il campo version (versione), ad esempio, occupa 4 byte, quindi ci sono 8 cifre esadecimali.

Ecco le informazioni dettagliate su questo blocco nell'explorer:

I campi qui sono mostrati in formato big endian. Analizziamo il campo bits, ad esempio, e confrontiamolo con la sua rappresentazione nell'intestazione del blocco. La sua rappresentazione esadecimale è 0x171007ea in formato big endian:

Se lo convertiamo in formato little endian, apparirà come segue:

Come puoi vedere, è esattamente ciò che avevamo nell'intestazione del blocco.

1. A cosa si riferisce "endianness" nel contesto della blockchain e dei sistemi informatici?

2. Abbina i componenti del blocco alle loro definizioni.

question mark

A cosa si riferisce "endianness" nel contesto della blockchain e dei sistemi informatici?

Select the correct answer

question-icon

Abbina i componenti del blocco alle loro definizioni.

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

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 2. Capitolo 3

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Awesome!

Completion rate improved to 6.25

bookApprofondimento sull'Intestazione del Blocco

Scorri per mostrare il menu

Prima di poter procedere ad esplorare in dettaglio l'intestazione del blocco, è necessario comprendere la differenza tra i formati big endian e little endian.

Little Endian e Big Endian

Per prima cosa, è importante capire cosa significa realmente endianness.

Note
Approfondisci

Endianness si riferisce all'ordine in cui i byte (ogni byte equivale a 8 bit) sono disposti all'interno di tipi di dati più grandi nella memoria del computer.

Il formato big endian memorizza il byte più significativo per primo, in linea con il modo in cui gli esseri umani leggono tipicamente i numeri. Utilizziamo come esempio il numero decimale 234567890 e convertiamolo in esadecimale e binario utilizzando Python e visualizziamo i risultati:

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

Poiché i computer memorizzano gli interi utilizzando un numero intero di byte, e ogni 2 cifre esadecimali corrispondono a un byte, è necessario avere un numero pari di cifre. La rappresentazione esadecimale del nostro numero, 0xDFB38D2, contiene 7 cifre, quindi occorre aggiungere uno zero 0 a sinistra. Il numero risultante, 0x0DFB38D2, ora ha 8 cifre esadecimali (corrisponde esattamente a 4 byte) e lo stesso valore.

Allo stesso modo, il nostro numero binario ha 28 bit, e ogni 8 bit corrispondono a 1 byte, quindi è necessario che il numero di bit sia divisibile per 8 aggiungendo 4 zeri 0 a sinistra. Il numero risultante, 0b00001101111110110011100011010010, ora ha 32 bit (corrisponde esattamente a 4 byte) e lo stesso valore.

Utilizzando Python, abbiamo ottenuto il formato big endian, che otterremmo anche convertendo manualmente, e il nostro numero appare come segue:

  • 0x0DFB38D2 in esadecimale;
  • 0b00001101111110110011100011010010 in binario.

Osserviamo la tabella sottostante per comprendere il formato big endian:

Al contrario, il formato little endian memorizza per primo il byte meno significativo, invertendo l'ordine intuitivo:

Come puoi vedere, il nostro numero in formato little endian appare come segue:

  • 0xD238FB0D in esadecimale;

  • 0b11010010001110001111101100001101 in binario.

Torniamo all'Intestazione del Blocco

Per ricapitolare, l'intestazione è composta esattamente da 80 byte che contengono sei campi dati, ciascuno dei quali è in formato little endian. Ora diamo un'occhiata all'intestazione del blocco 645536:

Poiché l'intestazione del blocco occupa esattamente 80 byte, ci sono esattamente 160 cifre esadecimali (ogni byte corrisponde a 2 cifre esadecimali). Il campo version (versione), ad esempio, occupa 4 byte, quindi ci sono 8 cifre esadecimali.

Ecco le informazioni dettagliate su questo blocco nell'explorer:

I campi qui sono mostrati in formato big endian. Analizziamo il campo bits, ad esempio, e confrontiamolo con la sua rappresentazione nell'intestazione del blocco. La sua rappresentazione esadecimale è 0x171007ea in formato big endian:

Se lo convertiamo in formato little endian, apparirà come segue:

Come puoi vedere, è esattamente ciò che avevamo nell'intestazione del blocco.

1. A cosa si riferisce "endianness" nel contesto della blockchain e dei sistemi informatici?

2. Abbina i componenti del blocco alle loro definizioni.

question mark

A cosa si riferisce "endianness" nel contesto della blockchain e dei sistemi informatici?

Select the correct answer

question-icon

Abbina i componenti del blocco alle loro definizioni.

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

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 2. Capitolo 3
some-alt