Channel breach
Un 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.
Principe d'un canal Lightning
Un canal Lightning est ancré on-chain par une UTXO multisig 2-de-2. Les deux parties détiennent chacune une transaction de fermeture (commitment transaction) reflétant l'état courant des balances. À chaque paiement, un nouvel état est créé, et l'ancien est invalidé via une clé de révocation échangée entre les pairs.
Qu'est-ce qu'un channel breach
Un channel breach (rupture frauduleuse de canal) survient quand l'une des parties tente de publier un état périmé, c'est-à-dire un commitment où sa balance était supérieure à la balance actuelle. Exemple : Alice et Bob ont un canal. Alice avait 100 % au début. Elle a payé 70 % à Bob. Si Alice publie l'ancien commitment où elle avait 100 %, elle tente de voler les 70 % qu'elle a déjà donnés.
Mécanisme de pénalité (LN-Penalty)
Le protocole BOLT-3 protège contre ce vol via la transaction de pénalité :
- Chaque commitment a un script qui verrouille les fonds avec un délai (CSV de typiquement 144 blocs ou plus)
- Pendant ce délai, la contrepartie qui détient la clé de révocation peut publier une « justice transaction » qui prend TOUT le canal — y compris la part du tricheur
Le tricheur perd donc 100 % de son solde, pas seulement le surplus tenté. C'est une dissuasion économique extrêmement puissante.
Cas concret
| Étape | Balance Alice | Balance Bob | Action | |-------|--------------|------------|--------| | Ouverture | 1 BTC | 0 | — | | Paiement 1 | 0,7 BTC | 0,3 BTC | Alice envoie 0,3 BTC | | Paiement 2 | 0,3 BTC | 0,7 BTC | Alice envoie encore 0,4 BTC | | Tentative de fraude | (Alice publie commitment 1) | — | Alice essaie de récupérer 0,7 BTC | | Justice tx | 0 | 1 BTC | Bob prend tout le canal |
Rôle des watchtowers
La justice tx doit être publiée dans la fenêtre CSV (souvent 144 à 2016 blocs). Si l'utilisateur est offline pendant cette période, il peut rater la fraude. C'est là qu'interviennent les watchtowers : services qui surveillent la chaîne pour le compte d'un utilisateur, et publient la justice tx s'ils détectent un breach. Le protocole BOLT-13 spécifie un standard, et plusieurs implémentations existent (LND, CLN, Eye of Satoshi).
Limites
- Le breach reste un risque réel si le pair adverse coupe net et que la victime n'a aucun watchtower
- Les channel reserves limitent (mais ne suppriment pas) le risque
- Le modèle eltoo, proposé par Christian Decker, supprime la nécessité des transactions de pénalité au profit de state numbers — mais demande un soft fork SIGHASH_NOINPUT/ANYPREVOUT
À retenir
Un channel breach est techniquement possible mais économiquement suicidaire : le tricheur perd 100 % du canal. L'utilisateur prudent active un watchtower (ou son nœud reste online 24/7) pour ne jamais laisser une attaque réussir par défaut d'observation.
Termes lies
- Transaction de pénalitéUne transaction de pénalité permet à un nœud honnête de saisir tous les fonds d'un canal si son partenaire publie un état périmé. Activée par la révocation key. Mécanisme dissuasif central de Lightning. Sera remplacée plus simplement par eltoo si activé.
- WatchtowerUne watchtower est un service tiers qui surveille les canaux Lightning et publie une transaction de pénalité en cas de tricherie. Indispensable pour les nœuds éteints fréquemment. CLN, LND et Eye of Satoshi en proposent. Compromis entre confidentialité et sécurité.
- Force closeUne force close est une clôture unilatérale d'un canal, déclenchée quand un partenaire est offline ou non coopératif. Utilise la dernière transaction d'engagement. Coûts on-chain et délais CSV plus élevés. À éviter quand possible.
Glossaire inspire du dictionnaire de Loic Morel sur Pandul.fr.