Aller au contenu principal
Attaque

Flood and Loot

L'attaque Flood and Loot inonde le mempool pour empêcher la diffusion de transactions de pénalité. Démontrée en 2020 par Harding & Riard. Mitigée par anchor outputs et CPFP. Risque réel mais contenu.

Origine

Flood and Loot est une famille d'attaques visant Lightning Network, démontrée en 2020 dans un papier de Jona Harding (Suredbits) et Antoine Riard. L'idée centrale : profiter d'une congestion volontaire du mempool Bitcoin pour empêcher la diffusion en temps voulu d'une transaction de pénalité Lightning, et voler ainsi des fonds.

Le mécanisme

Le scénario type implique un attaquant qui ouvre plusieurs canaux Lightning avec différentes victimes, puis exécute la séquence suivante :

  1. Établir des canaux avec n victimes différentes (généralement des wallets mobiles peu surveillés).
  2. Pousser les soldes : envoyer des paiements pour que chaque victime ait, à la fin, la majorité des fonds du canal.
  3. Publier un ancien état : l'attaquant diffuse une vieille transaction de commitment qui lui donne plus de fonds que ne le reflète l'état actuel.
  4. Inonder le mempool : simultanément, l'attaquant pousse une avalanche de transactions à fort fee rate, saturant la mempool.
  5. Empêcher les pénalités : les transactions de pénalité des victimes ne se propagent pas, car leur fee rate est trop bas comparé à la marée artificielle.
  6. Récupérer les fonds : après expiration du timelock, l'attaquant peut dépenser sa vieille transaction sans être puni.

Si l'opération réussit même partiellement, l'attaquant collecte des fonds frauduleusement chez chaque victime, d'où le « loot ».

Pourquoi c'est techniquement possible

Lightning repose sur la capacité de chaque partie à diffuser, en temps voulu, une transaction de pénalité on-chain en cas de fraude. Si le mempool est saturé pendant plusieurs heures voire plusieurs jours, certaines transactions de pénalité peuvent ne pas être minées avant l'expiration du timelock de la transaction frauduleuse. C'est cette fenêtre temporelle, élargie par la congestion, qui rend l'attaque viable.

Conditions de viabilité

| Élément | Effet | |---|---| | Nombreuses victimes simultanées | Le coût d'inondation est amorti | | Victimes négligeant la veille mempool | Pas de fee bumping réactif | | Mempool déjà tendu | Coût d'inondation moins élevé | | Timelock court (CSV faible) | Fenêtre d'attaque réduite | | Absence de watchtower | Pas de surveillance déléguée |

L'attaque a été démontrée fonctionnellement sur testnet mais n'a, à notre connaissance, jamais été exécutée à grande échelle sur mainnet. Le coût d'inondation est important et la fenêtre serrée.

Les mitigations actuelles

| Mitigation | Effet | |---|---| | Anchor outputs | Permettent CPFP même après signature | | Ephemeral anchors (BIP-431) | Version optimisée des anchors | | Watchtowers | Surveillance permanente déléguée | | Package relay | Diffusion atomique parent+enfant | | CLTV plus longs (à plusieurs jours) | Fenêtre élargie pour bumper | | Fee bumping agressif | Toujours pousser au fee rate top |

L'avènement de Eltoo (via BIP-118 ANYPREVOUT) éliminerait carrément la classe de problème en supprimant les transactions de pénalité au profit d'un schéma non-punitif.

Implications pour les utilisateurs

Pour un utilisateur lambda de Lightning :

  1. Activer un watchtower : Phoenix, Mutiny, Eclair Mobile l'intègrent.
  2. Ne pas garder trop dans un seul canal : diversifier limite l'impact.
  3. Utiliser des wallets supportant anchor outputs : la quasi-totalité en 2026.
  4. Surveiller la mempool pendant les périodes très congestionnées (Ordinals boom, etc.).

À retenir

Flood and Loot est une menace théorique sérieuse mais largement mitigée par les évolutions Lightning depuis 2020. Tant que Lightning utilise la pénalité, le risque résiduel existe. La transition vers Eltoo serait la résolution définitive. Voir transaction de pénalité et channel jamming.

Termes lies

← Retour au glossaire complet

Glossaire inspire du dictionnaire de Loic Morel sur Pandul.fr.