Un UTXO est un montant créé par une transaction antérieure qui n'a pas encore été dépensé. L'abréviation signifie Unspent Transaction Output. Votre portefeuille peut afficher un seul solde, mais celui-ci cache plusieurs UTXO distincts, comme plusieurs billets composent l'argent dans votre poche. Pour payer, le portefeuille choisit lesquels utiliser. Une même adresse peut recevoir plusieurs paiements et posséder plusieurs UTXO différents.
Vous avez deux UTXO : 70 000 sat et 50 000 sat, soit 120 000 sat au total. Le sat est la plus petite unité du bitcoin. Pour payer 90 000 sat avec 1 000 sat de frais, le portefeuille peut utiliser les deux. Il crée une sortie de 90 000 sat pour le destinataire et une de 29 000 sat qui vous revient. Les deux UTXO d'origine sont consommés entièrement : aucun morceau n'y reste. Cela ressemble à un paiement en billets avec monnaie rendue, sauf que les montants ne sont pas limités à des coupures fixes. Même deux nouvelles sorties envoyées à la même adresse restent deux UTXO distincts, sans fusionner. [2]
Le portefeuille additionne les sorties qu'il suit, mais ne peut pas forcément toutes les dépenser immédiatement. Un Watch-only Wallet surveille les paiements sans détenir lui-même les clés privées nécessaires à la signature. Une autre sortie peut être bloquée jusqu'à un moment donné. La récompense de la première transaction d'un bloc, appelée Coinbase Transaction, doit d'abord atteindre la maturité requise. Un très petit montant peut aussi être techniquement dépensable tout en coûtant plus cher à utiliser que sa propre valeur lorsque les frais sont élevés. Disponibilité, droit de dépenser et intérêt économique sont trois questions différentes. [1]
Chaque UTXO utilisé ajoute une entrée et généralement des données à la transaction. À taux de frais identique et pour des types d'entrées comparables, dépenser beaucoup de petits montants coûte donc plus cher qu'un seul montant plus élevé. Coin Control permet de choisir les UTXO manuellement. Les consolider, c'est-à-dire les regrouper en un nombre réduit de montants plus importants, peut réduire la taille d'une future transaction, mais demande des frais aujourd'hui. Cela touche aussi à la confidentialité : réunir des entrées peut suggérer qu'une même personne les contrôle. Ce n'est pas une preuve infaillible, mais cela invite à ne pas fusionner automatiquement des fonds dont on veut garder les historiques séparés. [2] [4]
L'adresse seule ne suffit pas. Chaque sortie est identifiée par un couple : le txid de sa transaction et son numéro dans celle-ci. Cette référence s'appelle un outpoint. La sortie contient son montant en satoshis et scriptPubKey, les conditions de sa dépense. Pour une sortie confirmée, le nœud conserve aussi la hauteur du bloc de création et son éventuelle origine dans une Coinbase Transaction, afin de vérifier maturité et contraintes temporelles. Connaître l'adresse ou l'outpoint permet de désigner un enregistrement, pas de dépenser son argent : il faut encore satisfaire ses conditions. [1] [2]
L'ensemble des UTXO confirmés correspond à un historique qui s'arrête à un bloc précis. Un nœud peut aussi tenir compte de son mempool, la salle d'attente des transactions non confirmées : certaines sorties connues y sont déjà dépensées et de nouvelles y sont créées. Une réorganisation peut également modifier l'état, quand le réseau adopte une autre branche valide de l'historique. La commande gettxout de Bitcoin Core permet une vérification technique. Son option include_mempool détermine si les transactions en attente sont prises en compte. Une réponse null indique seulement que la sortie n'est pas disponible comme UTXO dans cette vue ; elle ne distingue pas une sortie inexistante d'une sortie déjà dépensée. Comparer les résultats demande donc de connaître l'état du nœud et la manière de l'interroger. [3]
Dépenser une sortie entière
Pour payer 600 000 sat, un portefeuille choisit un UTXO de 1 000 000 sat. Avec 1 500 sat de frais, la transaction crée une sortie de paiement de 600 000 sat et une sortie de monnaie de 398 500 sat. L’UTXO d’origine est entièrement consommé.
Pour une vision complète, lisez aussi Transaction, Full Node, Private Key, Portefeuille, Mempool. Cette entrée est également citée par Full Node, Transaction, Private Key, Portefeuille.
01Un UTXO est-il identique au solde d’un portefeuille ?+
Non. Un UTXO est une sortie précise ; le portefeuille calcule son solde à partir des sorties suivies selon leur état. Le total affiché peut ne pas être intégralement dépensable immédiatement. Le réseau suit les sorties et leurs conditions de dépense, pas un solde de compte modifiable.
02Pourquoi de nombreux petits UTXO augmentent-ils les frais ?+
Chaque entrée sélectionnée ajoute des données. Avec des types d’entrées et d’autres sorties comparables, dépenser de nombreux petits UTXO occupe plus d’octets virtuels qu’un UTXO plus grand. Au même tarif en sat/vB, les frais totaux sont donc généralement plus élevés.