Aller au contenu principal
Lightning

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é :

  1. Chaque commitment a un script qui verrouille les fonds avec un délai (CSV de typiquement 144 blocs ou plus)
  2. 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

← Retour au glossaire complet

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