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é.
Définition et origine
La transaction de pénalité (justice transaction, breach remedy transaction) est la sanction prévue par le protocole Lightning contre un pair qui publie on-chain un état révoqué. Décrite dans BOLT-3, elle constitue la pierre angulaire du modèle de sécurité actuel de Lightning : pas de juge, pas de contrat papier, juste une math punition automatique.
Comment ça fonctionne
À chaque mise à jour de l'état du canal, Alice et Bob s'échangent leurs revocation secrets concernant l'état précédent. Ce secret, combiné à une clé publique pré-engagée, permet à chacun de dériver une clé de révocation capable de dépenser n'importe quel output de l'ancien commitment de l'autre.
Si Bob diffuse un ancien état :
- Alice (ou sa watchtower) le détecte dans le mempool ou la chaîne
- Pendant le
to_self_delay(typiquement 144-2016 blocs), Alice agit - Alice construit la transaction de pénalité, consomme TOUS les outputs du commitment de Bob
- Alice envoie le total vers son adresse (parfois moins de petits HTLCs négligeables)
- Si la pénalité est minée avant l'expiration du CSV, Bob perd tout
Cas d'usage
| Scénario | Probabilité | |---|---| | Bob attaque délibérément | Rare, dissuasion économique | | Bob restaure une vieille sauvegarde par erreur | Cause #1 de pénalités vues IRL | | Bug logiciel d'un fork de wallet | Quelques cas historiques |
C'est pour cette raison que les bonnes pratiques imposent : ne jamais restaurer un nœud LND/CLN avec un chanbackup sans fermer manuellement, ne jamais cloner un wallet Lightning sur deux machines.
Limites
| Sujet | Détail | |---|---| | Nécessite d'être en ligne | D'où les watchtowers | | Transaction pinning | Peut bloquer la pénalité | | Complexité | Code Lightning très sensible | | Eltoo | Remplacement potentiel par soft fork |
À retenir
La transaction de pénalité fait que tricher sur Lightning ne paie pas : on perd potentiellement plusieurs millions de sats. C'est une garantie cryptographique sans équivalent dans la finance traditionnelle. Le futur protocole eltoo simplifierait ce mécanisme par un état le plus récent gagne, plus tolérant aux erreurs humaines.
Termes lies
- 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é.
- 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.
- Clé de révocationLa clé de révocation est le secret partagé après chaque mise à jour qui invalide rétroactivement un état. Sa connaissance permet à l'autre partie de saisir les fonds. Outil cryptographique central des canaux LN-Penalty. Remplacée par les state numbers dans eltoo.
- EltooEltoo est une proposition d'évolution Lightning supprimant les transactions de pénalité au profit de simples mises à jour numérotées. Plus simple, moins risqué, mais nécessite ANYPREVOUT (BIP-118). Promesse pour la prochaine génération de canaux.
Glossaire inspire du dictionnaire de Loic Morel sur Pandul.fr.