Skip to content
Guide intermédiaire

Les UTXO de Bitcoin expliqués : entrées, sorties et monnaie rendue

Ce qu'est un UTXO Bitcoin, comment une entrée dépense une sortie antérieure, pourquoi une sortie de monnaie apparaît et d'où viennent les frais.

8 min de lectureBitcoinUTXOTransactions

Un UTXO (unspent transaction output) est une sortie de transaction non dépensée : un montant de bitcoin créé par une transaction antérieure et qu'aucune transaction ultérieure n'a encore dépensé. Chaque transaction consomme des sorties existantes par ses entrées et en crée de nouvelles à leur place.

Le solde affiché par votre wallet est donc une somme, et non un compte que le protocole tiendrait pour vous. Un wallet qui indique 10 000 satoshis peut les détenir dans une seule sortie ou répartis sur plusieurs (guide développeur Bitcoin : transactions).

Qu'est-ce qu'un UTXO Bitcoin ?

Toute sortie de transaction réunit deux éléments : un montant et des conditions. Le montant est exprimé en satoshis, la plus petite unité enregistrée par le protocole ; un BTC en compte 100 millions. Les conditions figurent dans ce que la documentation de référence appelle le pubkey script, et quiconque voudra dépenser la sortie devra les remplir. Dans le cas le plus courant, il s'agit de prouver qu'on détient la clé privée associée à une adresse, mais un script peut tout aussi bien exiger plusieurs signatures (référence des transactions Bitcoin, section TxOut).

Une sortie reste non dépensée tant qu'aucune entrée ne la réclame. Une fois dépensée par une transaction valide inscrite dans la blockchain, elle l'est pour de bon.

Des sorties, pas un solde de compte

Un compte bancaire, c'est un seul chiffre qui monte et qui descend. Bitcoin ressemble davantage à un porte-monnaie rempli de billets aux valeurs biscornues. Recevez trois paiements et vous détenez en général trois sorties distinctes, pas un solde plus gros. Chacune garde son montant et ses conditions jusqu'à ce qu'elle soit dépensée.

Une sortie n'est pas pour autant une personne, et une adresse non plus. Un même wallet peut contrôler des milliers de sorties réparties sur de nombreuses adresses, tandis qu'un service qui conserve des coins pour ses clients peut regrouper les fonds de beaucoup de gens derrière quelques adresses. Le modèle UTXO décrit des morceaux de valeur et les règles pour les dépenser, pas l'identité de leurs propriétaires.

Comment les entrées d'une transaction dépensent-elles des UTXO ?

Une entrée ne contient aucun bitcoin. C'est une référence vers une sortie qui existe déjà, accompagnée des données nécessaires pour la déverrouiller.

Un identifiant de transaction et un index de sortie

Pour que la référence soit sans ambiguïté, une entrée indique deux choses : l'identifiant (txid) de la transaction qui a créé la sortie, et la position de cette sortie dans la transaction. Cette position s'appelle l'index de sortie, souvent noté vout, et la numérotation commence à 0 : la deuxième sortie d'une transaction porte donc l'index 1. On voit souvent les deux réunis sous la forme txid:vout (référence des transactions Bitcoin, sections TxIn et Outpoint).

En plus de la référence, l'entrée fournit les données qui remplissent les conditions de la sortie dépensée. Pour la sortie classique à clé unique que décrit le guide développeur, ce sont une signature et la clé publique correspondante ; d'autres types de sorties, y compris des formats plus récents, peuvent exiger d'autres données. Chaque nœud vérifie la correspondance de son côté, et si les conditions ne sont pas remplies, la transaction entière est invalide (guide développeur Bitcoin : transactions).

Que devient une sortie dépensée ?

Elle est consommée, entièrement et une seule fois. Une transaction ultérieure qui ferait de nouveau référence à la même sortie serait une double dépense, et les nœuds la rejettent (guide développeur Bitcoin : block chain). L'ancienne sortie n'est jamais modifiée ni réduite. Pour ne déplacer qu'une partie de sa valeur, la transaction la consomme en totalité et répartit le montant sur de nouvelles sorties.

Un type de transaction échappe à cette logique : la transaction coinbase. Les mineurs la créent dans chaque bloc, elle n'a aucune sortie antérieure à dépenser, et ses sorties versent la subvention de bloc ainsi que les frais des autres transactions du bloc (référence des transactions Bitcoin, section TxOut). La suite ne concerne que les transactions ordinaires, hors coinbase.

Une transaction hypothétique à deux entrées

Les chiffres sont inventés pour garder un calcul lisible. Ils ne constituent pas une suggestion de frais et ne disent rien de l'état actuel du réseau.

