Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Plus d'Informations sur l'En-Tête de Bloc | Blocs et Transactions
Quizzes & Challenges
Quizzes
Challenges
/
Introduction à la Blockchain

bookPlus d'Informations sur l'En-Tête de Bloc

Avant de pouvoir explorer en détail l’en-tête de bloc, il est nécessaire de comprendre la différence entre les formats big endian et little endian.

Little Endian et Big Endian

Il convient d’abord de comprendre ce que signifie réellement l’endianness.

Note
Approfondir

L’endianness désigne l’ordre dans lequel les octets (chaque octet équivaut à 8 bits) sont organisés au sein de types de données plus larges dans la mémoire informatique.

Le format big endian stocke l'octet le plus significatif en premier, ce qui correspond à la manière dont les humains lisent généralement les nombres. Prenons le nombre décimal 234567890 comme exemple et convertissons-le en hexadécimal et en binaire à l'aide de Python, puis affichons les résultats :

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

Comme les ordinateurs stockent les entiers en utilisant un nombre entier d'octets, et que chaque 2 chiffres hexadécimaux correspondent à un octet, il nous faut un nombre pair de chiffres. La représentation hexadécimale de notre nombre, 0xDFB38D2, contient 7 chiffres, donc il faut ajouter un zéro 0 à gauche. Le nombre obtenu, 0x0DFB38D2, a maintenant 8 chiffres hexadécimaux (correspondant exactement à 4 octets) et la même valeur.

De même, notre nombre binaire comporte 28 bits, et chaque 8 bits correspondent à 1 octet, donc il faut que le nombre de bits soit divisible par 8 en ajoutant 4 zéros 0 à gauche. Le nombre obtenu, 0b00001101111110110011100011010010, a maintenant 32 bits (correspondant exactement à 4 octets) et la même valeur.

Avec Python, nous avons obtenu le format big endian, que nous aurions également obtenu en effectuant la conversion manuellement, et notre nombre se présente comme suit :

  • 0x0DFB38D2 en hexadécimal ;
  • 0b00001101111110110011100011010010 en binaire.

Consultez le tableau ci-dessous pour mieux comprendre le format big endian :

Inversement, le format little endian stocke l'octet le moins significatif en premier, inversant ainsi l'ordre intuitif :

Comme vous pouvez le constater, notre nombre au format little endian s'affiche comme suit :

  • 0xD238FB0D en hexadécimal ;

  • 0b11010010001110001111101100001101 en binaire.

Retour à l'en-tête de bloc

Pour récapituler, l'en-tête fait exactement 80 octets et contient six champs de données, chacun étant au format little endian. Examinons maintenant l'en-tête du bloc 645536 :

Étant donné que l'en-tête de bloc occupe exactement 80 octets, il y a exactement 160 chiffres hexadécimaux (chaque octet correspond à 2 chiffres hexadécimaux). Le champ version, par exemple, occupe 4 octets, donc il y a 8 chiffres hexadécimaux.

Voici les informations détaillées concernant ce bloc dans l'explorateur :

Les champs ici sont affichés au format big endian. Examinons le champ bits, par exemple, et comparons-le à sa représentation dans l'en-tête de bloc. Sa représentation hexadécimale est 0x171007ea au format big endian :

Si nous le convertissons au format little endian, il apparaîtra comme suit :

Comme vous pouvez le constater, c'est exactement ce que nous avions dans l'en-tête du bloc.

1. À quoi fait référence « l'endianness » dans le contexte de la blockchain et des systèmes informatiques ?

2. Associer les composants du bloc à leurs définitions.

question mark

À quoi fait référence « l'endianness » dans le contexte de la blockchain et des systèmes informatiques ?

Select the correct answer

question-icon

Associer les composants du bloc à leurs définitions.

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

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 3

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Suggested prompts:

Can you explain why little endian is used in the block header?

How do I convert other fields from little endian to big endian?

What is the significance of the "bits" field in the block header?

Awesome!

Completion rate improved to 6.25

bookPlus d'Informations sur l'En-Tête de Bloc

Glissez pour afficher le menu

Avant de pouvoir explorer en détail l’en-tête de bloc, il est nécessaire de comprendre la différence entre les formats big endian et little endian.

Little Endian et Big Endian

Il convient d’abord de comprendre ce que signifie réellement l’endianness.

Note
Approfondir

L’endianness désigne l’ordre dans lequel les octets (chaque octet équivaut à 8 bits) sont organisés au sein de types de données plus larges dans la mémoire informatique.

Le format big endian stocke l'octet le plus significatif en premier, ce qui correspond à la manière dont les humains lisent généralement les nombres. Prenons le nombre décimal 234567890 comme exemple et convertissons-le en hexadécimal et en binaire à l'aide de Python, puis affichons les résultats :

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

Comme les ordinateurs stockent les entiers en utilisant un nombre entier d'octets, et que chaque 2 chiffres hexadécimaux correspondent à un octet, il nous faut un nombre pair de chiffres. La représentation hexadécimale de notre nombre, 0xDFB38D2, contient 7 chiffres, donc il faut ajouter un zéro 0 à gauche. Le nombre obtenu, 0x0DFB38D2, a maintenant 8 chiffres hexadécimaux (correspondant exactement à 4 octets) et la même valeur.

De même, notre nombre binaire comporte 28 bits, et chaque 8 bits correspondent à 1 octet, donc il faut que le nombre de bits soit divisible par 8 en ajoutant 4 zéros 0 à gauche. Le nombre obtenu, 0b00001101111110110011100011010010, a maintenant 32 bits (correspondant exactement à 4 octets) et la même valeur.

Avec Python, nous avons obtenu le format big endian, que nous aurions également obtenu en effectuant la conversion manuellement, et notre nombre se présente comme suit :

  • 0x0DFB38D2 en hexadécimal ;
  • 0b00001101111110110011100011010010 en binaire.

Consultez le tableau ci-dessous pour mieux comprendre le format big endian :

Inversement, le format little endian stocke l'octet le moins significatif en premier, inversant ainsi l'ordre intuitif :

Comme vous pouvez le constater, notre nombre au format little endian s'affiche comme suit :

  • 0xD238FB0D en hexadécimal ;

  • 0b11010010001110001111101100001101 en binaire.

Retour à l'en-tête de bloc

Pour récapituler, l'en-tête fait exactement 80 octets et contient six champs de données, chacun étant au format little endian. Examinons maintenant l'en-tête du bloc 645536 :

Étant donné que l'en-tête de bloc occupe exactement 80 octets, il y a exactement 160 chiffres hexadécimaux (chaque octet correspond à 2 chiffres hexadécimaux). Le champ version, par exemple, occupe 4 octets, donc il y a 8 chiffres hexadécimaux.

Voici les informations détaillées concernant ce bloc dans l'explorateur :

Les champs ici sont affichés au format big endian. Examinons le champ bits, par exemple, et comparons-le à sa représentation dans l'en-tête de bloc. Sa représentation hexadécimale est 0x171007ea au format big endian :

Si nous le convertissons au format little endian, il apparaîtra comme suit :

Comme vous pouvez le constater, c'est exactement ce que nous avions dans l'en-tête du bloc.

1. À quoi fait référence « l'endianness » dans le contexte de la blockchain et des systèmes informatiques ?

2. Associer les composants du bloc à leurs définitions.

question mark

À quoi fait référence « l'endianness » dans le contexte de la blockchain et des systèmes informatiques ?

Select the correct answer

question-icon

Associer les composants du bloc à leurs définitions.

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

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 3
some-alt