Aller au contenu principal

CIBLE DE DIFFICULTÉ

MINAGE Traduction en anglais : DIFFICULTY TARGET

Le facteur de difficulté, aussi connu sous le nom de cible de difficulté, est un paramètre utilisé dans le mécanisme de consensus par preuve de travail (Proof of Work, PoW) sur Bitcoin. La cible représente une valeur numérique qui détermine la difficulté pour les mineurs de résoudre un problème cryptographique spécifique, appelé preuve de travail, lors de la création d’un nouveau bloc sur la blockchain.

La cible de difficulté est un nombre ajustable de 256 bits (32 octets) déterminant une limite d’acceptabilité pour le hachage de l’entête des blocs. Autrement dit, pour qu’un bloc soit valide, le hachage de son entête avec SHA256d (double SHA256) doit être numériquement inférieur ou égal à la cible de difficulté. La preuve de travail consiste à modifier le champ nonce de l’entête du bloc ou de la transaction coinbase jusqu’à ce que le hachage résultant soit inférieur à la valeur cible.

Cette cible est ajustée tous les 2016 blocs (environ toutes les deux semaines), lors d’un évènement que l’on appelle « ajustement ». Le facteur de difficulté est recalculé en fonction du temps qu’il a fallu pour miner les 2016 blocs précédents. Si le temps total est inférieur à deux semaines, la difficulté augmente en ajustant la cible à la baisse. Si le temps total est supérieur à deux semaines, la difficulté diminue en ajustant la cible à la hausse. L’objectif est de conserver un temps de minage par bloc moyen à 10 minutes. Ce temps entre chaque bloc permet d’éviter les divisions du réseau Bitcoin, résultant en un gaspillage de la puissance de calcul. La cible de difficulté se trouve dans chaque entête de bloc, au sein du champ nBits. Puisque ce champ est réduit à 32 bits et que la cible fait en réalité 256 bits, la cible est compactée dans un format scientifique moins précis.

La cible de difficulté est parfois également nommée « facteur de difficulté ». Par extension, on peut l’évoquer avec son encodage dans les entêtes de bloc avec le terme « nBits ».

Termes associés :