Aller au contenu
buybitcoinsmart

Glossaire / Lightning et couche 2

Transaction de pénalité

Qu'est-ce qu'une transaction de pénalité ?
Une transaction de pénalité est le balayage on-chain, signé avec la clé de révocation que vous détenez déjà, qui prend toutes les sorties d'un canal Lightning lorsque votre pair publie un engagement révoqué.

Les canaux Lightning sont surveillés par leurs deux participants, et la transaction de pénalité est le moyen d'application. Le BOLT 5 attribue à ce balayage un témoin de 160 octets pour la sortie de solde principal, et indique de le répartir par sortie s'il n'a pas été confirmé 18 blocs avant l'expiration du verrou temporel du tricheur. Si vous gardez des bitcoins dans des canaux, cette transaction est ce qui vous sépare d'un pair qui rembobine votre solde.

Comment cela fonctionne

Une transaction de pénalité dépense des sorties dont le propriétaire vous a déjà cédé le droit de les prendre.

Chaque fois que le solde d'un canal change, chaque partie abandonne le secret qui sous-tend l'état qu'elle remplace. Détenez ce secret et vous pouvez dériver la clé privée de révocation pour l'ancienne transaction d'engagement de votre pair, qui est la clé qui débloque sa part. Le BOLT 5 résume la conséquence en une ligne : dès qu'un nœud découvre une transaction d'engagement pour laquelle il détient une clé privée de révocation, la sortie de la transaction de financement est résolue. Rien n'est laissé à la négociation.

Ce que vous balayez dépend de ce que portait l'engagement périmé. La spécification vous oblige à résoudre la sortie principale du tricheur avec la clé de révocation, à résoudre chaque paiement qu'il a proposé de l'une des trois façons suivantes (dépenser l'engagement avec la clé de révocation, le dépenser avec la préimage du paiement si vous la connaissez, ou dépenser sa transaction HTLC-timeout une fois qu'il la publie), et à résoudre ses transactions HTLC-success et HTLC-timeout avec la clé de révocation également. Elle indique aussi d'extraire la préimage du témoin d'entrée pendant que vous y êtes, car un paiement que vous étiez sur le point de perdre peut encore être réclamable auprès du saut précédent.

Trois formes de témoin couvrent tout cela, et le BOLT 5 donne la taille de chacune : 160 octets pour la sortie de solde principal, 243 octets pour un paiement proposé, 249 octets pour un paiement accepté. Ajoutez le poids de 164 de l'entrée elle-même et chaque sortie réclamée coûte 324, 407 ou 413. Le reste de la transaction correspond à 53 octets de données hors témoin plus un en-tête de témoin de 2 octets. Vous pouvez aussi y intégrer votre propre sortie principale issue du même engagement, ce qui ajoute 272 et sert surtout à réduire les frais que vous payez.

Deux choses que la transaction de pénalité n'est pas. Elle n'est pas automatique : le bitcoin ne punit personne, et le balayage n'a lieu que si un logiciel que vous exécutez, ou un logiciel que vous avez loué, voit la transaction périmée se confirmer et réagit avant l'expiration du verrou temporel du tricheur. Elle n'est pas non plus gratuite. Le balayage paie le tarif en vigueur comme toute autre transaction, donc un canal dont le montant est inférieur au coût de sa vidange ne vaut pas la peine d'être défendu, quelles que soient les règles.

Pourquoi cela compte quand vous achetez du bitcoin

Une transaction de pénalité ne vous défend que dans un portefeuille où vous détenez vos propres transactions d'engagement, ce qui exclut la plupart des applications Lightning faciles.

Les 41 avis de portefeuilles sur ce site se partagent exactement selon cette ligne. Phoenix exécute un véritable nœud Lightning en auto-conservation sur le téléphone, donc le mécanisme de punition vous appartient, ainsi que le devoir de surveiller : la voie de récupération d'ACINQ vous fait fermer de force et attendre environ 720 blocs, soit environ cinq jours, avant que les fonds du canal soient à vous on-chain. BlueWallet est bitcoin-only et exceptionnellement capable on-chain, mais son volet Lightning est un compte sur un serveur LNDHub, et sauf si ce serveur est le vôtre, l'opérateur peut déplacer ces bitcoins, donc aucune transaction d'engagement qui vous appartienne n'existe pour punir qui que ce soit. Wallet of Satoshi est aussi en conservation dans son mode par défaut, ce qui explique en partie sa note de 2,7 ici plutôt qu'une recommandation.

Lisez cela comme un compromis plutôt qu'un verdict. Le Lightning en conservation supprime de votre liste de menaces les pairs tricheurs et les remplace par une entreprise qui peut geler ou retirer le service. Le Lightning en auto-conservation vous remet la transaction de pénalité et l'obligation de rester éveillé. L'erreur qui piège les gens des deux côtés est de réutiliser une ancienne sauvegarde de phrase de récupération : douze mots restaurent les bitcoins on-chain et ne savent rien de l'état de canal actuel, donc l'engagement que vous publiez est périmé et la transaction de pénalité qui suit vous vise.

Une fermeture révoquée sur un canal Phoenix

Imaginez un canal Phoenix avec trois paiements encore en vol lorsque le nœud à l'autre bout publie un engagement de la semaine dernière.

