Aller au contenu
buybitcoinsmart

Glossaire / Lightning et couche 2

Annonce de canal

Qu'est-ce qu'une annonce de canal ?
Une annonce de canal est le message gossip signé qui indique au réseau Lightning qu'un canal public existe, en prouvant la propriété de la sortie de financement au moyen de quatre signatures.

Chaque canal Lightning public rejoint le graphe de routage par l'une d'elles, et une seule annonce valide peut exister par canal. Elle ne peut être envoyée qu'une fois la transaction de financement confirmée six fois, et les pairs oublient le canal 72 blocs après que la sortie a été dépensée. Annoncer coûte en confidentialité, car le message publie la sortie on-chain qui finance votre canal et la relie à la clé de votre nœud.

Comment cela fonctionne

Une annonce de canal est coûteuse à falsifier, et c'est tout l'intérêt de la conception.

Le gossip est gratuit à envoyer, si bien qu'un nœud pourrait sans cela inonder le réseau de canaux imaginaires. Le BOLT 7 bloque cela en rendant chaque affirmation vérifiable contre la blockchain. Le message, de type 256, nomme un short_channel_id qui pointe vers une sortie précise : trois octets de hauteur de bloc, trois d'index de transaction, deux d'index de sortie. Un nœud récepteur recherche cette sortie et écarte l'annonce à moins qu'il ne s'agisse d'une P2WSH non dépensée payant vers les deux clés Bitcoin nommées.

Quatre signatures figurent au début. Deux proviennent des clés d'identité des nœuds, et deux des clés de financement qui contrôlent la sortie on-chain, bitcoin_key_1 et bitcoin_key_2. Les quatre signent le même hachage double SHA256, calculé de l'offset d'octet 256 jusqu'à la fin du message. Apparier les clés de nœud aux clés Bitcoin prouve que les deux nœuds qui annoncent le canal sont les deux parties qui l'ont financé, et non des inconnus pointant vers la sortie de quelqu'un d'autre. node_id_1 doit aussi être la plus petite des deux clés compressées dans l'ordre lexicographique, et un nœud récepteur doit ignorer toute annonce qui inverse cet ordre.

L'annonce est facultative, définie par le bit announce_channel à l'ouverture du canal. Si l'annonce est activée, les pairs échangent announcement_signatures (type 259) une fois la transaction de financement suffisamment profonde, et l'un ou l'autre côté peut alors diffuser le résultat. Un splice produit une nouvelle annonce pour la nouvelle transaction, ce qui explique pourquoi les nœuds attendent 72 blocs après qu'une sortie de financement a été dépensée avant d'oublier le canal : la dépense peut être un redimensionnement plutôt qu'une fermeture.

Où vous le rencontrez

Les annonces de canal sont ce qu'un explorateur Lightning lit lorsqu'il dessine le graphe du réseau.

L'identifiant imprimé à côté de chaque canal provient directement du message. Un short_channel_id écrit sous la forme 539268x845x1 désigne la sortie 1 de la transaction à l'index 845 dans le bloc 539268, de sorte que chacun peut vérifier cette sortie on-chain. L'annonce ne contient rien qui ressemble à une fiche : ni frais, ni capacité, ni nom d'opérateur. Un canal n'est pas utilisable tant qu'au moins un côté n'a pas envoyé un channel_update avec ses frais et son delta d'expiration, et le nom du nœud arrive séparément dans un node_announcement.

Cette séparation explique pourquoi des canaux disparaissent des explorateurs alors qu'ils existent toujours. Si le plus récent channel_update dans l'un ou l'autre sens date de plus de deux semaines (1209600 secondes), un nœud peut retirer le canal de sa vue. Une annonce n'est jamais rafraîchie d'elle-même, de sorte qu'un canal ne reste sur la carte que tant qu'un opérateur continue de signer à nouveau ses conditions.

Du côté du portefeuille, vous rencontrez surtout les annonces de canal par leur absence. Un canal n'a besoin d'être annoncé que si vous voulez que des inconnus acheminent des paiements à travers lui, et un portefeuille mobile existe pour dépenser et recevoir plutôt que pour être un saut. C'est pourquoi les questions pratiques dans nos avis sur Phoenix et Muun sont la table de frais publiée et le fichier de sauvegarde, et non une position dans le graphe public.

Annonce de canal vs capacité de canal

Une annonce de canal prouve qu'un canal existe, tandis que la capacité de canal est le nombre de satoshis qu'il contient, et le message n'indique aucun montant. Ses champs sont quatre signatures, un vecteur de fonctionnalités, un hachage de chaîne, l'identifiant court de canal et quatre clés publiques. Quiconque cite un chiffre de capacité a joint l'annonce aux données de la chaîne, en lisant la valeur de la sortie que l'identifiant désigne. C'est pourquoi un canal non annoncé a une capacité mais aucun chiffre public : rien n'indique au réseau quelle sortie lire.

À ne pas confondre avec

Questions fréquentes

Annoncer un canal Lightning vous coûte-t-il en confidentialité ?

Oui. L'annonce nomme la sortie de financement on-chain et la relie à la clé publique de votre nœud, de sorte que quiconque lit le gossip peut voir quels bitcoins adossent le canal et quels deux nœuds se trouvent à ses extrémités. Un canal n'a pas besoin d'être annoncé pour fonctionner : le BOLT 7 rend l'annonce facultative via le bit announce_channel défini à l'ouverture du canal.

Quelle est la différence entre channel_announcement et channel_update ?

Le channel_announcement prouve que le canal existe et n'est signé qu'une fois, tandis que channel_update porte les conditions qui changent, les frais et le delta d'expiration. Un canal n'est pas utilisable tant qu'au moins un côté n'a pas envoyé un channel_update, et un nœud peut retirer un canal dont la plus récente mise à jour, dans l'un ou l'autre sens, date de plus de deux semaines.

À 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