Bitcoin : Analyse de l'attaque par distorsion temporelle
En mars 2025, un développeur Bitcoin a proposé une proposition de soft fork intitulée "Nettoyage du Grand Consensus". Cette mise à niveau vise à corriger plusieurs vulnérabilités et faiblesses qui existent depuis longtemps dans le protocole Bitcoin, y compris le problème des transactions duplicables que nous avons discuté précédemment. Cet article se concentrera sur une autre vulnérabilité plus grave : l'"attaque par distorsion temporelle".
Mécanisme de protection des timestamps de blocs Bitcoin
Avant d'explorer en profondeur les attaques par distorsion temporelle, nous devons comprendre les règles actuelles de protection contre la manipulation du temps :
Règle du temps médian passé (MPT) : L'horodatage du bloc doit être postérieur au temps médian des onze blocs précédents.
Règles de temps de bloc à l'avenir : L'horodatage du bloc ne doit pas dépasser 2 heures au-delà du temps médian des pairs des nœuds. Une différence maximale de 90 minutes est autorisée entre le temps du nœud et l'horloge système locale.
Les règles MPT empêchent les horodatages des blocs d'être trop rétroactifs, tandis que les règles des blocs futurs empêchent les horodatages d'être trop avancés. Il est à noter qu'il n'est pas possible de limiter strictement les horodatages passés comme on le fait pour les horodatages futurs, car cela pourrait affecter le processus de synchronisation initial de la blockchain. Les attaques par distorsion temporelle sont précisément réalisées en falsifiant des horodatages rétroactifs.
Erreur minime dans l'algorithme d'ajustement de la difficulté
Le cycle d'ajustement de la difficulté du Bitcoin comprend 2016 blocs, avec un intervalle de bloc cible de 10 minutes, ce qui équivaut à environ deux semaines. 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. Cette fenêtre contient en réalité 2015 intervalles de blocs (2016 moins 1). Par conséquent, le temps cible pertinent utilisé théoriquement devrait être de 60 secondes × 10 minutes × 2015 intervalles = 1,209,000 secondes.
Cependant, le protocole Bitcoin utilise le chiffre 2016 pour calculer l'objectif. 60 secondes × 10 minutes × 2016 = 1 209 600 secondes. C'est une petite erreur de "un de trop", probablement causée par la confusion entre le nombre de blocs et le nombre d'intervalles entre les blocs.
Cette erreur a entraîné un temps cible supérieur de 0,05 % à ce qu'il devrait être. En d'autres termes, l'intervalle de bloc cible réel du Bitcoin n'est pas de 10 minutes, mais de 10 minutes et 0,3 seconde. Cette petite différence n'est pas significative dans la pratique, car depuis la création de Bitcoin, l'intervalle de bloc moyen est resté autour de 9 minutes 36 secondes, bien en dessous de 10 minutes. Cela est principalement dû à la croissance continue de la puissance de calcul du réseau depuis 2009.
Principe de l'attaque par distorsion temporelle
L'attaque par distorsion temporelle a été découverte pour la première fois vers 2011, exploitant cette petite erreur dans le calcul de la difficulté. Supposons que le minage soit complètement centralisé, les mineurs peuvent définir les horodatages comme bon leur semble dans les limites permises par le protocole. Dans cette attaque, les mineurs définissent l'horodatage de la plupart des blocs à seulement 1 seconde après le bloc précédent, ralentissant ainsi l'avancement temporel de la blockchain tout en respectant les règles MPT. Pour ralentir autant que possible la progression du temps, les mineurs peuvent maintenir le même horodatage pour six blocs consécutifs, puis ajouter 1 seconde au septième bloc, et ainsi de suite.
Cette opération entraînera un décalage progressif du temps de la blockchain par rapport au temps réel, tout en augmentant continuellement la difficulté, rendant le minage de plus en plus difficile. Cependant, pour renforcer l'effet de l'attaque, les mineurs régleront le timestamp du dernier bloc de chaque période d'ajustement de la difficulté à l'heure du monde réel. Le premier bloc de la période suivante sera alors réglé à un moment du passé, juste une seconde après l'avant-dernier bloc de la période précédente. Cette pratique est toujours conforme aux règles MPT, car une seule valeur aberrante n'affectera pas de manière significative la médiane des 11 blocs.
De cette manière, la difficulté après le premier cycle ne sera pas affectée. Mais à partir du deuxième cycle d'ajustement, la difficulté commencera à diminuer. À ce moment-là, les mineurs pourront créer des blocs à une vitesse extrêmement rapide, générant potentiellement une grande quantité de Bitcoin, ce qui pourrait leur permettre de réaliser des bénéfices en vendant ces jetons.
Analyse de faisabilité de l’attaque
Bien que cette attaque soit théoriquement dévastatrice, sa mise en œuvre est confrontée à de nombreux défis :
Il pourrait être nécessaire de contrôler la plupart de la puissance de calcul du réseau.
L'existence de mineurs honnêtes augmentera la difficulté des attaques.
Les règles MTP et les horodatages honnêtes peuvent limiter le degré de rétroaction des horodatages malveillants.
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.
Le processus d'attaque est visible par tous, ce qui pourrait donner suffisamment de temps pour lancer une correction d'urgence par soft fork.
Solutions potentielles
La correction de cette vulnérabilité est relativement simple, mais pourrait nécessiter des modifications du protocole de soft fork. Certaines solutions possibles incluent :
Modifier l'algorithme d'ajustement de la difficulté, calculer l'écart temporel entre les différentes fenêtres de 2016 blocs et corriger complètement l'erreur "différence d'un".
Annuler la règle MTP, exigeant que le timestamp de chaque bloc soit strictement croissant.
Définir de nouvelles règles de limite, exigeant que le temps du premier bloc du nouveau cycle de difficulté ne soit pas antérieur à un certain nombre de minutes du dernier bloc du cycle précédent (plage recommandée de 10 minutes à 2 heures).
Dans la dernière proposition de nettoyage du consensus, les développeurs ont tendance à adopter une limite de temps de 2 heures. Cette limite est d'environ 0,6 % de la durée cible du cycle d'ajustement de la difficulté, ce qui peut efficacement inhiber la capacité à manipuler la difficulté à la baisse.
Quelle que soit la solution adoptée, la correction de cette vulnérabilité renforcera davantage la sécurité et la stabilité du réseau Bitcoin, jetant ainsi des bases plus solides pour son développement à long terme.
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.
19 J'aime
Récompense
19
7
Reposter
Partager
Commentaire
0/400
MysteryBoxOpener
· 08-01 13:07
Il y a tant de failles ? Chaque jour.
Voir l'originalRépondre0
WhaleSurfer
· 07-31 23:38
Ils utilisent encore ces méthodes d'attaque sophistiquées.
Voir l'originalRépondre0
TokenTherapist
· 07-29 20:38
Encore en train de faire des choses, hein ?
Voir l'originalRépondre0
ZenZKPlayer
· 07-29 20:20
btc est-il vraiment sûr... ça me rend un peu nerveux après avoir lu ça.
Voir l'originalRépondre0
CryptoPunster
· 07-29 20:15
Cette attaque devient de plus en plus compliquée, même le temps commence à jouer des pièges.
Voir l'originalRépondre0
PositionPhobia
· 07-29 20:13
Beaucoup de théories, peu de mise en œuvre.
Voir l'originalRépondre0
GateUser-3824aa38
· 07-29 20:12
Beaucoup de théories, oserais-tu essayer de bouger le btc un peu?
Attaque par distorsion temporelle de Bitcoin : analyse des menaces potentielles et des solutions de réparation
Bitcoin : Analyse de l'attaque par distorsion temporelle
En mars 2025, un développeur Bitcoin a proposé une proposition de soft fork intitulée "Nettoyage du Grand Consensus". Cette mise à niveau vise à corriger plusieurs vulnérabilités et faiblesses qui existent depuis longtemps dans le protocole Bitcoin, y compris le problème des transactions duplicables que nous avons discuté précédemment. Cet article se concentrera sur une autre vulnérabilité plus grave : l'"attaque par distorsion temporelle".
Mécanisme de protection des timestamps de blocs Bitcoin
Avant d'explorer en profondeur les attaques par distorsion temporelle, nous devons comprendre les règles actuelles de protection contre la manipulation du temps :
Règle du temps médian passé (MPT) : L'horodatage du bloc doit être postérieur au temps médian des onze blocs précédents.
Règles de temps de bloc à l'avenir : L'horodatage du bloc ne doit pas dépasser 2 heures au-delà du temps médian des pairs des nœuds. Une différence maximale de 90 minutes est autorisée entre le temps du nœud et l'horloge système locale.
Les règles MPT empêchent les horodatages des blocs d'être trop rétroactifs, tandis que les règles des blocs futurs empêchent les horodatages d'être trop avancés. Il est à noter qu'il n'est pas possible de limiter strictement les horodatages passés comme on le fait pour les horodatages futurs, car cela pourrait affecter le processus de synchronisation initial de la blockchain. Les attaques par distorsion temporelle sont précisément réalisées en falsifiant des horodatages rétroactifs.
Erreur minime dans l'algorithme d'ajustement de la difficulté
Le cycle d'ajustement de la difficulté du Bitcoin comprend 2016 blocs, avec un intervalle de bloc cible de 10 minutes, ce qui équivaut à environ deux semaines. 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. Cette fenêtre contient en réalité 2015 intervalles de blocs (2016 moins 1). Par conséquent, le temps cible pertinent utilisé théoriquement devrait être de 60 secondes × 10 minutes × 2015 intervalles = 1,209,000 secondes.
Cependant, le protocole Bitcoin utilise le chiffre 2016 pour calculer l'objectif. 60 secondes × 10 minutes × 2016 = 1 209 600 secondes. C'est une petite erreur de "un de trop", probablement causée par la confusion entre le nombre de blocs et le nombre d'intervalles entre les blocs.
Cette erreur a entraîné un temps cible supérieur de 0,05 % à ce qu'il devrait être. En d'autres termes, l'intervalle de bloc cible réel du Bitcoin n'est pas de 10 minutes, mais de 10 minutes et 0,3 seconde. Cette petite différence n'est pas significative dans la pratique, car depuis la création de Bitcoin, l'intervalle de bloc moyen est resté autour de 9 minutes 36 secondes, bien en dessous de 10 minutes. Cela est principalement dû à la croissance continue de la puissance de calcul du réseau depuis 2009.
Principe de l'attaque par distorsion temporelle
L'attaque par distorsion temporelle a été découverte pour la première fois vers 2011, exploitant cette petite erreur dans le calcul de la difficulté. Supposons que le minage soit complètement centralisé, les mineurs peuvent définir les horodatages comme bon leur semble dans les limites permises par le protocole. Dans cette attaque, les mineurs définissent l'horodatage de la plupart des blocs à seulement 1 seconde après le bloc précédent, ralentissant ainsi l'avancement temporel de la blockchain tout en respectant les règles MPT. Pour ralentir autant que possible la progression du temps, les mineurs peuvent maintenir le même horodatage pour six blocs consécutifs, puis ajouter 1 seconde au septième bloc, et ainsi de suite.
Cette opération entraînera un décalage progressif du temps de la blockchain par rapport au temps réel, tout en augmentant continuellement la difficulté, rendant le minage de plus en plus difficile. Cependant, pour renforcer l'effet de l'attaque, les mineurs régleront le timestamp du dernier bloc de chaque période d'ajustement de la difficulté à l'heure du monde réel. Le premier bloc de la période suivante sera alors réglé à un moment du passé, juste une seconde après l'avant-dernier bloc de la période précédente. Cette pratique est toujours conforme aux règles MPT, car une seule valeur aberrante n'affectera pas de manière significative la médiane des 11 blocs.
De cette manière, la difficulté après le premier cycle ne sera pas affectée. Mais à partir du deuxième cycle d'ajustement, la difficulté commencera à diminuer. À ce moment-là, les mineurs pourront créer des blocs à une vitesse extrêmement rapide, générant potentiellement une grande quantité de Bitcoin, ce qui pourrait leur permettre de réaliser des bénéfices en vendant ces jetons.
Analyse de faisabilité de l’attaque
Bien que cette attaque soit théoriquement dévastatrice, sa mise en œuvre est confrontée à de nombreux défis :
Solutions potentielles
La correction de cette vulnérabilité est relativement simple, mais pourrait nécessiter des modifications du protocole de soft fork. Certaines solutions possibles incluent :
Dans la dernière proposition de nettoyage du consensus, les développeurs ont tendance à adopter une limite de temps de 2 heures. Cette limite est d'environ 0,6 % de la durée cible du cycle d'ajustement de la difficulté, ce qui peut efficacement inhiber la capacité à manipuler la difficulté à la baisse.
Quelle que soit la solution adoptée, la correction de cette vulnérabilité renforcera davantage la sécurité et la stabilité du réseau Bitcoin, jetant ainsi des bases plus solides pour son développement à long terme.