Aller au contenu principal
Lightning

SCID (Short Channel ID)

Le SCID identifie un canal Lightning par sa position on-chain : block height, txid, output index. Utilisé partout dans le routage. Compact et déterministe.

Définition

Le SCID (Short Channel ID) est l'identifiant unique d'un canal Lightning, dérivé de la position de la transaction d'ouverture sur la blockchain Bitcoin. Il est défini dans le BOLT-7 et utilisé partout dans le protocole : annonces de gossip, messages de routage, requêtes de fees, descriptions d'invoices.

Structure

Le SCID est un entier de 64 bits encodé sous trois formes équivalentes :

SCID = (block_height << 40) | (tx_index << 16) | output_index

| Champ | Bits | Valeur | |-------|------|--------| | Block height | 24 | 0 à 16 777 215 (~320 ans à 1 bloc / 10 min) | | Tx index dans le bloc | 24 | 0 à 16 777 215 | | Output index | 16 | 0 à 65 535 |

Notation lisible : 873421x542x1 signifie "bloc 873 421, transaction 542 du bloc, output 1".

Pourquoi cette construction

Le SCID est :

  • Compact : 8 octets seulement par référence de canal.
  • Déterministe : tout le réseau peut le calculer à partir de la transaction d'ouverture.
  • Vérifiable : on peut prouver l'existence d'un canal en pointant vers une transaction Bitcoin réelle, ce qui permet le gossip non-falsifiable.
  • Public : pour les canaux publics, l'ouverture étant on-chain, le SCID est calculable par n'importe quel observateur.

Utilisation dans le routage

Une route Lightning n'est qu'une suite de SCID :

SCID_AB → SCID_BC → SCID_CD

Chaque SCID identifie l'arête (canal) à emprunter. Le payeur "onion" route à travers cette suite sans connaître les pubkeys intermédiaires.

SCID alias et privacy

Les canaux privés (BOLT-11 r field) utilisent souvent un SCID alias au lieu du SCID réel pour préserver la privacy :

  • SCID alias : nombre aléatoire négocié entre les deux pairs.
  • Évite de révéler l'outpoint Bitcoin du canal.
  • Permet du routage entrant sans dévoiler la topologie.

L'option option_scid_alias (BOLT-2) est désormais standard chez LND, CLN, LDK et Eclair.

Zero-conf SCID

Avec l'option option_zeroconf (channels acceptés avant confirmation on-chain), un SCID temporaire est attribué. Une fois la transaction confirmée, le vrai SCID prend le relais. Utile pour les wallets mobiles type Phoenix.

À retenir

Le SCID est le pointeur fondamental de Lightning vers Bitcoin : il scelle dans une chaîne externe la preuve qu'un canal existe. C'est la pièce de puzzle qui fait de Lightning une vraie couche 2 ancrée à Bitcoin, et non un protocole indépendant.

Termes lies

← Retour au glossaire complet

Glossaire inspire du dictionnaire de Loic Morel sur Pandul.fr.