Aller au contenu
buybitcoinsmart

Glossaire / Lightning et couche 2

Canal de paiement

Aussi appelé Payment channel, Micropayment channel, Canal Lightning, Lightning channel.

Qu'est-ce qu'un canal de paiement ?
Un canal de paiement est un contrat bitcoin entre deux parties, alimenté par une seule transaction on-chain, à l'intérieur duquel les deux parties peuvent réécrire la répartition de ces fonds des milliers de fois sans toucher à la chaîne.

Voyez-le comme une ardoise de bar que les deux buveurs signent après chaque tournée. La sortie de financement est une adresse 2-sur-2, si bien qu'aucun des pairs ne peut déplacer les fonds seul, et chaque mise à jour est une transaction bitcoin pleinement valide que l'un ou l'autre pourrait publier. Si vous détenez des bitcoins dans un canal, vous comptez sur un logiciel pour repérer un mauvais comportement, pas sur une entreprise pour bien se conduire.

Comment cela fonctionne

Un canal de paiement remplace la confiance par deux éléments de script bitcoin : une sortie partagée et une sanction.

L'ouverture du canal prend une transaction on-chain qui paie vers une adresse exigeant les deux signatures. Avant que cette transaction soit diffusée, les pairs échangent des transactions d'engagement signées qui la dépensent en retour vers eux dans les proportions convenues. Payer à l'intérieur du canal revient simplement à signer une nouvelle paire d'engagements avec une nouvelle répartition, puis à remettre le secret qui révoque l'ancienne.

La révocation est ce qui rend l'ensemble sûr. Chaque côté détient une transaction d'engagement légèrement différente, et la version que vous détenez paie votre propre solde vers un script que vous ne pouvez réclamer qu'après un délai, couramment 144 blocs, soit environ un jour. La copie de votre pair comporte le même délai de son côté. Si l'un de vous deux diffuse un ancien état, plus favorable, l'autre dispose de ce délai pour le remarquer et utiliser le secret de révocation afin de balayer la totalité du solde du canal à titre de pénalité. La triche n'est pas bloquée : elle est rendue non rentable.

Rien de tout cela n'était possible avant l'existence des verrous temporels relatifs. CHECKSEQUENCEVERIFY et les verrous fondés sur le champ sequence définis dans les BIP68, BIP112 et BIP113 sont actifs depuis le bloc 419 328 en 2016, et c'est ce qui permet à un script de dire « dépensable, mais seulement 144 blocs après la confirmation de cette transaction ».

Plusieurs petits nombres de la spécification existent uniquement pour que la sanction reste applicable. Chaque pair conserve normalement une réserve qu'il ne peut jamais dépenser, suggérée à 1 pour cent du total du canal, afin qu'un tricheur ait toujours quelque chose à perdre. Les sorties inférieures au seuil de poussière, soit 330 satoshis pour les sorties pay-to-witness-script-hash qu'utilisent les canaux, sont abandonnées et versées aux frais au lieu d'être inscrites dans l'engagement. Les canaux modernes portent aussi deux sorties d'ancrage de 330 satoshis, qui existent pour que l'un ou l'autre côté puisse attacher une transaction enfant d'augmentation des frais si la chaîne est occupée au moment où il doit fermer. Et le numéro d'engagement lui-même est caché : 48 bits de celui-ci sont masqués et dispersés dans les champs locktime et sequence, si bien qu'un observateur qui voit une fermeture unilatérale ne peut pas compter combien de paiements le canal a transportés.

Pourquoi cela compte quand vous achetez du bitcoin

Les canaux sont la raison pour laquelle un solde Lightning et un solde en stockage à froid ne sont pas interchangeables, même si les deux sont du bitcoin.

Les fonds présents dans un canal ont besoin d'une clé en ligne et d'un nœud qui surveille. C'est très bien pour un portefeuille de dépenses. C'est le mauvais endroit pour un pécule que vous comptez garder des années, parce que le modèle de sécurité vous demande quelque chose en continu plutôt qu'une seule fois. Nos avis sur les portefeuilles matériels couvrent le compromis inverse : des clés qui ne touchent jamais un réseau et n'ont jamais besoin de réagir à quoi que ce soit.