Votre wallet détient deux UTXO, l'un de 0,7 BTC, l'autre de 0,3 BTC, et vous voulez payer 0,25 BTC à quelqu'un. L'algorithme de sélection du wallet retient les deux sorties. La sortie de 0,3 BTC aurait suffi à elle seule ; chaque wallet applique ses propres règles de sélection, et deux entrées rendent simplement l'exemple plus parlant.

Suivre les montants

La transaction comporte deux entrées, une par sortie dépensée : 1,0 BTC entre donc dans la transaction. Elle crée deux sorties, 0,25 BTC verrouillés sur l'adresse du destinataire et 0,7499 BTC verrouillés sur une adresse contrôlée par votre wallet. Cette seconde sortie, c'est la monnaie rendue. Ensemble, les sorties contiennent 0,9999 BTC.

PosteBTCSatoshis
Entrée A (dépense la sortie de 0,7 BTC)0,770 000 000
Entrée B (dépense la sortie de 0,3 BTC)0,330 000 000
Total des entrées1,0100 000 000
Sortie de paiement0,2525 000 000
Sortie de monnaie rendue0,749974 990 000
Total des sorties0,999999 990 000
Frais : entrées moins sorties0,000110 000

Une fois la transaction confirmée, vos deux anciens UTXO sont dépensés. Deux nouvelles sorties existent à leur place et, tant que personne ne les dépense, ce sont à leur tour des UTXO : le destinataire peut dépenser celle de 0,25 BTC, votre wallet celle de 0,7499 BTC.

L'index d'une sortie découle uniquement de sa position dans la transaction (guide développeur Bitcoin : transactions), et c'est celui qui construit la transaction qui choisit cet ordre. Le paiement peut se trouver à l'index 0 ou 1, la monnaie rendue aussi ; aucune règle du protocole ne place le destinataire en premier.

Pourquoi y a-t-il une sortie de monnaie rendue ?

Parce qu'un UTXO doit être dépensé en entier. Comme le note le guide développeur, rares sont ceux qui détiennent des UTXO correspondant exactement au montant à payer, si bien que la plupart des transactions comportent une sortie de monnaie (guide développeur Bitcoin : transactions, section Transaction Fees And Change). Sans elle, tout l'excédent deviendrait des frais. Supprimez la sortie de monnaie de l'exemple, et le mineur pourrait encaisser 0,75 BTC.

La monnaie rendue est une sortie ordinaire, pas un remboursement

L'expression évoque les pièces qu'on vous rend à la caisse. En réalité, rien ne revient. La sortie de monnaie est une nouvelle sortie de la même transaction, construite exactement comme la sortie de paiement, et le protocole ne prévoit aucun champ qui la signale comme telle. Votre wallet la reconnaît parce qu'il détient la clé ; la blockchain, elle, ne l'étiquette pas.

La monnaie peut repartir vers l'adresse d'où venaient les coins dépensés, mais rien ne l'impose techniquement. Le guide développeur recommande vivement une nouvelle adresse, car la réutilisation d'adresses permet plus facilement à des tiers de relier vos paiements entre eux (guide développeur Bitcoin : transactions, section Avoiding Key Reuse). Où qu'elle aille, la monnaie rendue pourra ensuite être dépensée comme n'importe quel UTXO.

Où se trouvent les frais de transaction ?

Dans aucune sortie. Dans une transaction ordinaire, les frais correspondent à la valeur apportée par les entrées que les sorties ne reversent pas. Une transaction hors coinbase dont les sorties dépassent les entrées est rejetée. Si les entrées sont supérieures, le mineur dont le bloc inclut la transaction peut réclamer la différence au titre des frais (guide développeur Bitcoin : block chain). Aucune ligne « frais » ne figure dans la transaction : le montant découle de la soustraction.

Erreur fréquente : ne retrancher que le paiement des entrées. Dans l'exemple, on obtiendrait 1,0 − 0,25 = 0,75 BTC, ce qui est très loin du compte. Il faut aussi déduire la sortie de monnaie : 1,0 − 0,25 − 0,7499 = 0,0001 BTC.

Le niveau souhaitable des frais est une autre question. Les frais dépendent de la taille de la transaction, pas du montant envoyé (guide développeur Bitcoin : transactions). Depuis la mise à jour SegWit, cette taille se mesure en octets virtuels (vB) et non plus en octets bruts (BIP 141), et chaque entrée ou sortie supplémentaire alourdit la transaction. Taux de frais et délais de confirmation relèvent d'un autre sujet.

Comment lire les entrées et les sorties dans un explorateur de blocs ?

