Discussion sur l'analyse et la solution de la vulnérabilité de déformation temporelle du protocole Bitcoin.

robot
Création du résumé en cours

Bitcoin protocole: analyse approfondie de l'attaque par déformation du temps

Aperçu

Récemment, la communauté de développement de Bitcoin a proposé une nouvelle proposition de soft fork, visant à corriger plusieurs vulnérabilités et faiblesses qui existent depuis longtemps dans le protocole Bitcoin. L'une des vulnérabilités les plus graves est appelée "attaque par distorsion du temps", qui est précisément le sujet que cet article va explorer en profondeur.

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

Mécanisme de protection de l'horodatage des blocs Bitcoin

Avant de discuter des attaques par distorsion temporelle, nous devons comprendre les mécanismes de protection contre la manipulation du temps dans le protocole Bitcoin actuel :

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

  2. Règles de temps de bloc futur : L'horodatage du bloc ne peut pas être en avance de plus de 2 heures par rapport à la médiane du temps des nœuds du réseau. De plus, l'écart maximum autorisé entre le temps des nœuds 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 blocs futurs limitent les horodatages à ne pas être trop avancés. Il convient de noter qu'il n'est pas possible de mettre en œuvre un mécanisme similaire aux règles des blocs futurs pour empêcher complètement les horodatages passés, car cela pourrait affecter le processus de synchronisation initial de la blockchain.

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

L'erreur "un de moins" de Satoshi Nakamoto

Le cycle d'ajustement de la difficulté de Bitcoin comprend 2016 blocs, ce qui représente environ deux semaines avec un temps de génération de blocs 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 dans la fenêtre de 2016 blocs correspondante.

Cependant, Satoshi Nakamoto a commis une petite mais notable erreur dans le code source original. Il a utilisé 2016 au lieu de 2015 pour calculer le temps cible, ce qui a entraîné un temps cible 0,05 % plus long que ce qu'il aurait dû être. Cela signifie que l'intervalle de bloc cible réel de Bitcoin est de 10 minutes et 0,3 seconde, et non pas de 10 minutes précises.

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 des possibilités pour des attaques de distorsion temporelle.

Principe de l'attaque par distorsion temporelle

L'attaque par distorsion du temps exploite une erreur de Satoshi Nakamoto dans le calcul de la difficulté. Dans cette attaque, des mineurs malveillants manipulent les horodatages des blocs pour influencer l'ajustement de la difficulté. Les étapes de l'attaque sont les suivantes :

  1. Pour la plupart des blocs, les mineurs définissent l'horodatage à une seconde avant le bloc précédent.

  2. Pour minimiser la progression du temps, les mineurs peuvent maintenir le même horodatage pendant 6 blocs consécutifs, puis augmenter le temps de 1 seconde dans le bloc suivant.

  3. À la fin de chaque période d'ajustement de difficulté, les mineurs définissent le horodatage sur l'heure du monde réel.

  4. L'horodatage du premier bloc de la prochaine fenêtre d'ajustement de la difficulté a été remis dans le passé, seulement 1 seconde avant l'avant-dernier bloc de la fenêtre précédente.

Ce mode d'attaque entraîne un décalage croissant entre le temps de la blockchain et le temps réel, tandis que la difficulté continue d'augmenter. Cependant, à partir du deuxième cycle d'ajustement, la difficulté commencera à s'ajuster vers le bas. Cela permet aux mineurs de produire un grand nombre de blocs en peu de temps, créant potentiellement des Bitcoin au-delà de la vitesse d'émission normale.

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

Faisabilité et défis de l'attaque

Bien que cette attaque soit théoriquement destructrice, sa mise en œuvre réelle fait face à certains défis :

  1. Il est nécessaire de contrôler la majorité de la puissance de calcul du réseau.

  2. La présence de mineurs honnêtes augmentera la difficulté des attaques.

  3. Si un mineur honnête produit le premier bloc de n'importe quelle fenêtre d'ajustement de difficulté, l'attaque de ce cycle échouera.

  4. Le processus d'attaque est visible publiquement et peut déclencher une réparation d'urgence par fork léger.

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

Solutions

Il existe plusieurs façons de corriger cette vulnérabilité :

  1. Modifier l'algorithme d'ajustement de la difficulté, calculer l'écart de temps entre différentes fenêtres de blocs de 2016.

  2. Annuler la règle MPT, exigeant que le timestamp de chaque bloc augmente strictement.

  3. Définir de nouvelles règles de limitation : Le temps du premier bloc du nouveau cycle de difficulté ne doit pas être antérieur à un nombre de minutes spécifique du dernier bloc du cycle précédent (, comme 2 heures ).

Actuellement, les développeurs ont tendance à adopter une troisième solution, en fixant la limite de temps à 2 heures. Cette solution permet à la fois de réduire efficacement les attaques par distorsion temporelle et de minimiser le risque de génération accidentelle de blocs invalides.

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

Conclusion

L'attaque par distorsion temporelle révèle une vulnérabilité potentielle dans le protocole Bitcoin. Bien que la mise en œuvre de cette attaque présente de nombreux défis dans la réalité, elle nous rappelle la nécessité d'examiner et d'améliorer constamment l'infrastructure de la technologie blockchain. Grâce à la solution de correction par soft fork proposée, la communauté Bitcoin s'attaque activement à cette menace potentielle, renforçant ainsi la sécurité et la stabilité du réseau.

BTC-0.41%
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
SocialAnxietyStakervip
· Il y a 4h
Il vaut la peine d'explorer la réparation des vulnérabilités.
Voir l'originalRépondre0
ser_we_are_ngmivip
· Il y a 9h
BTC peut aussi être attaqué.
Voir l'originalRépondre0
GateUser-1a2ed0b9vip
· Il y a 9h
La vulnérabilité clé est vraiment épineuse
Voir l'originalRépondre0
InscriptionGrillervip
· Il y a 9h
Ce n'est pas mieux même après avoir changé.
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)