Dans le mécanisme de minage de Bitcoin, une faille de jour zéro a été découverte - ForkLog : cryptomonnaies, IA, singularité, avenir

BTClogo# Dans le mécanisme de minage de Bitcoin, une faille de zero-day a été découverte

Depuis le lancement, une erreur de calcul a été présente dans l’algorithme de minage de Bitcoin, permettant de miner des blocs à une vitesse extrêmement élevée. C’est ce qu’a expliqué le chercheur Loïc Morel.

Satoshi s’est trompé.

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, la défaillance est liée au mécanisme d’ajustement de la difficulté

Toutes les 2016 blocs (environ toutes les deux semaines), les nœuds recalculent la cible de difficulté afin qu’un bloc soit trouvé toutes les 10 minutes, indépendamment de la puissance de calcul des mineurs. Pour ce faire, ils mesurent la durée de la dernière période, comparent cette valeur à la valeur cible (2016 x 600 = 1 209 600 secondes), puis ajustent la difficulté en conséquence.

« C’est précisément dans ces calculs que réside l’erreur. Pour mesurer le timing des blocs dans la période écoulée, le nœud compare l’horodatage du premier bloc de la période avec celui du dernier. Cela semble logique instinctivement, mais en réalité c’est une erreur, car il y a en fait 2015 intervalles entre le premier et le dernier bloc, et non 2016 », explique Morel.

Si l’on désigne t0 comme l’horodatage du premier bloc, et t2015 comme celui du dernier, le nœud calcule le temps écoulé comme T = t2015 — t0. Cela donne donc 2015 intervalles (de t0 à t1 > de t1 à t2 > … > de t2014 à t2015).

Pour obtenir 2016 intervalles, il faut 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’un unité ». Ce bug introduit une marge d’erreur d’environ 0,05 %, ce qui tend à légèrement surestimer la difficulté.

Mais le vrai problème réside ailleurs. La défaillance entraîne 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

Cette faille permet une attaque dite de « déformation temporelle ». Son principe est le suivant :

  1. Un mineur, contrôlant la majorité de la puissance de calcul, commence à définir des horodatages minimaux pour tous les blocs d’une période (sauf le dernier).
  2. Dans le dernier bloc de la période, il attribue artificiellement l’horodatage maximal autorisé.
  3. Après la fin de la période, la difficulté est ajustée. En raison des manipulations de l’attaquant avec les horodatages, la période mesurée dure plus longtemps qu’en réalité. La difficulté diminue donc.
  4. L’attaquant répète une manipulation similaire lors de la période suivante. Étant donné que les périodes ne se chevauchent pas, le premier bloc de la nouvelle période peut avoir un horodatage très ancien, tandis que le précédent a un horodatage futur. Cet écart s’accroît d’une période à l’autre.

En répétant ce processus plusieurs fois, un attaquant pourrait théoriquement réduire la difficulté de minage à un niveau où jusqu’à six blocs seraient créés par seconde (au lieu d’un toutes les 10 minutes).

« Les conséquences seraient terribles : les blocages temporaires seraient inutiles, le réseau serait surchargé, le nombre de réorganisations augmenterait, et la validation des transactions perdrait de sa valeur. Tout cela permettrait à un attaquant de collecter des récompenses de bloc à un rythme effréné », a ajouté le chercheur.

Une attaque serait impossible si le premier et le dernier bloc de deux périodes consécutives correspondaient.

Comment corriger cette erreur ?

Morel a souligné qu’il est possible de corriger ce problème via un soft fork dans le cadre du BIP-0054.

L’initiative prévoit que le premier bloc d’une nouvelle période de difficulté ait un horodatage ne dépassant pas de plus de deux heures celui du dernier bloc de la période précédente.

Cette limite restaure une « certaine forme de continuité » entre les périodes, empêche la manipulation des intervalles temporels et rend impossible l’attaque de « déformation temporelle ».

Rappelons qu’en février, le partenaire Castle Island Ventures, Nick Carter, avait prévu une « prise de contrôle corporative » du bitcoin en raison de la menace quantique.

BTC-0,24%
Voir l'original
Cette page peut inclure du contenu de tiers fourni à des fins d'information uniquement. Gate ne garantit ni l'exactitude ni la validité de ces contenus, n’endosse pas les opinions exprimées, et ne fournit aucun conseil financier ou professionnel à travers ces informations. Voir la section Avertissement pour plus de détails.
  • Récompense
  • Commentaire
  • Reposter
  • Partager
Commentaire
Ajouter un commentaire
Ajouter un commentaire
Aucun commentaire
  • Épingler