Aller au contenu principal
Transactions

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 :

  1. Pour chaque transaction : retirer les UTXOs consommées (vin)
  2. Ajouter les nouvelles UTXOs créées (vout)
  3. 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

← Retour au glossaire complet

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