Time-dilation attack
La time-dilation attack en Lightning manipule la perception du temps d'une victime pour la pousser à publier un état périmé. Sujet de recherche.
Définition et origine
La time-dilation attack est un vecteur d'attaque contre les nœuds Lightning légers (SPV ou Neutrino), décrit en 2020 par Antoine Riard et Gleb Naumenko dans un papier de recherche resté influent. L'idée : isoler une victime du vrai réseau Bitcoin et lui faire croire que le temps avance plus lentement qu'en réalité.
Comment ça fonctionne
L'attaquant doit d'abord réussir une attaque eclipse (compromettre toutes les connexions P2P de la victime). Une fois isolée, la victime ne reçoit plus que les blocs filtrés par l'attaquant. Celui-ci lui transmet les blocs avec un retard volontaire de plusieurs heures.
Conséquence sur Lightning :
- Les CSV/CLTV expirent en temps réel
- Mais la victime ne s'en rend pas compte (son horloge blockchain est en retard)
- L'attaquant peut alors publier on-chain un état périmé du canal
- La victime n'a pas le temps de contester via une transaction de pénalité car ses délais semblent encore valides
- Quand elle reçoit enfin les vrais blocs, il est trop tard
Cas d'usage défensif
| Mitigation | Effet |
|---|---|
| Nœud complet | Pas SPV, donc voit la chaîne réelle |
| Watchtowers indépendantes | Surveillent à votre place |
| Anchor outputs + CPFP | Plus de souplesse de timing |
| to_self_delay long (~2 semaines) | Marge en cas de retard détecté |
Limites de l'attaque
L'attaque exige un eclipse réussi (déjà coûteux) et un timing précis. Elle ne fonctionne que contre des wallets SPV/Neutrino qui font confiance aux pairs pour la chaîne. Un nœud connecté en plus à un Electrum personnel ou à mempool.space casse souvent l'illusion.
À retenir
La time-dilation attack reste théorique : aucun cas documenté d'exploitation réussie en 2026. Mais elle motive les bonnes pratiques : utiliser un nœud complet pour Lightning quand c'est possible, déployer des watchtowers, allonger les délais de revocation pour les gros montants.
Termes lies
- Lightning NetworkLe Lightning Network est une solution de seconde couche construite sur Bitcoin permettant des paiements instantanes et quasi-gratuits. Il fonctionne via des canaux de paiement entre utilisateurs, avec un reglement final sur la blockchain principale. Ideal pour les micropaiements et les transactions quotidiennes.
- Channel breachUn channel breach est la tentative d'un nœud de publier un état périmé pour voler des fonds. Mitigée par les transactions de pénalité (et les watchtowers). Aboutit toujours à la perte du canal pour le tricheur.
Glossaire inspire du dictionnaire de Loic Morel sur Pandul.fr.