Votre logiciel repère le txid, dérive la clé de révocation et construit un seul balayage. Son poids est de 324 pour la sortie principale du tricheur, 413 pour chacune des trois sorties de paiement acceptées, 272 pour y intégrer votre propre sortie principale, quatre fois 53 octets de corps de transaction et un en-tête de 2 octets : 2 049 unités de poids, soit environ 512 octets virtuels. Leur argent se trouve derrière le verrou temporel relatif que les deux parties ont convenu à l'ouverture du canal, et des délais de ce genre se comptent en jours plutôt qu'en minutes : se remettre d'une fermeture forcée dans Phoenix prend environ 720 blocs, soit environ cinq jours. Le vôtre est dépensable dès qu'un mineur prend votre transaction.

Le BOLT 5 calcule aussi le plafond. Face à un poids standard maximal de 400 000 et à la plus grande entrée de 413, une seule transaction de pénalité atteint 966 sorties de paiement, soit le double des 483 paiements en attente par partie que le protocole pair-à-pair autorise déjà, donc même un canal complètement rempli peut être vidé d'un coup.

Vient ensuite la raison de ne pas le faire. Lorsque le canal utilise des sorties d'ancrage, les propres transactions de paiement du tricheur sont signées avec SIGHASH_SINGLE et SIGHASH_ANYONECANPAY, de sorte qu'il peut attacher ses propres entrées et épingler votre balayage combiné dans la mempool assez longtemps pour que le verrou temporel sur sa sortie principale expire. Si la confirmation n'est pas arrivée au moment où cette sortie entre dans le délai de sécurité avant expiration, une fenêtre que le BOLT 5 laisse à la politique du nœud tout en recommandant 18 blocs, il vous est indiqué de découper la tâche : une transaction de pénalité par sortie révoquée, avec des frais augmentés jusqu'à confirmation de chacune. Sous des engagements à frais nuls, chacune de ces transactions doit aussi rester dans la limite de 10 000 octets virtuels que portent les transactions de version 3, faute de quoi elle pourrait ne jamais atteindre les mineurs.

Transaction de pénalité vs fermeture forcée

Une fermeture forcée est toute sortie unilatérale d'un canal, tandis qu'une transaction de pénalité est la réponse à une fermeture malhonnête.

La plupart des fermetures forcées sont banales. Un pair est passé hors ligne, un délai de paiement approchait, le nœud de quelqu'un a publié l'état courant, et les deux parties reçoivent le solde qui leur était dû une fois le délai écoulé. Une transaction de pénalité n'existe que dans le cas étroit où l'engagement publié avait déjà été révoqué, et elle prend la totalité du canal plutôt qu'une part. Toute transaction de pénalité suit une fermeture forcée, et presque aucune fermeture forcée n'en produit une.

Transaction de pénalité vs tour de guet

Une transaction de pénalité est une transaction bitcoin signée, tandis qu'une tour de guet est une machine qui attend pour en diffuser une à votre place.

La tour stocke un court préfixe du txid révoqué et un blob qu'elle ne peut pas déchiffrer avant que cette transaction n'apparaisse dans un bloc. Le balayage qu'elle contient a été construit et signé par votre propre nœud, vers une adresse choisie avant que quoi que ce soit ne tourne mal, donc en engager une ne vous coûte aucune clé. Confondre les deux produit la mauvaise inquiétude. Ne pas exécuter de tour n'affaiblit pas du tout la transaction de pénalité ; cela signifie que personne n'est éveillé pour l'envoyer pendant que votre ordinateur portable est fermé.

À ne pas confondre avec

Questions fréquentes

Une transaction de pénalité peut-elle me prendre de l'argent par erreur ?

Non. Elle ne peut dépenser qu'une transaction d'engagement que vous avez déjà révoquée, donc elle ne se déclenche que si vous diffusez un état de canal obsolète, ce qui explique pourquoi restaurer un portefeuille Lightning à partir d'une phrase de récupération puis l'utiliser est dangereux.

Qui diffuse réellement une transaction de pénalité ?

Votre propre nœud le fait, ou une tour de guet à laquelle vous avez confié le balayage chiffré. Bitcoin n'applique rien ici de lui-même : si aucun logiciel ne surveille avant l'expiration du verrou temporel du tricheur, le solde volé reste volé.

Dois-je y penser dans une application Lightning qui conserve vos fonds ?

Non. Dans un solde conservé par un tiers, comme un compte LNDHub, vous ne détenez aucune transaction d'engagement, donc il n'y a aucune pénalité à diffuser et aucun état révoqué à surveiller. Votre risque y est l'opérateur, pas un pair tricheur.

Combien de temps ai-je pour punir un pair tricheur ?

Jusqu'à l'expiration du verrou temporel relatif sur la sortie principale du tricheur, une durée convenue à l'ouverture du canal. Le BOLT 5 ajoute que si votre balayage n'a pas été confirmé 18 blocs avant cette échéance, vous devriez passer à une transaction par sortie révoquée et augmenter les frais de chacune, au cas où le tricheur tenterait d'épingler celle qui les combine.

À lire ensuite

Sources

Dernière vérification le 6 septembre 2026.

Termes associés

Plus de termes : Lightning et couche 2

Lire cette page en anglais