Découverte et solution de la vulnérabilité de l'attaque par distorsion temporelle du protocole Bitcoin

robot
Création du résumé en cours

Vulnérabilité d'attaque par distorsion temporelle dans le protocole Bitcoin

Le 26 mars 2025, un développeur de Bitcoin a proposé une nouvelle proposition d'amélioration, visant à corriger plusieurs vulnérabilités et faiblesses de longue date dans le protocole Bitcoin grâce à un soft fork. L'une des vulnérabilités dignes d'intérêt est appelée "attaque par distorsion temporelle", qui sera le sujet de cette article.

Mécanisme de protection des timestamps de Bitcoin

Avant de discuter des attaques par distorsion temporelle, nous devons comprendre les règles actuelles de protection contre la manipulation du temps de Bitcoin :

  1. Règle du temps médian passé (MPT) : L'horodatage du bloc doit être postérieur au temps médian des 11 blocs précédents.

  2. Règle de temps de bloc futur : le timestamp du bloc ne peut pas être avancé de plus de 2 heures par rapport à la médiane du temps des pairs des nœuds. De plus, l'écart maximal autorisé entre le temps du nœud et l'horloge système locale est de 90 minutes.

Ces règles visent à empêcher la manipulation excessive des horodatages des blocs. Cependant, en raison de la nécessité de la synchronisation initiale de la chaîne de blocs, il n'est pas possible d'appliquer des règles pour les blocs futurs afin d'interdire complètement l'utilisation des horodatages passés. Les attaques par distorsion temporelle exploitent précisément cela, en falsifiant des horodatages remontant à un passé lointain pour mener des attaques.

Bitcoin sécurité vulnérabilité : attaque de distorsion temporelle

Erreur de calcul dans le protocole

Le cycle d'ajustement de la difficulté de Bitcoin comprend 2016 blocs, ce qui correspond théoriquement à environ deux semaines. Lors du calcul de l'ajustement de la difficulté de minage, le protocole calcule la différence de timestamp entre le premier et le dernier bloc de la fenêtre des 2016 blocs concernés. Cependant, il existe une petite mais importante erreur dans ce processus de calcul.

Le calcul correct devrait être : 60 secondes * 10 minutes * 2015 intervalles = 1 209 000 secondes. Cependant, le calcul utilisé est : 60 secondes * 10 minutes * 2016 = 1 209 600 secondes. Cette erreur de différence entraîne un temps cible 0,05 % plus long que prévu, ce qui fait que l'intervalle cible réel pour le Bitcoin est de 10 minutes et 0,3 seconde.

Bien que cette erreur de 0,3 seconde semble insignifiante, elle est liée à un autre problème plus grave. Le calcul de la difficulté est basé sur le premier et le dernier bloc de chaque fenêtre de 2016 blocs, et non sur la différence entre le dernier bloc de la fenêtre précédente et le dernier bloc de la fenêtre actuelle. Cette méthode de calcul crée une possibilité d'attaque par distorsion temporelle.

Bitcoin sécurité vulnérabilité : attaque de distorsion temporelle

Principe de l'attaque par distorsion temporelle

L'attaque par distorsion temporelle a été découverte pour la première fois en 2011. Dans cette attaque, en supposant que le minage est complètement centralisé, l'attaquant peut manipuler les horodatages des blocs de la manière suivante :

  1. Pour la plupart des blocs, définissez l'horodatage pour qu'il avance d'une seconde par rapport au bloc précédent.
  2. Chaque six blocs conservent le même horodatage, puis une seconde est ajoutée au bloc suivant.
  3. Dans le dernier bloc de chaque période d'ajustement de difficulté, définir l'horodatage sur l'heure du monde réel.
  4. Le timestamp du premier bloc du nouveau cycle d'ajustement de difficulté a été réglé rétroactivement, une seconde avant l'avant-dernier bloc du cycle précédent.

Cette opération fait que le temps de la blockchain devient de plus en plus en retard par rapport au temps réel, entraînant une diminution continue de la difficulté, permettant aux attaquants de créer des blocs à une vitesse extrêmement rapide, générant potentiellement une grande quantité de Bitcoin.

Bitcoin sécurité vulnérabilités : attaque de distorsion temporelle

Impact et faisabilité des attaques

Théoriquement, cette attaque pourrait avoir des conséquences catastrophiques. Dans des cas extrêmes, la difficulté pourrait être continuellement réduite jusqu'à produire plus de 6 blocs par seconde. Cependant, la mise en œuvre de cette attaque fait face à de nombreux défis :

  1. Il est nécessaire de contrôler la majorité de la puissance de calcul du réseau.
  2. L'existence de mineurs honnêtes augmentera la difficulté des attaques.
  3. Le processus d'attaque est complètement visible, ce qui peut déclencher une réparation d'urgence.
  4. Les règles MTP et les horodatages des mineurs honnêtes limiteront l'effet des attaques.

Bitcoin sécurité des failles : attaque de distorsion temporelle

Solutions potentielles

La méthode pour corriger cette vulnérabilité est relativement simple, mais elle pourrait nécessiter des modifications du protocole de soft fork. Une solution proposée actuellement est :

Il est requis que le temps du premier bloc du nouveau cycle de difficulté ne soit pas antérieur à un temps spécifique avant le dernier bloc du cycle précédent (recommandé : 2 heures). Cette règle simple peut efficacement prévenir les attaques par distorsion temporelle tout en minimisant le risque de blocs invalides inattendus.

Cette limite de 2 heures représente environ 0,6 % du temps cible du cycle d'ajustement de la difficulté, limitant considérablement la capacité à manipuler la difficulté à la baisse. Bien que cela permette encore aux attaquants de manipuler la difficulté à la baisse d'environ 0,6 % par cycle, il s'agit d'un changement unique qui ne peut pas s'accumuler.

Dans l'ensemble, bien que l'attaque par distorsion temporelle présente une menace sérieuse en théorie, sa mise en œuvre réelle est difficile. Grâce à des mises à jour de protocole appropriées, cette vulnérabilité potentielle peut être efficacement atténuée, renforçant ainsi la sécurité et la stabilité du réseau Bitcoin.

Bitcoin vulnérabilité de sécurité : attaque par distorsion temporelle

BTC0.6%
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
  • 4
  • Partager
Commentaire
0/400
P2ENotWorkingvip
· Il y a 12h
Fais pas chier, qui peut me contacter pour résoudre ça
Voir l'originalRépondre0
FlashLoanLordvip
· Il y a 12h
Il aurait fallu résoudre ce problème plus tôt.
Voir l'originalRépondre0
HodlBelievervip
· Il y a 12h
Banquier blockchain / Expert en évaluation des risques / Analyse technique du Prix de clôture quotidienne depuis 4 ans

D'un point de vue de la gestion des risques de base, une réparation est nécessaire.
Voir l'originalRépondre0
PerennialLeekvip
· Il y a 12h
Il y a trop de failles, je ne joue plus ! Chacun pour soi, chacun pour soi.
Voir l'originalRépondre0
  • Épingler
Trader les cryptos partout et à tout moment
qrCode
Scan pour télécharger Gate app
Communauté
Français (Afrique)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)