Aller au contenu principal
Script

Output Script Descriptors

Les descriptors décrivent un wallet de manière déterministe et inter-opérable (ex : wpkh([fp/84'/0'/0']xpub.../0/*)). Permettent à n'importe quel logiciel de regénérer les mêmes adresses. Standardisés par BIP-380. Indispensables aux multisigs modernes.

Définition et besoin

Les Output Script Descriptors (souvent abrégés descriptors) sont une mini-grammaire permettant de décrire, en une seule chaîne de caractères, l'intégralité de la logique de dérivation d'adresses d'un wallet : type de script, clés impliquées, chemin de dérivation, plage d'indices, etc. Introduits dans Bitcoin Core 0.17 (2018) puis standardisés par BIP-380 et la série 381-385.

Avant les descriptors, importer un wallet d'un logiciel à un autre était un cauchemar : il fallait deviner le type de dérivation, le format de script, la position du change… Les descriptors résolvent ce chaos.

Anatomie d'un descriptor

wpkh([d34db33f/84h/0h/0h]xpub6CUGRUo.../0/*)

| Composant | Signification | |-----------|--------------| | wpkh(...) | Type de script : Pay-to-Witness-Public-Key-Hash | | d34db33f | Fingerprint de la clé maîtresse | | 84h/0h/0h | Chemin BIP-84 standard pour SegWit natif | | xpub6CUGRUo... | Clé publique étendue | | /0/* | Chaîne externe, dérivation sur tous les indices |

Une checksum de 8 caractères (#xxxxxxxx) peut être ajoutée pour détecter les erreurs de saisie.

Types de scripts supportés

  • pkh(...)P2PKH
  • wpkh(...)P2WPKH
  • sh(...)P2SH (wrapping)
  • wsh(...)P2WSH
  • tr(...)P2TR Taproot
  • multi(k, key1, key2, ...) → multisig classique
  • sortedmulti(k, ...) → multisig avec clés ordonnées (BIP-67)

Exemple multisig

wsh(sortedmulti(2,
  [fp1/48h/0h/0h/2h]xpub.../0/*,
  [fp2/48h/0h/0h/2h]xpub.../0/*,
  [fp3/48h/0h/0h/2h]xpub.../0/*
))

Ce descriptor décrit un multisig 2-of-3 SegWit natif. Il suffit de l'importer dans Sparrow, Bitcoin Core, BlueWallet ou Specter pour retrouver les mêmes adresses.

Cas d'usage

  • Importer un watch-only wallet sans révéler la clé privée.
  • Configuration multisig reproductible entre coordinateurs (Sparrow, Specter).
  • Compatibilité PSBT : les hardware wallets reçoivent le descriptor pour comprendre le contexte de signature.
  • Sauvegardes : un descriptor + une seed est tout ce qu'il faut pour reconstruire un wallet.

Liens avec Miniscript

Miniscript étend les descriptors pour décrire des politiques de dépense complexes (timelock, multipath, threshold). Le couple descriptor + Miniscript devient l'ABI standard du Bitcoin moderne.

À retenir

Les descriptors sont devenus le langage commun des wallets Bitcoin. Ils transforment ce qui était une configuration tribale en une chaîne portable, vérifiable et auditable. Indispensables dès qu'on dépasse le wallet singlesig basique.

Termes lies

← Retour au glossaire complet

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