Analyse des vulnérabilités des attaques de distorsion temporelle de Bitcoin : faiblesses du protocole et solutions potentielles de réparation

Analyse de la vulnérabilité de l'attaque par distorsion temporelle de 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. Cette proposition de soft fork, appelée "Nettoyage du Grand Consensus", non seulement résout le problème des transactions en double discuté précédemment, mais propose également une solution à une vulnérabilité plus grave : "l'attaque par distorsion temporelle".

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

Mécanisme de protection des timestamps de blocs Bitcoin

Avant d'explorer les attaques par distorsion temporelle, nous devons comprendre les règles de protection contre la manipulation du temps dans le réseau Bitcoin actuel :

  1. Règle du temps médian passé (MPT) : le timestamp du bloc doit être postérieur au temps médian des onze blocs précédents.

  2. Règles de temps de bloc futures : le timestamp du bloc ne doit pas être en avance de plus de 2 heures par rapport au temps médian des pairs du nœud. De plus, l'écart maximal autorisé entre le temps du nœud et l'horloge système locale est de 90 minutes.

Les règles MPT empêchent les horodatages des blocs d'être trop rétroactifs, tandis que les règles des futurs blocs limitent les horodatages à ne pas être trop avancés. Il est à noter qu'il n'est pas possible de mettre en place un mécanisme similaire aux règles des futurs blocs pour empêcher les horodatages passés, car cela pourrait affecter le processus de synchronisation initial de la blockchain. L'attaque par distorsion temporelle exploite précisément la possibilité de falsifier des horodatages anciens.

Bitcoin sécurité faille : attaque de distorsion temporelle

Erreur dans l'algorithme d'ajustement de la difficulté

Le cycle d'ajustement de la difficulté du Bitcoin comprend 2016 blocs, ce qui correspond à environ deux semaines en calculant sur la base d'un temps de blocage cible de 10 minutes. Lors du calcul de l'ajustement de la difficulté d'extraction, le protocole calcule la différence de timestamp entre le premier et le dernier bloc de la fenêtre de 2016 blocs concernés. Cette fenêtre contient en réalité 2015 intervalles de blocs (2016 moins 1). Par conséquent, le temps cible à utiliser dans des conditions idéales est de 60 secondes × 10 minutes × 2015 intervalles = 1,209,000 secondes.

Cependant, le protocole Bitcoin utilise le chiffre 2016 pour effectuer des calculs : 60 secondes × 10 minutes × 2016 = 1 209 600 secondes. C'est une erreur classique de "un de moins", probablement due à une confusion entre le nombre de blocs et le nombre d'intervalles de blocs.

Cette erreur entraîne un temps cible supérieur de 0,05 % au temps réellement nécessaire. En d'autres termes, l'intervalle de bloc cible réel pour le Bitcoin n'est pas de 10 minutes, mais de 10 minutes et 0,3 seconde. Bien que cette erreur semble insignifiante, elle crée des possibilités pour une 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, exploitant cette erreur dans le calcul de la difficulté. Dans un scénario idéal, en supposant que le minage soit complètement centralisé, les mineurs peuvent définir des horodatages de manière arbitraire dans les limites autorisées par le protocole. L'attaquant adopterait la stratégie suivante :

  1. Pour la plupart des blocs, réglez l'horodatage pour n'avancer qu'une seconde par rapport au bloc précédent, tout en respectant les règles MPT.

  2. Pour avancer le temps aussi lentement que possible, les mineurs peuvent maintenir le même horodatage pendant six blocs consécutifs, puis ajouter une seconde au septième bloc, et ainsi de suite.

  3. À la fin de chaque période d'ajustement de difficulté, définir le timestamp sur l'heure du monde réel.

  4. Le timestamp du premier bloc de la prochaine fenêtre d'ajustement de difficulté est réglé sur le passé, une seconde plus tôt que l'avant-dernier bloc du cycle précédent.

