Preimage
La preimage est le secret aléatoire dont le hash sert de payment hash. Sa révélation par le destinataire valide tous les HTLC du chemin. Sert aussi de preuve de paiement. Clé du règlement atomique sur Lightning.
Le secret qui débloque
La preimage est le secret aléatoire (32 octets) qui correspond à un payment hash. C'est le grand débloqueur de Lightning : sa révélation par le destinataire libère tous les HTLCs le long de la route, en cascade. Tant qu'elle reste secrète, le paiement est en attente. Une fois révélée, le paiement est définitivement réglé.
Génération
La preimage est générée aléatoirement par le destinataire, localement et secrètement. Elle ne quitte son wallet que pour encaisser un HTLC : à ce moment-là elle est révélée à son partenaire de canal direct, qui la propage en remontant la route.
Preimage comme preuve de paiement
Une fois le paiement réussi, le payeur obtient la preimage. Il peut prouver à n'importe qui qu'il a effectué ce paiement, en dévoilant la preimage qui hashe vers le payment hash de l'invoice. C'est une preuve cryptographique non-falsifiable. Cette propriété est utilisée par L402 pour construire de l'authentification HTTP par paiement Lightning : tu paies, tu obtiens la preimage, tu l'utilises comme jeton d'API.
Hodl invoice
Une hodl invoice retient la preimage côté destinataire : il choisit quand la libérer, ce qui retient le paiement en pending. Permet l'escrow conditionnel, les paiements conditionnés à un événement externe, les services de mixage ou échange atomique. Risque : si la preimage n'est jamais libérée, le paiement reste pending jusqu'au timeout HTLC, gelant des fonds le long de la route.
Sécurité
Une preimage compromise (devinée, fuitée) avant le paiement permet à un attaquant d'encaisser sans avoir reçu le bien correspondant. Les implémentations utilisent un PRNG cryptographique solide, généralement /dev/urandom plus le state du wallet.
Termes lies
- Payment hashLe payment hash est le hash SHA-256 de la preimage choisie par le destinataire. Inclus dans l'invoice et dans chaque HTLC. La preimage révélée déverrouille le paiement le long de la route. Cœur cryptographique de Lightning.
- HTLCUn HTLC (Hashed Time-Locked Contract) est le mécanisme qui permet de router un paiement Lightning à travers plusieurs nœuds. Chaque saut est conditionné par une preimage hashée et un timelock. Sécurise le routage sans confiance. Pierre angulaire du protocole.
- Lightning NetworkLe Lightning Network est une solution de seconde couche construite sur Bitcoin permettant des paiements instantanes et quasi-gratuits. Il fonctionne via des canaux de paiement entre utilisateurs, avec un reglement final sur la blockchain principale. Ideal pour les micropaiements et les transactions quotidiennes.
Glossaire inspire du dictionnaire de Loic Morel sur Pandul.fr.