Un explorateur de blocs affiche une transaction à peu près telle que le protocole l'enregistre. La présentation varie, mais on y trouve en général :

  • le txid de la transaction ;
  • côté entrées, les sorties dépensées, chacune avec sa référence txid:vout et son montant ;
  • côté sorties, chaque nouvelle sortie avec son index, son montant et l'adresse ou le script qui la verrouille ;
  • pour chaque nouvelle sortie, l'indication qu'elle a été dépensée depuis ou non.

Ce que la page n'affiche pas compte tout autant. Elle n'indique pas quelle sortie est la monnaie rendue. Les observateurs devinent souvent, par exemple en repérant une sortie qui revient vers une adresse présente parmi les entrées, mais un wallet qui envoie la monnaie vers une adresse neuve déjoue facilement ce genre d'hypothèse. Elle ne dit pas non plus qui contrôle les adresses. Ni s'il y a eu une vente : déplacer des coins entre deux de vos propres wallets produit la même structure qu'un paiement à un inconnu.

Les indicateurs on-chain reposent précisément sur ces sorties dépensées et non dépensées. Les bases de l'analyse on-chain montrent comment les analystes exploitent l'ensemble des UTXO, et le SOPR de Bitcoin expliqué présente un ratio calculé à partir des sorties dépensées.

Ce que le modèle UTXO ne dit pas

La chaîne enregistre une structure : quelles sorties ont été dépensées ou créées, avec quels montants et quelles conditions. L'identité, l'intention et le prix n'y figurent pas. Un mouvement on-chain ne prouve aucun changement de propriétaire et ne comporte aucun prix d'achat ; toute valeur en dollars associée à une sortie provient d'un historique de prix distinct. Savoir si une transaction a une portée fiscale est une question juridique qu'un graphe de transactions ne peut pas trancher.

Pour le contexte général du réseau, voir qu'est-ce que le Bitcoin. La page Bitcoin de CoinVett situe le BTC dans son contexte de marché ; ce n'est pas un explorateur de transactions.

Face à une transaction, gardez une comptabilité nette. Chaque entrée éteint entièrement une sortie antérieure, chaque sortie est un nouvel UTXO potentiel, et la monnaie rendue n'est que l'une d'elles. Les frais, c'est ce qui reste une fois toutes les sorties, monnaie comprise, retranchées des entrées.

Avertissement : les montants de l'exemple chiffré sont fictifs et ne constituent pas une recommandation de frais ; les sources sont liées dans le texte. À titre d'information uniquement, il ne s'agit pas d'un conseil en investissement.

Questions fréquentes

Peut-on dépenser une partie seulement d'un UTXO Bitcoin ?

Non. Une entrée consomme toujours en totalité la sortie à laquelle elle fait référence. Pour n'envoyer qu'une partie du montant, la transaction crée une sortie de paiement et, en général, une nouvelle sortie de monnaie pour le reste, frais déduits.

La monnaie rendue est-elle toujours la deuxième sortie, ou renvoyée à mon adresse d'origine ?

Non. Le wallet qui construit la transaction décide de l'ordre des sorties : la monnaie peut donc occuper n'importe quel index. Elle peut aussi partir vers une nouvelle adresse, ce que recommande le guide développeur Bitcoin. À partir de la seule transaction, un observateur extérieur ne peut pas savoir avec certitude quelle sortie est la monnaie rendue.

Où se trouvent les frais dans une transaction Bitcoin ?

Dans les transactions ordinaires hors coinbase, il n'existe pas de sortie dédiée aux frais. Ceux-ci correspondent au total des entrées moins le total de toutes les sorties, monnaie rendue comprise, et le mineur du bloc peut les réclamer. Dans l'exemple hypothétique, 1,0 BTC en entrée et 0,9999 BTC en sortie laissent 0,0001 BTC de frais.

Coins associés à explorer

Envie d'approfondir ? Consultez ces pages de coins pour voir les données de marché et les analyses IA.

Guides similaires

Ces guides couvrent des sujets proches et constituent de bonnes prochaines lectures.

Prêt à passer à l'action ?

Le trouveur de profil crypto vous aide à explorer une catégorie de profil éducative à partir de vos réponses.

Continuer à apprendre

Bitcoin : comment ça marche, en 2 minutes

Guide suivant →
Équipe éditoriale

Équipe CoinVett

L'équipe éditoriale de CoinVett combine une expertise du marché crypto avec des outils d'analyse alimentés par l'IA.

Ce site n'utilise que les cookies strictement nécessaires à son fonctionnement. Aucun suivi publicitaire, aucune mesure d'audience non essentielle.