Aller au contenu principal
Lightning

Transaction d'engagement

Une transaction d'engagement représente l'état actuel du canal entre les deux parties. Mise à jour à chaque paiement. En cas de force close, c'est elle qui est diffusée. Sécurisée par les revocation keys.

Définition et origine

La transaction d'engagement (commitment transaction) est l'artefact central d'un canal Lightning. Spécifiée par BOLT-3, elle représente cryptographiquement l'état courant du canal : combien chacune des deux parties pourrait récupérer si le canal était fermé maintenant.

Comment ça fonctionne

Une transaction d'engagement consomme l'output 2-of-2 de la transaction de financement et crée typiquement 4 outputs :

| Output | Destinataire | Délai | |---|---|---| | to_local | Le local soi-même | to_self_delay (CSV) | | to_remote | Le pair distant | Immédiat | | to_local_anchor | CPFP local (anchor) | Anyone-can-spend après 16 blocs | | to_remote_anchor | CPFP remote (anchor) | Idem | | HTLC outputs | Paiements en cours | HTLC-success / HTLC-timeout |

Chaque partenaire détient sa propre version de la transaction. Quand l'état change (nouveau paiement), une nouvelle paire est signée et l'ancienne est révoquée via l'échange des revocation secrets.

Mécanisme de pénalité

Si Alice diffuse une vieille transaction d'engagement (état périmé) pour voler Bob :

  1. Bob détecte la publication on-chain (ou sa watchtower le fait)
  2. Bob utilise le revocation secret qu'Alice lui a donné
  3. Bob publie une transaction de pénalité qui rafle tous les fonds du canal
  4. Alice perd absolument tout

C'est cette dissuasion économique qui sécurise Lightning sans recours à un tribunal.

Cas d'usage

  • Force close : un des deux pairs publie unilatéralement
  • Cooperative close : les deux signent une closing transaction simple (préférable)
  • Stuck channel : recourir au force close après timeout

Limites

| Sujet | Détail | |---|---| | Lourdeur on-chain | 4-6 outputs, frais élevés | | Pinning | Possible via HTLCs malveillants | | Eltoo | Remplacerait par un mécanisme plus simple |

À retenir

La transaction d'engagement est le coeur du modèle de sécurité Lightning : asymétrique (chaque partenaire a sa version), révocable (via les revocation keys), publiable on-chain à tout moment. Comprendre son fonctionnement est essentiel pour saisir pourquoi Lightning fonctionne sans confiance entre pairs.

Termes lies

← Retour au glossaire complet

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