Découvrez comment est ajustée la difficulté grâce au lucky number et la valeur cible contenue dans l’en-tête de bloc lors du minage Bitcoin.
La période de reciblage de la difficulté
Dans le minage Bitcoin, tout le monde peut contribuer et devenir mineur. En achetant une machine, chaque mineur ajoute du hashrate au réseau. Cependant, cela augmenterait également le nombre de blocs miné par jour. Ce qui peut provoquer de nombreux problèmes.
D’où la nécessité d’ajuster la valeur cible du “lucky number” afin de garder la vitesse de minage de bloc à un niveau adéquat. Ce dernier est de 10 minutes par bloc pour le Bitcoin.
Cet ajustement est réalisé tous les 2016 blocs et s’appelle la “période de recalibrage”.
“Vous voulez 1 bloc toutes les 10 minutes en moyenne, pour garder le rythme de jetons nouvellement créés au taux souhaité. Cela fait deux semaines pour 2 016 blocs.
Si la dernière période de reciblage a duré plus de deux semaines, la cible doit augmenter pour augmenter la probabilité qu’un hachage d’en-tête de bloc le rencontrera. Vous diminuez la difficulté. Si la période de reciblage était moins de deux semaines, vous devez diminuer l’objectif pour diminuer la probabilité de l’atteindre. Vous augmentez la difficulté.”
En somme, la difficulté est donc ajustée grâce au lucky numbers en fonction du temps qu’il aura fallu pour miner 2016 blocs. Cela permet donc de sécuriser le réseau en offrant une circulation à un taux stable pour l’écosystème. Et ce, peu importe l’activité et l’augmentation ou la diminution du taux de hachage.
Les timestamps
Chaque en-tête de bloc contient un Timestamp, ou horodatage. Cet horodatage est inscrit pas les mineurs lors de la validation du bloc selon ce que l’on appelle le Median Time Past (MTP).
Ce dernier représente la moyenne médiane des 11 derniers timestamps des 11 blocs précédents. Le mineur ne peut donc inscrire un horodatage inférieur à ce MTP. La fenêtre de l’horodatage peut donc durer jusqu’à deux heures après ce MTP.
“Ces règles garantissent que personne ne manipule les horodatages de ses blocs pour
influencer le prochain calcul de l’objectif. Imaginez si le dernier bloc avant le reciblage avait un horodatage de six semaines après l’heure actuelle. Cela ferait augmenter l’objectif suivant d’un facteur 4, comme le montre le tableau 7.2.”
En ayant un horodatage trop éloigné de ce MTP, il serait rejeté par le consensus de validation et le nœud. En effet, cela augmenterait le la valeur cible tellement fortement que la difficulté rendrait presque impossible le minage de Bitcoin par les mineurs.
Les horodatages ne peuvent donc pas être plus de 2 heures supérieurs à la normale.
Il est également bon de rappeler que le minage peut provoquer un “fork temporaire de la chaîne”. Par la suite, la chaîne “la plus forte” sera choisie par les mineurs.
Ces séparations de la blockchain interviennent souvent surtout dans une période de forte activité et de congestion. Le réajustement de la difficulté s’opérera alors sur la chaîne choisie par le réseau comme étant la plus solide :
“Chaque nœud du réseau fonctionne de manière indépendante, il n’existe donc aucune autorité centrale pour déterminer la valeur cible actuelle.
Cependant, comme les nœuds adoptent toujours la chaîne de blocs la plus longue comme blockchain, ils calculent chacun la même cible.
Par exemple, lorsque vous exécutez Bitcoin pour la première fois, votre nœud effectuera le téléchargement du bloc initial et calculera les cibles au fur et à mesure. Et comme vous recevez les mêmes blocs que tout le monde, vous finirez par calculer le même objectif actuel lorsque vous atteindrez la pointe de la blockchain.”
C’est pourquoi ce recalibrage est essentiel pour garder les 10 minutes nécessaires pour miner un bloc. Sinon, si le minage se fait plus rapidement, les mineurs utiliseraient de l’énergie “obsolète” . Car ils chercheraient des anciens blocs, car tous les nouveaux auraient été traités.
“Il est préférable que les mineurs travaillent à étendre autant que possible la même chaîne de blocs. Pour que cela fonctionne, nous devons laisser le temps aux nouveaux blocs de se propager à travers le réseau avant que le bloc suivant ne soit exploité.
Par conséquent, ce délai (intervalle de bloc) permet aux blocs de propager le réseau afin que davantage de mineurs puissent adopter la chaîne disponible la plus longue, ce qui permet de concentrer la puissance minière du réseau sur l’extension de la même chaîne de blocs.”
Satoshi Nakamoto avait déclaré :
“Si les diffusions s’avèrent en pratique plus lentes que prévu, il faudra peut-être augmenter le temps cible entre les blocs pour éviter de gaspiller des ressources. Nous voulons que les blocs se propagent généralement en beaucoup moins de temps qu’il n’en faut pour les générer, sinon les nœuds passeraient trop de temps à travailler sur des blocs obsolètes.”
Le système du minage Bitcoin doit donc toujours ajuster la difficulté avec le lucky number et cette valeur cible, afin d’offrir une stabilité à l’écosystème.
Sources : Grokking Bitcoin, LearnMeaBitcoin.
Sur le même sujet :