A
A

Bitcoin - Pourquoi y a-t-il tant de blocs vides de transactions ?

jeu 25 Jan 2024 ▪ 4 min de lecture ▪ par Nicolas T.
Apprendre Minage

L’une des bizarreries du bitcoin est de valider de temps à autre des blocs vides de transactions. Explication.

BITCOIN

Empty Bitcoin Block

C’est en tout pas moins de 147 blocs vides qui ont été minés en 2023. Soit un bloc vide toutes les 60 heures.

Avant d’expliquer le pourquoi du comment, rappelons que ce sont les mineurs qui créent les blocs de transactions. Chaque bloc nécessite de générer environ 300 zetta-hash à l’aide de plusieurs centaines de millions de puces électroniques (ASIC) alimentées par une puissance de plusieurs gigawatts.

Néanmoins, les mineurs sélectionnent rarement les quelques 2 000 transactions par bloc. Ce sont les pools qui s’en chargent. Ces dernières sont des coopératives grâce auxquelles les mineurs lissent leurs revenus.

Les blocs vides sont donc le fait des pools. La pool Antpool a miné plus de 44 % de ces blocs vides. Viennent ensuite ViaBTC, F2pool et Binance Pool avec 14 %, 13 % et 13 % respectivement :

Bitcoin

Pour comprendre d’où viennent ces blocs désertiques, il faut se pencher sur ce que font concrètement les mineurs quand ils « hachent ».

Les blocs contiennent essentiellement des transactions. Cependant, ce ne sont pas elles que les mineurs hachent, mais ce que l’on appelle l’entête de bloc (« header »).

L’entête est standardisé. Il fait 80 octets et se compose de six informations :

Numéro de version / Hash du bloc précédent / Hash de la racine de l’arbre de Merkle / Time Stamp / Valeur cible du hash / Nonce

Les mineurs se servent de l’algorithme SHA-256 pour hacher ces informations. Le nonce (number used once) est un nombre qui varie pour générer des hash différents.

Un hash est un nombre qui est valide lorsqu’il est plus petit que la « valeur cible » que le réseau ajuste toutes les deux semaines pour s’assurer de trouver les blocs toutes les dix minutes en moyenne.
Lorsqu’un mineur trouve un hash valide, il obtient la récompense qui est actuellement de 6,250 bitcoins par bloc. Le mineur empoche en outre les frais de transaction.

Ce qui nous amène à notre question initiale : pourquoi se priver de frais de transactions en minant des blocs vides ?

Parce qu’il y a une latence de communication entre les pools et les mineurs. Si bien que certains pools rusent et envoient un bloc vide de transactions pour communiquer rapidement le hash du bloc précédent.

La raison étant que ce hash est la seule donnée absolument nécessaire pour commencer à hacher. Le recevoir avant les transactions (qui mettent plus de temps à arriver puisqu’elles pèsent beaucoup plus lourd que l’entête) offre la possibilité de hacher pendant quelques secondes supplémentaires. Des blocs sont parfois trouvés dans ce laps de temps. Il en résulte des blocs vides.

Soit dit en passant, avec le protocole de communication Stratum V2, les pools n’ont plus qu’à communiquer le hash du dernier bloc puisque ce sont les mineurs qui sélectionnent les transactions. Le hash est envoyé via un message dédié et optimisé de 32 octets.

Seulement les pools Demand et Ocean se sont actuellement engagées à se servir de Bitcoin Stratum V2. Voici notre article sur le sujet à propos d’Ocean : Jack Dorsey et Luke Dashjr lancent la pool OCEAN.

Maximisez votre expérience Cointribune avec notre programme 'Read to Earn' ! Pour chaque article que vous lisez, gagnez des points et accédez à des récompenses exclusives. Inscrivez-vous dès maintenant et commencez à cumuler des avantages.


A
A
Nicolas T. avatar
Nicolas T.

Reporting on Bitcoin, "the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy".

DISCLAIMER

Les propos et opinions exprimés dans cet article n'engagent que leur auteur, et ne doivent pas être considérés comme des conseils en investissement. Effectuez vos propres recherches avant toute décision d'investissement.