Vulnérabilité d'attaque par distorsion temporelle dans le protocole Bitcoin et solutions de réparation
Le 26 mars 2025, les développeurs de Bitcoin ont proposé une proposition de soft fork appelée "Nettoyage du Grand Consensus", destinée à corriger plusieurs vulnérabilités et faiblesses qui existent depuis longtemps dans le protocole Bitcoin. L'une des vulnérabilités importantes est connue sous le nom d'"attaque par distorsion temporelle", et cet article se concentrera sur ce problème.
Mécanisme de protection des horodatages de blocs Bitcoin
Avant d'explorer l'attaque par distorsion temporelle, nous devons comprendre les règles de protection contre la manipulation du temps dans le protocole Bitcoin actuel :
Temps médian passé ( MPT ) règle : l'horodatage du bloc doit être ultérieur au temps médian des 11 blocs précédents.
Règles de temps de bloc futures : L'horodatage du bloc ne peut pas être en avance de plus de 2 heures par rapport au temps médian des pairs des nœuds. En même temps, un écart maximal de 90 minutes est autorisé entre le temps fourni par le nœud et l'horloge système locale.
Ces règles visent à empêcher que les horodatages des blocs s'écartent trop du temps réel, mais elles ne peuvent pas complètement empêcher la survenue d'attaques par distorsion temporelle.
Vulnérabilités dans l'algorithme d'ajustement de la difficulté
Le cycle d'ajustement de la difficulté du Bitcoin comprend 2016 blocs, ce qui correspond théoriquement à environ deux semaines. Lors du calcul de l'ajustement de la difficulté d'extraction, le protocole calcule la différence de timestamp entre les blocs aux extrémités des deux fenêtres de 2016 blocs adjacents. Cependant, en raison d'une petite erreur de calcul, le temps cible réellement utilisé est supérieur de 600 secondes par rapport à la situation idéale. Cela entraîne un temps de blocage cible réel du Bitcoin de 10 minutes et 0,3 seconde, au lieu des 10 minutes attendues.
Bien que cette erreur de 0,3 seconde puisse sembler insignifiante, elle est associé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 deux fenêtres adjacentes. Cette méthode de calcul crée des possibilités pour des attaques par distorsion temporelle.
Principe de l'attaque par distorsion temporelle
L'attaque par distorsion temporelle exploite cette vulnérabilité dans le calcul de la difficulté. L'attaquant manipule les horodatages des blocs, de sorte que la blockchain avance dans le temps à une vitesse bien inférieure à la vitesse réelle qui s'écoule. Plus précisément :
La plupart des horodatages des blocs n'augmentent que d'une seconde par rapport au bloc précédent.
Le timestamp n'est augmenté que d'une seconde tous les six blocs, afin de respecter les règles MPT.
À la fin de chaque cycle d'ajustement de difficulté, utilisez le temps réel comme horodatage.
Le timestamp du premier bloc du nouveau cycle d'ajustement de difficulté est réglé pour être 1 seconde plus tôt que l'avant-dernier bloc du cycle précédent.
Cette opération fait que le temps de la blockchain accuse progressivement un retard sur le temps réel, ce qui entraîne une diminution constante de la difficulté, permettant aux attaquants de créer des blocs à une vitesse très rapide et d'obtenir une grande quantité de Bitcoin.
Faisabilité et limites de l'attaque
Bien que théoriquement une attaque par distorsion temporelle puisse avoir de graves conséquences, sa mise en œuvre présente de nombreux défis :
Il est nécessaire de contrôler la majorité de la puissance de calcul.
La présence de mineurs honnêtes augmente la difficulté des attaques.
Les règles MTP et les horodatages des mineurs honnêtes limiteront le degré de rétroaction des horodatages malveillants.
Le processus d'attaque peut être observé publiquement, ce qui peut déclencher une réparation d'urgence.
Solution
Pour corriger la vulnérabilité d'attaque par distorsion temporelle, les solutions suivantes ont été proposées :
Modifier l'algorithme d'ajustement de la difficulté, en utilisant la différence de temps entre le dernier bloc des deux fenêtres de 2016 blocs adjacents pour le calcul.
Annuler la règle MTP, exigeant que l'horodatage de chaque bloc soit supérieur à celui du bloc précédent.
Définir la limite de timestamp minimale pour le premier bloc du nouveau cycle de difficulté.
Parmi ceux-ci, la troisième option est considérée comme la plus simple et la plus efficace. La proposition actuelle suggère de fixer cette limite de temps à 2 heures, c'est-à-dire que le timestamp du premier bloc du nouveau cycle de difficulté ne peut pas être antérieur de plus de 2 heures à celui du dernier bloc du cycle précédent. Cette restriction peut efficacement prévenir les attaques de distorsion temporelle, tout en ayant un impact relativement faible sur le minage normal.
En mettant en œuvre ces mesures correctives, le réseau Bitcoin sera mieux en mesure de résister aux attaques de distorsion temporelle, améliorant ainsi la sécurité et la stabilité globales.
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.
10 J'aime
Récompense
10
5
Reposter
Partager
Commentaire
0/400
ser_ngmi
· Il y a 8h
Avec cette vitesse de correction des failles, les nœuds de validation dorment-ils tous ?
Voir l'originalRépondre0
ChainDetective
· Il y a 8h
Soft Fork rectification ? Donc, personne n'a remarqué qu'il avait été attaqué auparavant ?
Voir l'originalRépondre0
DegenWhisperer
· Il y a 8h
Un risque aussi grand ? Ça m'a vraiment fait peur.
Voir l'originalRépondre0
HashBard
· Il y a 8h
le temps n'est qu'une construction... les développeurs de btc patchent enfin la matrice fr fr
Voir l'originalRépondre0
SnapshotStriker
· Il y a 8h
Si vous parlez de tricher au Mining, qui ne sait pas faire ça ?
Analyse de la vulnérabilité de l'attaque par distorsion temporelle sur Bitcoin et proposition de solution de nettoyage du consensus.
Vulnérabilité d'attaque par distorsion temporelle dans le protocole Bitcoin et solutions de réparation
Le 26 mars 2025, les développeurs de Bitcoin ont proposé une proposition de soft fork appelée "Nettoyage du Grand Consensus", destinée à corriger plusieurs vulnérabilités et faiblesses qui existent depuis longtemps dans le protocole Bitcoin. L'une des vulnérabilités importantes est connue sous le nom d'"attaque par distorsion temporelle", et cet article se concentrera sur ce problème.
Mécanisme de protection des horodatages de blocs Bitcoin
Avant d'explorer l'attaque par distorsion temporelle, nous devons comprendre les règles de protection contre la manipulation du temps dans le protocole Bitcoin actuel :
Temps médian passé ( MPT ) règle : l'horodatage du bloc doit être ultérieur au temps médian des 11 blocs précédents.
Règles de temps de bloc futures : L'horodatage du bloc ne peut pas être en avance de plus de 2 heures par rapport au temps médian des pairs des nœuds. En même temps, un écart maximal de 90 minutes est autorisé entre le temps fourni par le nœud et l'horloge système locale.
Ces règles visent à empêcher que les horodatages des blocs s'écartent trop du temps réel, mais elles ne peuvent pas complètement empêcher la survenue d'attaques par distorsion temporelle.
Vulnérabilités dans l'algorithme d'ajustement de la difficulté
Le cycle d'ajustement de la difficulté du Bitcoin comprend 2016 blocs, ce qui correspond théoriquement à environ deux semaines. Lors du calcul de l'ajustement de la difficulté d'extraction, le protocole calcule la différence de timestamp entre les blocs aux extrémités des deux fenêtres de 2016 blocs adjacents. Cependant, en raison d'une petite erreur de calcul, le temps cible réellement utilisé est supérieur de 600 secondes par rapport à la situation idéale. Cela entraîne un temps de blocage cible réel du Bitcoin de 10 minutes et 0,3 seconde, au lieu des 10 minutes attendues.
Bien que cette erreur de 0,3 seconde puisse sembler insignifiante, elle est associé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 deux fenêtres adjacentes. Cette méthode de calcul crée des possibilités pour des attaques par distorsion temporelle.
Principe de l'attaque par distorsion temporelle
L'attaque par distorsion temporelle exploite cette vulnérabilité dans le calcul de la difficulté. L'attaquant manipule les horodatages des blocs, de sorte que la blockchain avance dans le temps à une vitesse bien inférieure à la vitesse réelle qui s'écoule. Plus précisément :
Cette opération fait que le temps de la blockchain accuse progressivement un retard sur le temps réel, ce qui entraîne une diminution constante de la difficulté, permettant aux attaquants de créer des blocs à une vitesse très rapide et d'obtenir une grande quantité de Bitcoin.
Faisabilité et limites de l'attaque
Bien que théoriquement une attaque par distorsion temporelle puisse avoir de graves conséquences, sa mise en œuvre présente de nombreux défis :
Solution
Pour corriger la vulnérabilité d'attaque par distorsion temporelle, les solutions suivantes ont été proposées :
Parmi ceux-ci, la troisième option est considérée comme la plus simple et la plus efficace. La proposition actuelle suggère de fixer cette limite de temps à 2 heures, c'est-à-dire que le timestamp du premier bloc du nouveau cycle de difficulté ne peut pas être antérieur de plus de 2 heures à celui du dernier bloc du cycle précédent. Cette restriction peut efficacement prévenir les attaques de distorsion temporelle, tout en ayant un impact relativement faible sur le minage normal.
En mettant en œuvre ces mesures correctives, le réseau Bitcoin sera mieux en mesure de résister aux attaques de distorsion temporelle, améliorant ainsi la sécurité et la stabilité globales.