Ce mode d'attaque peut entraîner un retard progressif de la blockchain par rapport au temps réel, tout en augmentant constamment la difficulté. Cependant, comme le dernier bloc de chaque cycle d'ajustement de difficulté utilise un horodatage réel, le calcul de la difficulté sera considérablement affecté. À la fin du deuxième cycle d'ajustement après le début de l'attaque, la difficulté sera considérablement réduite. Cela permet aux attaquants de créer des blocs à une vitesse extrêmement rapide, potentiellement de frapper une grande quantité de Bitcoin et d'en tirer profit.

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

Faisabilité et défis de l'attaque

Bien que cette attaque soit théoriquement dévastatrice, sa mise en œuvre fait face à de nombreux défis :

  1. Il se peut que vous deviez contrôler la majorité de la puissance de calcul du réseau.
  2. La présence de mineurs honnêtes augmentera la difficulté d'attaque.
  3. Les règles MTP et les horodatages honnêtes peuvent limiter le degré de rétroaction des horodatages malveillants.
  4. Si un mineur honnête génère le premier bloc de n'importe quelle fenêtre d'ajustement de difficulté, l'attaque de ce cycle échouera.
  5. Le processus d'attaque est visible par tous, ce qui pourrait déclencher une réparation d'urgence par soft fork.

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

Solutions potentielles

Réparer cette vulnérabilité est relativement simple, mais cela peut nécessiter des modifications du protocole de soft fork. Certaines solutions possibles incluent :

  1. Modifier l'algorithme d'ajustement de la difficulté, calculer l'intervalle de temps entre les différentes fenêtres de 2016 blocs, tout en corrigeant l'erreur "différent de un".
  2. Annuler la règle MTP et exiger que le temps de chaque bloc avance.
  3. Définir de nouvelles règles de limitation, exigeant que le temps du premier bloc du nouveau cycle de difficulté ne soit pas antérieur à une période de temps spécifique du dernier bloc du cycle précédent (comme 10 minutes ou 2 heures).

Dans la dernière proposition d'amélioration, les développeurs ont tendance à adopter une limite de temps de 2 heures. Cette limite représente environ 0,6 % du temps cible du cycle d'ajustement de la difficulté, ce qui peut réduire efficacement la possibilité de manipulation de la difficulté.

Quelle que soit la solution adoptée, corriger cette vulnérabilité renforcera encore la sécurité et la stabilité du réseau Bitcoin, posant ainsi des bases plus solides pour son développement à long terme.

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

BTC-1.55%
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
  • 8
  • Partager
Commentaire
0/400
GasFeeNightmarevip
· 07-21 22:12
All in aussi doit attendre que les failles soient corrigées.
Voir l'originalRépondre0
SignatureCollectorvip
· 07-20 01:25
Ah, cela prend encore deux ans pour corriger le bug ?
Voir l'originalRépondre0
rekt_but_vibingvip
· 07-18 22:42
Style de travail consistant à entrer dans une position puis à acheter un billet.
Voir l'originalRépondre0
DegenApeSurfervip
· 07-18 22:39
Cette vulnérabilité pourrie a été traînée jusqu'en 2025.
Voir l'originalRépondre0
SlowLearnerWangvip
· 07-18 22:39
Il s'avère que Bitcoin peut aussi traverser le temps et l'espace.
Voir l'originalRépondre0
AirdropSweaterFanvip
· 07-18 22:32
Encore un discours habituel. Quand cela sera-t-il terminé ?
Voir l'originalRépondre0
SnapshotStrikervip
· 07-18 22:29
Vous avez encore découvert un nouveau bug ? Ça va être amusant quand ça explosera.
Voir l'originalRépondre0
RugResistantvip
· 07-18 22:18
finalement, quelqu'un a repéré cette faille critique. je l'analyse depuis des mois... les devs dorment dessus pour être honnête.
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)