Bitcoin : la faille de distorsion temporelle : une menace de sécurité potentielle
À la fin mars 2025, 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. Cette proposition, appelée "Nettoyage du grand consensus", concerne non seulement le problème des transactions en double que nous avons discuté précédemment, mais aussi une menace pour la sécurité beaucoup plus grave : l'"attaque par distorsion temporelle".
Mécanisme de protection des horodatages de Bitcoin
Le réseau Bitcoin adopte actuellement deux règles principales pour empêcher la manipulation des horodatages :
Règle du temps médian passé (MPT) : L'horodatage du nouveau bloc doit être postérieur à la médiane des horodatages des 11 blocs précédents.
Règles de temps de bloc à venir : L'horodatage du bloc ne doit pas dépasser 2 heures de plus que le temps médian des nœuds du réseau. La différence maximale autorisée entre le temps du nœud et le temps système local est de 90 minutes.
Ces règles visent à empêcher les horodatages des blocs de s'écarter trop de l'heure réelle. Cependant, les mécanismes existants ne sont pas suffisants pour empêcher complètement la manipulation des horodatages vers le passé, car cela pourrait affecter le processus de synchronisation initial de la blockchain.
La petite erreur de Satoshi Nakamoto
Le cycle d'ajustement de la difficulté du Bitcoin est de 2016 blocs, ce qui correspond théoriquement à environ deux semaines. Lors du calcul de l'ajustement de la difficulté, le protocole compare la différence de timestamp entre le premier et le dernier bloc de la fenêtre de 2016 blocs. Cependant, ces 2016 blocs contiennent en réalité un intervalle de 2015 blocs. Par conséquent, le temps cible correct devrait être de 60 secondes × 10 minutes × 2015 = 1 209 000 secondes. Mais le protocole Bitcoin utilise ce chiffre de 2016, ce qui entraîne un résultat de 1 209 600 secondes.
Cette erreur de 0,05 % signifie que le temps de blocage cible réel du Bitcoin est de 10 minutes et 0,3 seconde, et non de 10 minutes précises. Bien que cette erreur semble insignifiante, elle est liée à un autre problème plus grave.
Principe de l'attaque par distorsion temporelle
L'attaque par distorsion temporelle exploite une vulnérabilité dans le calcul de la difficulté de Bitcoin. Dans ce type d'attaque, des mineurs malveillants peuvent influencer la difficulté du réseau en manipulant les horodatages des blocs. Les attaquants définissent les horodatages de la plupart des blocs pour qu'ils ne soient qu'une seconde plus tard que le bloc précédent, tout en respectant les règles MPT. Dans le dernier bloc de chaque période d'ajustement de difficulté, l'horodatage est défini sur l'heure réelle.
Cette opération peut entraîner un retard progressif de l'heure de la blockchain par rapport à l'heure réelle, ce qui affecte le calcul de la difficulté. Après plusieurs cycles d'attaque, la difficulté du réseau diminuera considérablement, permettant aux attaquants de créer des blocs à une vitesse extrêmement rapide et d'obtenir une grande quantité de Bitcoin.
Faisabilité réelle de l'attaque
Bien que cette attaque puisse théoriquement avoir de graves conséquences, sa mise en œuvre réelle fait face à de nombreux défis :
Il est nécessaire de contrôler la majorité de la puissance de calcul du réseau.
La présence de mineurs honnêtes augmentera la difficulté d'attaque.
Les règles MTP et les horodatages honnêtes limiteront l'espace pour les opérations malveillantes.
Le processus d'attaque est visible publiquement et peut déclencher une correction d'urgence.
Solution
Pour corriger cette vulnérabilité, les développeurs ont proposé plusieurs solutions :
Correction complète de l'algorithme d'ajustement de la difficulté, mais cela peut nécessiter un hard fork.
Annuler la règle MTP, exigeant que le temps de chaque bloc doit avancer, mais cela pourrait soulever de nouveaux problèmes.
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 à un moment spécifique du dernier bloc du cycle précédent.
Actuellement, la proposition de nettoyage du grand consensus suggère d'adopter une limite de temps de 2 heures. Cette solution peut à la fois prévenir efficacement les attaques par déformation du temps et minimiser le risque de génération accidentelle de blocs invalides.
En mettant en œuvre ces améliorations, le réseau Bitcoin sera mieux en mesure de résister aux attaques potentielles de manipulation du temps, renforçant ainsi sa sécurité et sa stabilité.
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.
Sécurité des protocoles Bitcoin : attaques par distorsion temporelle et solutions de réparation
Bitcoin : la faille de distorsion temporelle : une menace de sécurité potentielle
À la fin mars 2025, 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. Cette proposition, appelée "Nettoyage du grand consensus", concerne non seulement le problème des transactions en double que nous avons discuté précédemment, mais aussi une menace pour la sécurité beaucoup plus grave : l'"attaque par distorsion temporelle".
Mécanisme de protection des horodatages de Bitcoin
Le réseau Bitcoin adopte actuellement deux règles principales pour empêcher la manipulation des horodatages :
Règle du temps médian passé (MPT) : L'horodatage du nouveau bloc doit être postérieur à la médiane des horodatages des 11 blocs précédents.
Règles de temps de bloc à venir : L'horodatage du bloc ne doit pas dépasser 2 heures de plus que le temps médian des nœuds du réseau. La différence maximale autorisée entre le temps du nœud et le temps système local est de 90 minutes.
Ces règles visent à empêcher les horodatages des blocs de s'écarter trop de l'heure réelle. Cependant, les mécanismes existants ne sont pas suffisants pour empêcher complètement la manipulation des horodatages vers le passé, car cela pourrait affecter le processus de synchronisation initial de la blockchain.
La petite erreur de Satoshi Nakamoto
Le cycle d'ajustement de la difficulté du Bitcoin est de 2016 blocs, ce qui correspond théoriquement à environ deux semaines. Lors du calcul de l'ajustement de la difficulté, le protocole compare la différence de timestamp entre le premier et le dernier bloc de la fenêtre de 2016 blocs. Cependant, ces 2016 blocs contiennent en réalité un intervalle de 2015 blocs. Par conséquent, le temps cible correct devrait être de 60 secondes × 10 minutes × 2015 = 1 209 000 secondes. Mais le protocole Bitcoin utilise ce chiffre de 2016, ce qui entraîne un résultat de 1 209 600 secondes.
Cette erreur de 0,05 % signifie que le temps de blocage cible réel du Bitcoin est de 10 minutes et 0,3 seconde, et non de 10 minutes précises. Bien que cette erreur semble insignifiante, elle est liée à un autre problème plus grave.
Principe de l'attaque par distorsion temporelle
L'attaque par distorsion temporelle exploite une vulnérabilité dans le calcul de la difficulté de Bitcoin. Dans ce type d'attaque, des mineurs malveillants peuvent influencer la difficulté du réseau en manipulant les horodatages des blocs. Les attaquants définissent les horodatages de la plupart des blocs pour qu'ils ne soient qu'une seconde plus tard que le bloc précédent, tout en respectant les règles MPT. Dans le dernier bloc de chaque période d'ajustement de difficulté, l'horodatage est défini sur l'heure réelle.
Cette opération peut entraîner un retard progressif de l'heure de la blockchain par rapport à l'heure réelle, ce qui affecte le calcul de la difficulté. Après plusieurs cycles d'attaque, la difficulté du réseau diminuera considérablement, permettant aux attaquants de créer des blocs à une vitesse extrêmement rapide et d'obtenir une grande quantité de Bitcoin.
Faisabilité réelle de l'attaque
Bien que cette attaque puisse théoriquement avoir de graves conséquences, sa mise en œuvre réelle fait face à de nombreux défis :
Solution
Pour corriger cette vulnérabilité, les développeurs ont proposé plusieurs solutions :
Actuellement, la proposition de nettoyage du grand consensus suggère d'adopter une limite de temps de 2 heures. Cette solution peut à la fois prévenir efficacement les attaques par déformation du temps et minimiser le risque de génération accidentelle de blocs invalides.
En mettant en œuvre ces améliorations, le réseau Bitcoin sera mieux en mesure de résister aux attaques potentielles de manipulation du temps, renforçant ainsi sa sécurité et sa stabilité.