UTXO Set
L'UTXO set est l'ensemble des outputs non dépensés du réseau Bitcoin à un instant T. C'est l'état de la chaîne, plus important que les blocs eux-mêmes pour valider une transaction. Stocké dans la base chainstate de Bitcoin Core. Sa taille (~10-15 GB) influence la performance du nœud.
Définition et origine
L'UTXO set (Unspent Transaction Output set) est la photographie courante de l'état monétaire de Bitcoin : la liste de toutes les sorties créées par des transactions passées qui n'ont pas encore été dépensées. Contrairement à un système basé sur les soldes (comme Ethereum), Bitcoin stocke et valide ses transactions en consommant des UTXOs entières et en en créant de nouvelles.
Comment ça fonctionne
À chaque nouveau bloc, Bitcoin Core met à jour l'UTXO set :
- Pour chaque transaction : retirer les UTXOs consommées (vin)
- Ajouter les nouvelles UTXOs créées (vout)
- Recalculer un hash global (
gettxoutsetinfo)
Cet ensemble est stocké physiquement dans la base chainstate/ au format LevelDB, avec une clé (TXID, vout) pointant vers une valeur encodant (montant, scriptPubKey, hauteur, coinbase flag).
Chiffres clés (2026)
| Métrique | Valeur approximative |
|---|---|
| Nombre d'UTXOs | ~180 millions |
| Taille chainstate | 12-15 Go |
| UTXOs ajoutées par bloc | ~10 000 |
| Hash de l'UTXO set | Voir gettxoutsetinfo |
Cas d'usage
| Usage | Détail | |---|---| | Validation tx | Vérifier que les inputs existent | | Pruned node | Garde l'UTXO set mais jette les vieux blocs | | AssumeUTXO | Démarrer en téléchargeant un snapshot | | Audit monétaire | Sommer pour vérifier l'offre totale | | Calcul de la fongibilité | Analyse de cluster |
Pollution et impact
Des protocoles comme Stamps créent des UTXOs jamais dépensables en pratique mais que le réseau doit conserver indéfiniment. Cela alourdit chaque nœud, en RAM et en bande passante. Les opérations comme Ordinals, à l'inverse, résident dans le witness et peuvent être prunées.
Limites
| Sujet | Détail |
|---|---|
| Croissance lente mais inéluctable | ~1 Go/an supplémentaire |
| RAM critique pour la perf | Cache dbcache=4096 recommandé |
| Pas de garbage collection | Toute UTXO non dépensée reste à vie |
| Spam UTXO dust | Sujet réglementaire (filtre dust) |
À retenir
L'UTXO set est la véritable base de données de Bitcoin : un nœud peut oublier l'histoire (pruning) mais doit toujours connaître l'état actuel pour valider. Sa préservation et sa taille sont au cœur des débats sur l'utilisation responsable de l'espace bloc.
Termes lies
- UTXOUTXO (Unspent Transaction Output) designe une sortie de transaction non depensee. Contrairement a un compte bancaire avec un solde, Bitcoin fonctionne avec des UTXO : chaque transaction consomme des UTXO existants et en cree de nouveaux. C'est comme manipuler des billets plutot qu'un solde numerique.
- Bitcoin CoreBitcoin Core est l'implémentation de référence du protocole Bitcoin, descendante directe du code de Satoshi. Open-source, maintenue par des centaines de contributeurs. Représente >95 % des nœuds. Le « consensus » du code Bitcoin.
Glossaire inspire du dictionnaire de Loic Morel sur Pandul.fr.