Channel jamming
Le channel jamming est l'attaque consistant à saturer les canaux Lightning par de faux HTLC. Vulnérabilité connue mais coûteuse à exécuter. Mitigée par HTLC endorsement et Anti-DoS reputation. Sujet de recherche actif.
Comprendre l'attaque
Chaque canal Lightning peut héberger un nombre limité de HTLC (Hashed Time-Locked Contracts) en cours simultanément (souvent 483, plafond BOLT). Chaque HTLC réserve aussi une portion de capacité. Le channel jamming consiste à envoyer délibérément des paiements bloqués (« stuck HTLC ») qui occupent ces slots ou cette capacité, empêchant les autres paiements légitimes de passer.
Deux variantes principales
| Type | Mécanisme | Cible | |------|-----------|-------| | Slot jamming | Saturer le nombre de HTLC concurrents | Canaux à faible capacité ou plafonds bas | | Liquidity jamming | Saturer la capacité disponible | Canaux à forte capacité | | Slow jamming | Maintenir le blocage longtemps | DoS prolongé | | Fast jamming | Cycle court de blocage | Plus dur à détecter mais moins efficace |
L'attaquant construit une route en cycle qui revient à lui : il bloque l'HTLC sans révéler le préimage, et le rejette juste avant l'expiration pour récupérer ses fonds.
Coût pour l'attaquant
C'est l'aspect surprenant du channel jamming : il ne coûte rien en frais si l'attaquant rejette correctement les HTLC avant expiration. C'est une attaque dite « griefing » — l'attaquant ne gagne pas d'argent, mais l'attaqué en perd (frais d'opération, fonds bloqués, paiements ratés). Le coût réel pour l'attaquant : capital immobilisé pendant la durée de l'attaque, et risque mineur de timeout accidentel.
Mitigations proposées
| Solution | Statut | |----------|--------| | HTLC endorsement (Carla Kirk-Cohen, Clara Shikhelman) | Spec en discussion | | Anti-DoS reputation | Recherches actives 2024-2025 | | Upfront fees | Proposé, débats sur l'UX | | Hold invoice limits | Mitigations partielles côté nœud | | Dynamic HTLC limits | LND 0.18+ |
L'HTLC endorsement, parfois appelé « reputation tokens », attribue un score de confiance à chaque expéditeur basé sur l'historique. Les expéditeurs sans réputation sont rate-limited, ce qui limite les attaques massives sans bloquer les utilisateurs honnêtes.
Démonstrations académiques
Plusieurs papiers ont chiffré l'impact : Mizrahi & Zohar (2020) montrent qu'avec un capital modeste, un attaquant peut bloquer une partie significative du réseau Lightning. Des chercheurs comme Antoine Riard, Clara Shikhelman ou Carla Kirk-Cohen ont publié des analyses détaillées et des contre-mesures depuis 2022.
Pourquoi c'est rare en pratique
Malgré sa faisabilité, le channel jamming n'a pas généré d'épidémies publiques. Raisons probables :
- Capital immobilisé : un attaquant sérieux doit verrouiller plusieurs BTC
- Risque de slashing accidentel si un HTLC expire
- Pas de gain financier direct
- Détection facilitée par observation graph
C'est une menace latente, surtout pertinente pour les nœuds routiers très ciblés (marchands, exchanges).
À retenir
Le channel jamming est une vulnérabilité structurelle connue de Lightning, sans solution parfaite à ce jour. Les améliorations protocolaires (HTLC endorsement) progressent. Les opérateurs de gros nœuds doivent surveiller leur ratio de HTLC échoués et leur consommation de slots pour détecter une attaque en cours.
Termes lies
- HTLC endorsementHTLC endorsement (proposition Bastien Teinturier) introduit une réputation entre nœuds pour limiter le jamming. Les paiements sont marqués selon la fiabilité de leur émetteur. Encore en spec.
- 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.
- Griefing attackUne griefing attack est un acte malveillant qui ne profite pas à l'attaquant mais nuit à la victime. En Lightning : bloquer des HTLC pour gel temporaire de fonds. Mitigée par holding times et timeouts.
Glossaire inspire du dictionnaire de Loic Morel sur Pandul.fr.