BOLT-11
BOLT-11 est le format historique des invoices Lightning. Préfixe « lnbc... ». Encodé en Bech32 avec un checksum. Limité à un usage unique et un montant fixé. Remplacé progressivement par BOLT-12.
Le format historique d'invoice
BOLT-11 est le format d'invoice Lightning historique, utilisé depuis les premières versions du protocole. Une invoice BOLT-11 commence par "lnbc" (Lightning Bitcoin) et encode dans une chaîne Bech32 toutes les informations nécessaires au paiement : montant, payment hash, durée de validité, route potentielle, description.
Anatomie
Une invoice typique contient le préfixe "lnbc" pour mainnet ou "lntb" pour testnet, suivi du montant (par exemple "100u" pour 100 micro-BTC ou 10 000 sats), du payment hash sur 32 octets, du payment secret de BIP-83 sur 32 octets, d'une description ou hash de description, d'une expire_date, et de route hints pour atteindre un nœud privé. L'ensemble est signé par la clé du destinataire pour authentifier l'invoice.
Les limites
BOLT-11 a plusieurs faiblesses qui ont motivé BOLT-12. L'usage est unique : une invoice est jetable, il faut en générer une nouvelle pour chaque paiement. Le montant est figé : il faut le connaître à l'avance, sauf à utiliser des "0 amount invoices" peu supportées. L'invoice n'est pas réutilisable : impossible de partager une invoice statique. Les métadonnées sont limitées : description simple, pas de support marchand structuré. La confidentialité est réduite : la route hint expose l'identifiant du nœud destinataire.
Ergonomie
Les invoices BOLT-11 se partagent via QR code ou texte. La pratique courante : un commerçant affiche une invoice à chaque paiement, le client scanne, ça paie en quelques secondes. C'est efficace mais nécessite un canal interactif entre payeur et destinataire.
Migration vers BOLT-12
BOLT-12 résout les limites de BOLT-11 avec les Offers : factures réutilisables, statiques, supportant les blinded paths pour la confidentialité. Adoption progressive sur Phoenix, CLN, et de plus en plus côté LND. BOLT-11 restera supporté longtemps en parallèle pour compatibilité.
Termes lies
- BOLTBOLT (Basis of Lightning Technology) est l'ensemble des spécifications du protocole Lightning. Maintenu collectivement par les implémentations (LND, CLN, Eclair, LDK). Numéroté de 1 à 11. Pendant Lightning des BIPs Bitcoin.
- Invoice LightningUne invoice Lightning est une demande de paiement contenant le montant, le hash de la preimage et la route possible. Encodée BOLT-11 ou BOLT-12. Doit être présentée par le destinataire pour recevoir un paiement. Indispensable au modèle pull du protocole.
- BOLT-12 (Offers)BOLT-12 introduit les Offers : des « factures réutilisables » Lightning. Permet recouverts récurrents, demandes statiques, métadonnées riches. Combiné aux blinded paths pour la confidentialité. Implémenté par CLN, LND et Phoenix.
- Bech32 / Bech32mBech32 est l'encodage des adresses SegWit (BIP-173), reconnaissable au préfixe « bc1 ». Il améliore la détection d'erreurs et la lisibilité. Bech32m (BIP-350) en est la variante pour Taproot. Plus efficace en QR code et plus sûr que Base58Check.
Glossaire inspire du dictionnaire de Loic Morel sur Pandul.fr.