BIP-380
BIP-380 standardise les Output Script Descriptors. Format universel pour décrire un wallet de manière déterministe.
Le problème de la portabilité des wallets
Pendant des années, exporter un wallet Bitcoin était un cauchemar. Chaque outil avait son format : Electrum exportait du JSON, Specter du PDF, Sparrow du backup chiffré, Bitcoin Core une wallet.dat binaire. Aucun moyen simple de dire à un autre logiciel : « voici exactement comment dériver mes adresses ». BIP-380, rédigé par Andrew Chow et Pieter Wuille, standardise une syntaxe textuelle qui décrit sans ambiguïté un script de wallet.
La syntaxe descriptor
Un output script descriptor est une chaîne lisible qui combine fonctions et arguments. Quelques exemples :
| Descriptor | Sens |
|------------|------|
| pkh(xpub.../0/*) | P2PKH (BIP-44) dérivation externe |
| wpkh([fingerprint/84'/0'/0']xpub.../0/*) | P2WPKH (BIP-84) |
| sh(wpkh(xpub.../0/*)) | Nested SegWit (BIP-49) |
| wsh(multi(2,xpub1/*,xpub2/*,xpub3/*)) | Multisig 2-of-3 native SegWit |
| tr(xpub.../0/*) | Taproot key-path |
| tr(K,{multi_a(2,K1,K2),and_v(...)}) | Taproot avec script-path |
Le descriptor inclut un checksum sur 8 caractères pour détecter les erreurs de copie.
Pourquoi c'est important
Avant les descriptors :
- Impossible de partager un wallet multisig facilement.
- Risque d'oublier la dérivation exacte (BIP-44 vs 49 vs 84 vs 86).
- Confusion entre clés primaires et de change.
- Pas de notion claire de master key fingerprint.
Avec les descriptors :
- Un seul texte suffit à reproduire le wallet.
- Le fingerprint identifie la seed source.
- La dérivation est explicite.
- Compatible PSBT, watch-only, multisig.
Adoption
Bitcoin Core utilise les descriptors par défaut depuis 0.21. Sparrow, Specter Desktop, BlueWallet, Electrum, BDK (Bitcoin Development Kit), HWI, lnd, CLN : tous les supportent. C'est désormais le standard pour importer/exporter un wallet dans l'écosystème pro.
L'extension Miniscript
Miniscript (BIP-379) est un langage plus expressif construit sur descriptors, qui permet de décrire des politiques de dépense complexes (vaults, dégradation temporelle, multisig conditionnels) avec une syntaxe lisible et analysable.
À retenir
BIP-380 est l'une de ces améliorations « plomberie » qui change tout sans qu'on s'en aperçoive. Si vous gérez un multisig ou un wallet sophistiqué, manipuler des descriptors plutôt que des xpub orphelins vous sauvera la vie. C'est la lingua franca des wallets Bitcoin sérieux.
Termes lies
- Output Script DescriptorsLes 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.
- MiniscriptMiniscript est une représentation de Bitcoin Script lisible et composable. Permet d'écrire des politiques complexes (multisig avec timelock, etc.) sûrement. Implémenté par Liana, Bitcoin Core, BDK. Démocratise les scripts avancés.
- DescriptorSynonyme d'« output script descriptor ». Sert à décrire de façon précise et reproductible un wallet ou un script. Format texte normalisé (BIP-380 à 389). Au cœur des outils modernes : Bitcoin Core, Sparrow, BDK, etc.
Glossaire inspire du dictionnaire de Loic Morel sur Pandul.fr.