Blockchain/Niveau V · Couches/5.1 Lightning/Leçon 1
Canaux de paiement
Deux signatures, des milliers de paiements : la mécanique du règlement hors chaîne
MatérielUn explorateur de blocs capable d’afficher les entrées multisig (par exemple, mempool.space)Le document de spécifications BOLT #2Un outil graphique pour visualiser la structure des transactions de financement et d’engagement
Curiosité
- Comment deux parties peuvent-elles effectuer des milliers de paiements instantanés en ne soumettant que deux transactions à la chaîne de blocs Bitcoin ?
- Quel mécanisme empêche un participant de diffuser une transaction d’engagement plus ancienne qui favorise son solde ?
- Pourquoi les premiers canaux de paiement, décrits par Jeremy Spilman en 2013, étaient-ils uniquement unidirectionnels ?
Explorer
- La couche de base de Bitcoin règle les transactions à intervalles d’environ dix minutes, ce qui crée des contraintes de latence et de frais pour les micropaiements à haute fréquence. Les canaux de paiement déplacent hors chaîne la charge de calcul des mises à jour d’état, ce qui permet aux participants d’échanger indéfiniment des états de solde signés sans propagation sur le réseau. La blockchain sert uniquement de couche de règlement et ne vérifie que les événements de financement initial et de clôture finale.
- Le canal commence par une transaction de financement : une sortie multisig 2-sur-2 qui verrouille des fonds contrôlés à la fois par Alice et par Bob. Si chacun apporte 1 BTC, la capacité du canal est de 2 BTC. Aucune des parties ne peut dépenser unilatéralement ces fonds sans la signature de l’autre. Cette structure lie les participants au sein d’un compte commun qui n’existe que sous la forme d’une créance potentielle sur la chaîne principale.
- En cours de fonctionnement, Alice et Bob échangent des transactions d’engagement qui représentent de nouvelles répartitions du solde. Chaque mise à jour remplace l’état précédent ; si Alice envoie 0,1 BTC à Bob, ils signent une nouvelle transaction qui transfère des fonds de la sortie d’Alice vers celle de Bob. Ces transactions signées mais non diffusées sont des transactions Bitcoin valides, ce qui garantit que tout état final peut être imposé on-chain sans dépendre de la confiance envers la contrepartie.
- Il faut également empêcher chaque partie de diffuser un état obsolète qui lui attribuait davantage. Lightning y parvient grâce à des secrets de révocation et à des verrous temporels (timelocks), abordés dans une leçon ultérieure ; en bref, publier un état révoqué permet à l’autre partie de s’emparer de la totalité du solde du canal, ce qui fait de la tricherie un pari perdant.
- La clôture s’effectue soit de manière coopérative, soit de manière unilatérale. Lors d’une clôture coopérative, les deux parties signent une transaction de règlement qui verse immédiatement leurs soldes finaux, sans timelock. Si l’une des parties se déconnecte ou agit de manière malveillante, l’autre peut procéder à une fermeture forcée en diffusant la dernière transaction d’engagement. Dans ce cas unilatéral, la partie qui force la fermeture doit attendre l’expiration d’un verrou temporel relatif avant de pouvoir dépenser sa propre part, ce qui laisse le temps de réclamer une éventuelle pénalité ; la sortie de l’autre partie est disponible presque immédiatement.
- Parmi les précurseurs figurent les canaux unidirectionnels de Jeremy Spilman (2013), dans lesquels les paiements ne pouvaient circuler que du payeur vers le bénéficiaire, ainsi que les canaux duplex de Christian Decker et Roger Wattenhofer (2015). L’article de Joseph Poon et Thaddeus Dryja sur le Lightning Network (brouillon en 2015, version de 2016) a introduit les engagements révocables, qui permettent à un canal de rester ouvert indéfiniment, ainsi que les HTLC, qui permettent de router les paiements à travers de nombreux canaux. Des implémentations sur le mainnet comme LND, Core Lightning et Eclair gèrent aujourd’hui ces états, et l’adoption a véritablement pris de l’ampleur à partir de 2018.
Faits clés
- Un canal de paiement verrouille des fonds dans une sortie multisig 2-sur-2, ce qui exige les deux signatures pour toute dépense on-chain.
- Les transactions d’engagement sont des mises à jour signées mais non diffusées qui redistribuent le solde du canal ; chaque nouvel état remplace le précédent.
- Les secrets de révocation permettent à la contrepartie de réclamer la totalité du solde du canal si une transaction d’engagement obsolète est diffusée.
- Les clôtures coopératives règlent les soldes immédiatement via une transaction de règlement sans timelock ; les clôtures unilatérales imposent des verrous temporels relatifs pour permettre la vérification des pénalités.
- Les canaux unidirectionnels de Jeremy Spilman en 2013 et les canaux duplex de Decker/Wattenhofer en 2015 ont été les principaux précurseurs du Lightning Network.
- Les principales implémentations sont LND (Lightning Labs), Core Lightning (Blockstream), Eclair (ACINQ) et LDK, avec un usage sur le mainnet qui s’accélère depuis 2018.
Exercice neuf, six, trois, un
9RassemblerListez 9 composants techniques ou protocoles distincts impliqués dans l’ouverture, la mise à jour et la fermeture d’un canal de paiement.
6RegrouperRegroupez les 9 en 6 catégories selon leur fonction : financement, gestion de l’état, mise en application de la sécurité, mécanismes de fermeture, prérequis du routage ou normes d’implémentation.
3DistillerRéduisez les 6 groupes à 3 principes fondamentaux qui garantissent un fonctionnement trustless entre deux parties.
1CristalliserRédigez 1 phrase expliquant pourquoi deux transactions on-chain peuvent régler n’importe quel nombre de paiements off-chain.
Vérification des faits
Les dates, les chiffres et les affirmations ont été vérifiés à l’aide des sources publiées listées ci-dessous.