Bloc

Bloc

La blockchain est un enchaînement de blocs de données. On peut se représenter chaque bloc comme une page d’un grand livre. Les différents blocs sont constitués de plusieurs éléments. En gros, on peut distinguer l’en-tête du bloc (block header) et son corps (block body). Qu’est-ce qu’un en-tête de bloc ? L’en-tête du bloc se divise en six parties : 1.

La blockchain est une concaténation de blocs de données. On peut se représenter chaque bloc comme une page d’un grand livre. Les différents blocs sont constitués de plusieurs composants. En gros, on peut distinguer l’en-tête du bloc (block header) et son corps (block body).

Qu’est-ce qu’un en-tête de bloc ?

L’en-tête d’un bloc se divise en six parties :

1. le numéro de version du logiciel

Dans la plupart des cas, le numéro de version du logiciel ne joue pas un rôle important. Cependant, un mineur peut signaler avec un certain numéro de version quelles décisions de protocole il soutient.

2. le hash du bloc précédent

Le hachage du bloc précédent constitue en quelque sorte la chaîne de la blockchain. Comme le hash du bloc précédent est contenu dans le hash du nouveau bloc, tous les blocs de la blockchain se construisent les uns sur les autres. Sans cette composante, il n’y aurait pas de lien ni de chronologie entre les différents blocs.

3. le hash racine de l’arbre de Merkle

Toutes les transactions contenues dans un bloc peuvent être représentées de manière groupée dans un hash. Il s’agit du hash racine de l’arbre de Merkle.

4. le temps en secondes depuis 1970-01-01T00:00 UTC

Un horodatage dans le bloc lui-même. L’heure est indiquée en secondes depuis le 1er janvier 1970.

5. l’objectif de la difficulté actuelle

La cible indique la taille que doit avoir le nouveau hachage pour être valide. En d’autres termes, chaque hash a une taille en bits. Plus la cible est basse en bits, plus il est difficile de trouver un hash correspondant. Un hash avec beaucoup de zéros au début est plus petit qu’un hash sans zéros.

6. le nonce

Le nonce est la variable qui est incrémentée lors de la preuve de travail. De cette manière, le mineur devine un hash valide, c’est-à-dire un hash plus petit que la cible.

Ces six composants constituent l’en-tête du bloc. L’en-tête de bloc joue un rôle fondamental dans le bitcoin, car il relie tous les blocs entre eux.

Qu’est-ce que le Block Body ?

Lorsqu’un mineur construit un bloc, il vérifie la validité des transactions. Cela signifie qu’il vérifie si l’expéditeur dispose effectivement de suffisamment d’argent à dépenser. Il peut facilement lire cette information dans la blockchain.

Les transactions d’un bloc ne se trouvent pas simplement dans une liste, mais dans ce que l’on appelle un Merkle Tree.

Qu’est-ce qu’un arbre de Merkle ?

Le Merkle Tree tient son nom du mathématicien Ralph Merkle. Il a découvert que de nombreuses informations pouvaient être représentées dans un seul hachage. Pour cela, les données elles-mêmes sont d’abord hachées. Ensuite, les hashs sont à nouveau hachés et fusionnés. Finalement, l’arbre de Merkle est réuni en un seul hachage. Ce dernier hash porte également le nom de Root Hash, c’est-à-dire la racine de l’arbre. Il représente toutes les informations de ses « feuilles » (transactions individuelles) et de ses « branches » (hachage des feuilles) dans une chaîne de caractères relativement courte.

Créer le hash racine est simple et rapide, pour autant que toutes les branches et feuilles soient connues. Rappelons la fonction d’une fonction de hachage : dans un sens, elle fonctionne clairement et rapidement, dans l’autre, il est impossible de la décomposer. Si le hachage racine est connu, mais que les transactions sont inconnues, il est impossible de deviner les transactions.

Un hash racine seul ne suffit donc pas, le reste du bloc doit également être enregistré. Ainsi, le mineur peut valider à tout moment le hash racine en hachant à nouveau les informations contenues dans le bloc. Tant que la fonction de hachage est la même, les mineurs obtiennent toujours le même hachage pour une entrée de données donnée. C’est très pratique, car ils ne peuvent vérifier qu’avec le hash s’ils sont au même niveau.

Mining : la recherche d’un hash particulier

Dans ce contexte, il est plus facile de comprendre le minage de la preuve de travail. Lors du minage, l’en-tête du bloc est modifié de manière incrémentielle afin d’obtenir un hash particulier. L’en-tête se compose de cinq constantes et d’une variable. Les constantes sont le numéro de version du logiciel, le hash du bloc précédent, le hash racine de l’arbre de Merkle, l’horodatage et la taille cible du hash recherché en octets. La variable est le nonce.

Le nonce est un nombre qui est augmenté de un. Ensuite, le mineur hache les données et vérifie si les données résultent en un hachage inférieur à la valeur cible recherchée. Si la valeur de hachage est supérieure à la cible, le mineur répète le processus ; il augmente donc le nonce de un, le hache et vérifie à nouveau. Il répète cette opération jusqu’à ce qu’il trouve un hachage inférieur à la cible ou qu’il reçoive d’un autre mineur du réseau un bloc dont le hachage est inférieur à la cible. Il prend alors ce nouveau bloc et l’utilise comme base pour le bloc suivant (en utilisant le nouveau hash comme « hash du bloc précédent »).

Le minage est donc un processus hyper-répétitif dont l’objectif est de trouver un hash particulier. Une fois le hash trouvé, le jeu recommence. La probabilité de trouver un hash particulier dépend de la difficulté. En moyenne, un nouveau bloc est trouvé toutes les 10 minutes sur Bitcoin. La difficulté s’adapte toujours, de sorte que cette moyenne se maintient.

La particularité de ce processus est que le hash particulier ne peut être trouvé qu’en le devinant. Ce calcul coûte de la puissance de calcul et donc de l’énergie. Il suffit de jeter un coup d’œil sur le hash particulier pour se rendre compte qu’il est spécial, car il commence par des zéros.

Voici un exemple d’un tel hash issu de la blockchain Bitcoin :

000000000000000000094bfa4edb1245c347e42452e4418e9fe5a1d24e335b16

Hashes : La matriochka de la blockchain

Pour simplifier, on peut se représenter un bloc comme une matriochka. La plus petite poupée est la transaction non hachée (Alice à Bob 10 bitcoins). La pochette suivante est la forme hachée de cette transaction. Ensuite, deux transactions hachées sont hachées ensemble. Ainsi, les hashs sont de plus en plus rapprochés. A la fin, il ne reste plus qu’un seul hash, le root hash ou la plus grande matriochka.

Termes associés

  • Transaction Bitcoin.
  • Block Explorer.
  • Block Reward.
  • Blockchain contrôlé par un réseau informatique public distribué (en anglais « distributed »). (voir aussi : technologie du ledger distribué). On distingue les blockchains publiques (public ou permissionless) et les blockchains privées (private ou permissioned) »).
  • Cardano (ADA).
Token Boost

Commencez à trader dès maintenant

Investissez dans les cryptos et trader vos devises numériques sur les différentes plateformes.

Laisser un commentaire

Crypto logo

Token Boost, votre e-magazine français 100% crypto & DeFi.

Contact

54, impasse Toussaint, Lorainville