Passer au contenu

Bitcoin accepté au paiement  |  Expédié depuis Montréal, QC, Canada  |  Soutien expert depuis 2016

Référence des bits de fonctionnalités Lightning BOLT 9

Avant que deux nœuds Lightning ne transigent, ils comparent ce que chacun sait faire — anchors, paiements multi-parties, splicing, chemins masqués — au moyen d’un vecteur compact de bits de fonctionnalités défini par le BOLT 9. Un bit de travers, et la connexion ou le paiement échoue tout simplement. Cette référence liste chaque bit assigné avec son nom, les contextes où il apparaît, ses dépendances, et la règle paire/impaire « optionnel vs obligatoire » qui les régit. Elle complète notre ensemble Lightning aux côtés de l’index des BOLT et de la référence des factures BOLT11. Les descriptions sont conservées en anglais.

Réponse rapide

Les nœuds Lightning s'annoncent leurs capacités au moyen d'un vecteur de bits de fonctionnalités (feature bits), défini par le BOLT 9. Les bits vont par paires paire/impaire : le bit impair signale « je supporte cette fonctionnalité (optionnel) », le bit pair signale « je l'exige (obligatoire) » — la règle « it's ok to be odd » qui permet d'introduire une fonctionnalité en douceur avant de la rendre obligatoire. Cette référence liste les 24 bits assignés avec leur nom option_*, leur rôle, les contextes où ils apparaissent (init, node_announcement, channel_announcement, facture BOLT11, channel_type, chemin masqué) et leurs dépendances. Cinq fonctionnalités si universelles que la spec les marque « ASSUMED » (implicites, non annoncées) sont affichées telles quelles. Les descriptions sont conservées en anglais.

La règle qui compte : si les deux bits d'une paire sont mis, la fonctionnalité est traitée comme OBLIGATOIRE. Les bits pairs inconnus font échouer la connexion/le paiement (le pair ne peut pas garantir une exigence qu'il ne comprend pas); les bits impairs inconnus sont ignorés. Pour une facture, les bits « 9 » priment sur ceux de node_announcement. CSV/JSON gratuits sous CC BY 4.0.

Télécharger le CSV Télécharger le JSON API REST →

BitsNomRôleContextesDépend de
0/1option_data_loss_protectASSUMÉ implicite dans tous les nœuds modernes
4/5option_upfront_shutdown_scriptCommits to a shutdown scriptpubkey when opening a channelIN
6/7gossip_queriesPeer has useful gossip to share
8/9var_onion_optinASSUMÉ implicite dans tous les nœuds modernes
10/11gossip_queries_exGossip queries can include additional informationIN
12/13option_static_remotekeyASSUMÉ implicite dans tous les nœuds modernes
14/15payment_secretASSUMÉ implicite dans tous les nœuds modernes
16/17basic_mppNode can receive basic multi-part paymentsIN9payment_secret
18/19option_support_large_channelCan create large channelsIN
22/23option_anchorsAnchor commitment type with zero-fee HTLC transactionsINT
24/25option_route_blindingNode supports blinded pathsIN9
26/27option_shutdown_anysegwitFuture segwit versions allowed in shutdownIN
28/29option_dual_fundUse v2 of channel open, enables dual fundingIN
34/35option_quiesceSupport for the stfu (quiescence) messageIN
36/37option_attribution_dataCan generate/relay attribution data in update_fail_htlc and update_fulfill_htlcIN9
38/39option_onion_messagesCan forward onion messagesIN
40/41zero_fee_commitmentsZero-fee commitment and HTLC transactionsINoption_channel_type
42/43option_provide_storageCan store other nodes' encrypted backup dataIN
44/45option_channel_typeASSUMÉ implicite dans tous les nœuds modernes
46/47option_scid_aliasSupply channel aliases for routingINT
48/49option_payment_metadataPayment metadata in a tlv record9
50/51option_zeroconfUnderstands zeroconf channel typesINToption_scid_alias
60/61option_simple_closeSimplified closing negotiationINoption_shutdown_anysegwit
62/63option_spliceAllows replacing the funding transaction with a new oneIN

Légende des contextes

I Presented in the init message.
N Presented in node_announcement messages.
C Presented in the channel_announcement message.
C- Presented in channel_announcement, but always odd (optional).
C+ Presented in channel_announcement, but always even (required).
9 Presented in BOLT11 invoices.
B Presented in the allowed_features field of a blinded path.
T Used in the channel_type field when opening channels.

Source : le BOLT 9 canonique de lightning/bolts (09-features.md, consulté le 2026-07-26). Se combine avec la référence des BOLT Lightning et la référence des factures BOLT11 (où les bits de contexte « 9 » apparaissent).