Deux conséquences pratiques en découlent pour tout acheteur. Premièrement, l'ouverture et la fermeture de canaux sont des transactions on-chain, donc un portefeuille qui ouvre un canal pour vous dépense de vrais frais en votre nom, parfois silencieusement. Vérifiez ce qu'un portefeuille Lightning mobile facture pour son premier canal avant d'y verser 30 dollars et de découvrir qu'un tiers de cette somme est parti dans la mise en place. Deuxièmement, si une application Lightning ne mentionne jamais les canaux, les clés ou les sauvegardes, elle détient presque certainement le canal elle-même. C'est un compte de conservation avec un vernis Lightning, et il relève de la même catégorie de risque que laisser des bitcoins sur une plateforme d'échange.

La dernière est ennuyeuse mais coûteuse : l'état d'un canal n'est pas récupérable à partir d'une phrase de récupération. Une sauvegarde de douze mots restaure parfaitement un portefeuille on-chain et ne permet pas de savoir quel engagement était en cours. Les portefeuilles Lightning non dépositaires sauvegardent l'état du canal séparément, et perdre cette sauvegarde peut vous coûter le solde du canal même si vous détenez toujours la phrase de récupération.

Anatomie d'une fermeture de canal

Observez un seul canal prendre fin et les composants cessent d'être abstraits.

Deux pairs ouvrent un canal avec 1 000 000 satoshis, financé entièrement par l'un d'eux. Après un mois de paiements, la répartition est de 400 000 et 600 000. Une fermeture coopérative est le scénario heureux : les deux signent une transaction de clôture qui paie chaque côté directement, elle se confirme comme n'importe quelle dépense normale, et il n'y a aucun délai sur l'une ou l'autre sortie.

Une fermeture unilatérale est la solution de repli. Un pair disparaît, alors l'autre diffuse son dernier engagement. Son propre solde atterrit dans un script qu'il ne peut pas toucher pendant le délai convenu, le solde du pair parti est immédiatement dépensable par lui, et les sorties d'ancrage sont là au cas où les frais devraient être augmentés. Si le pair qui a disparu diffuse plus tard un engagement périmé le montrant avec 900 000 satoshis, le côté honnête dispose de la fenêtre de délai pour publier la révocation et prendre la totalité des 1 000 000.

Canal de paiement vs statechain

Un canal de paiement maintient un contrat vivant entre deux parties on-chain ; une statechain fait circuler le droit de dépenser une sortie fixe. Dans un canal, le solde peut être n'importe quel nombre et change à chaque paiement, et l'exécution est unilatérale. Dans une statechain, un UTXO entier d'une taille fixe est transféré d'un propriétaire au suivant avec l'aide d'un serveur auquel il est demandé de supprimer son ancienne part de clé, si bien que le modèle repose sur le fait que ce serveur la supprime réellement. Les canaux vous coûtent une transaction on-chain à l'ouverture et vous donnent un solde dépensable ; les statechains vous coûtent une hypothèse de confiance et vous donnent un UTXO entier.

À ne pas confondre avec

Questions fréquentes

Ma phrase de récupération sauvegarde-t-elle mes canaux Lightning ?

Non. Une phrase de récupération restaure les clés on-chain, mais elle ne peut pas indiquer à votre portefeuille quel état de canal était le plus récent. Les portefeuilles Lightning non dépositaires conservent une sauvegarde de canal distincte, et sa perte peut vous coûter le solde du canal.

Que se passe-t-il si mon partenaire de canal devient inaccessible définitivement ?

Vous diffusez votre dernière transaction d'engagement pour fermer le canal de façon unilatérale. Votre propre solde devient dépensable après le délai convenu, couramment autour de 144 blocs, et la part de votre pair est versée immédiatement.

Mon partenaire de canal peut-il voler mon argent ?

Seulement en publiant un ancien état du canal, et seulement si personne ne le remarque. Le secret de révocation que vous détenez déjà vous permet de réclamer la totalité du solde du canal à titre de pénalité pendant la fenêtre de délai, ce qui explique la rareté des tricheries.

À lire ensuite

Termes associés

Plus de termes : Lightning et couche 2

Lire cette page en anglais