
Depuis son lancement, l’algorithme de minage de Bitcoin comportait une erreur de calcul qui lui permettait d’extraire des blocs à des vitesses extrêmement élevées. Le chercheur Loïc Morel en a parlé.
Satoshi est trompeur.
Il y a un bug dans le minage de Bitcoin depuis le tout premier jour. C'est une simple erreur de calcul de Satoshi qui pourrait être exploitée pour miner des blocs à une vitesse délirante. C'est un des bugs que le BIP-0054 (en discussion) résout. Je vous… pic.twitter.com/GurNv3qKrZ
— Loïc Morel (@Loic_Pandul) 11 avril 2026
Selon la publication, le dysfonctionnement serait lié au mécanisme de réglage de la difficulté.
Tous les 2016 blocs (environ une fois toutes les deux semaines), les nœuds recalculent la cible afin qu'un bloc apparaisse toutes les 10 minutes, quelle que soit la puissance de calcul des mineurs. Pour effectuer cet ajustement, les nœuds mesurent la durée de la dernière période, la comparent à la valeur cible (2016 x 600 = 1 209 600 secondes), puis ajustent la difficulté en conséquence.
« C'est dans ces calculs que réside l'erreur. Pour mesurer le timing des blocs dans la période passée, le nœud compare l'horodatage du premier bloc de la période avec l'horodatage du dernier. Instinctivement, cela semble logique, mais en fait c'est une erreur, puisqu'il n'y a que 2015 intervalles entre le premier et le dernier bloc de la période, pas 2016 », a expliqué Morel.
Si nous notons t0 comme horodatage du premier bloc et t2015 comme horodatage du dernier, le nœud calcule le temps écoulé comme T = t2015 – t0. Cela donne des intervalles de 2015 (t0 à t1 > t1 à t2 > … > t2014 à t2015).
Pour obtenir les intervalles 2016, vous devez utiliser une autre formule : T = t2015 – t-1, où t-1 est l'horodatage du dernier bloc de la période précédente.
C'est ce qu'on appelle une erreur de « décalage d'une unité ». Ce bug introduit une erreur d'environ 0,05% vers une difficulté légèrement plus élevée.
Mais le vrai problème est ailleurs. Le défaut a pour conséquence que les périodes d'ajustement ne se chevauchent pas : l'horodatage du dernier bloc d'une période n'est pas pris en compte lors du calcul de la suivante.
Manipulation du temps
Cet écart rend possible une attaque par « distorsion temporelle ». Son principe est le suivant :
- Le mineur, qui contrôlait la majeure partie de la puissance de calcul, a commencé à définir les horodatages minimaux autorisés pour tous les blocs de la période (sauf le dernier).
- Dans le dernier bloc de la période, il attribue artificiellement l'horodatage maximum autorisé.
- Une fois la période terminée, la difficulté est ajustée. En raison de la manipulation des tags par l'attaquant, la période mesurée a duré plus longtemps qu'elle ne l'était réellement. En conséquence, la complexité est réduite.
- L'attaquant réitère une manipulation similaire dans la période suivante. Étant donné que les périodes ne se chevauchent pas, le premier bloc de la deuxième période d'attaque peut avoir un horodatage dans un passé lointain tandis que le bloc précédent a un horodatage dans le futur. Cet écart augmente de période en période.
En répétant le processus plusieurs fois, un attaquant pourrait théoriquement réduire la difficulté du minage à un niveau produisant jusqu'à six blocs par seconde (au lieu d'un toutes les 10 minutes).
« Les conséquences seraient désastreuses : les blocages temporaires sont inutiles, le réseau est surchargé, le nombre de réorganisations augmente et les confirmations de transactions deviennent sans valeur. Tout cela permettrait à l'attaquant de collecter les récompenses de blocage à un rythme effréné », ajoute le chercheur.
L'attaque ne serait pas possible si les premier et dernier blocs de deux périodes consécutives coïncidaient.
Comment corriger cette erreur ?
Morel a noté que le problème peut être résolu à l'aide d'un soft fork dans le cadre du BIP-0054.
L'initiative signifie que le premier bloc d'une nouvelle période de difficulté a un horodatage qui n'est pas plus tardif de plus de deux heures par rapport au dernier bloc de la période précédente.
Cette restriction rétablit « une certaine forme de continuité » entre les périodes, empêche la manipulation des intervalles de temps et rend impossible une attaque par « distorsion temporelle ».
Rappelons qu’en février, Nick Carter, partenaire de Castle Island Ventures, avait prédit un « rachat par une entreprise » de Bitcoin en raison de la menace quantique.
Vous avez trouvé une erreur dans le texte ? Sélectionnez-le et appuyez sur CTRL+ENTRÉE
Newsletters ForkLog : restez à l’écoute de l’industrie Bitcoin !
Voir l’article original en russe
