35 / 736UTXO+

Coin Control

Choisir les fonds à dépenser

Une fonction pour choisir quels paiements reçus serviront à payer. Elle aide à maîtriser les frais et les liens publics entre vos fonds.

Coin Control permet de choisir soi-même les fonds d’un paiement. Un solde en bitcoins se compose de sorties de transactions antérieures encore non dépensées, appelées UTXO. Le portefeuille les sélectionne généralement automatiquement ; Coin Control vous laisse prendre cette décision.

UTXO : calculatrice de consolidationComparez les frais modélisés d’une dépense groupée ultérieure des UTXO à une consolidation aujourd’hui suivie de la dépense d’une entrée.

Alice reçoit 120 000 sat pour un travail, puis 80 000 sat en cadeau. Le sat est la plus petite unité du bitcoin. Son portefeuille affiche 200 000 sat, mais ce total correspond ici à deux UTXO distincts. Elle n’est pas obligée de dépenser les deux pour payer. Avec Coin Control, elle ouvre leur liste et choisit, par exemple, seulement la rémunération du travail. Les étiquettes « travail » et « cadeau » l’aident à s’y retrouver : ce sont ses notes dans le portefeuille, pas des preuves de provenance. Sans raison particulière de sélectionner des fonds, elle peut laisser le portefeuille choisir. [3]

Alice choisit l’UTXO de 120 000 sat pour envoyer 100 000 sat. La sortie est dépensée en entier, comme un billet dont on vous rend la monnaie. Supposons que la transaction finale ait une taille virtuelle de 200 vB et un taux de frais de 5 sat/vB. Le vB est une unité de taille utilisée pour calculer les frais : ils s’élèvent ici à 1 000 sat. Le destinataire reçoit 100 000 sat et 19 000 sat reviennent à Alice dans une nouvelle sortie, le change. L’UTXO de 80 000 sat reste intact. Cet exemple suppose une taille donnée et des frais payés par l’expéditeur ; il ne décrit pas la taille de tous les paiements. [4]

Chaque UTXO dépensé devient une entrée de la nouvelle transaction et y ajoute des données. À type d’entrée et taux de frais identiques, payer avec dix petites sommes coûte donc généralement plus cher qu’avec une seule grosse somme. Les frais ne sont pas un pourcentage du montant envoyé : ils dépendent de la taille et du taux choisi. Réunir plusieurs petits UTXO dans une seule sortie vous appartenant s’appelle une consolidation. Lorsque les taux sont faibles, elle peut simplifier les paiements futurs et réduire leurs frais, mais elle coûte elle-même des frais et relie publiquement les fonds utilisés. [1]

Si Alice dépense la rémunération et le cadeau dans une même transaction, un observateur de la blockchain peut supposer qu’une personne contrôle les deux. La blockchain est un registre public des transactions. Les étiquettes privées d’Alice n’y figurent pas, mais l’association des entrées est visible. Les sélectionner séparément peut éviter ce lien précis. Cela ne garantit pas l’anonymat : d’autres relations peuvent déjà être connues. Des entrées communes ne prouvent pas non plus qu’il existe un propriétaire unique. Payjoin permet, par exemple, à l’expéditeur et au destinataire de fournir des entrées pour un même paiement. [2]

Les 19 000 sat ne sont pas renvoyés à Alice plus tard dans une autre transaction. Le change est créé directement dans le paiement, sous forme d’une nouvelle sortie pour son portefeuille. Ce reste provient lui aussi de sa rémunération. Si elle le dépense ensuite avec le cadeau, elle peut créer le lien qu’elle avait évité. Il faut donc suivre également les sorties de change et ne pas confondre nouvelle adresse et nouveau départ pour la confidentialité. Un change important signifie que la valeur sélectionnée dépasse largement le paiement et les frais ; ce n’est pas en soi une erreur de sélection. [2]

Avant de signer, Alice vérifie les entrées réellement utilisées, l’adresse complète du destinataire, le montant, son change et les frais totaux. La signature autorise une transaction précise ; cocher des cases ne suffit pas à terminer un paiement. Les fonds sélectionnés doivent couvrir le montant et les frais. Dépenser des fonds encore non confirmés rend le nouveau paiement dépendant de la transaction qui les a apportés. Si cette transaction précédente n’entre jamais dans la blockchain, le paiement qui dépense sa sortie ne peut pas non plus être confirmé. La sélection manuelle doit aider à comprendre le paiement, pas inciter à modifier des réglages dont on ignore les conséquences. [4]

Cela dépend du logiciel et de sa version. Dans Bitcoin Core v29.0, fundrawtransaction active add_inputs par défaut : si les entrées fournies sont insuffisantes, d’autres peuvent être ajoutées. Pour dépenser uniquement les UTXO choisis, il faut vérifier cette option et la proposition finale. listunspent permet d’inspecter les sorties disponibles. txid identifie la transaction précédente et vout la position de sa sortie ; ensemble, ils désignent un UTXO. solvable signifie que le logiciel sait comment cette sortie pourrait être dépensée, pas qu’il possède les clés privées nécessaires. Construire la transaction ne fournit pas les signatures manquantes. [4] [3]

Coin Control est utile quand vous savez pourquoi séparer certains paiements reçus ou souhaitez comprendre le coût de leur dépense. Il ne remplace pas une sauvegarde sûre, ne change pas l’histoire des fonds et n’efface pas un lien déjà publié. Il n’est pas nécessaire de l’utiliser à chaque paiement. L’essentiel est de reconnaître quand la sélection automatique vous convient et quand décider vous-même, puis de vérifier que la transaction préparée correspond bien à votre intention. [3] [2]

Pour une vision complète, lisez aussi UTXO, Portefeuille, Change Address, Confidentialité de Bitcoin. Cette entrée est également citée par Change Address, CoinJoin, Confidentialité de Bitcoin, Coin Selection.

DOC · 001BIP 141: transaction weightSource primaire DOC · 002BIP 78: Payjoin and ownership heuristicsSource primaire DOC · 003Bitcoin Core v29.0: listunspentDocumentation DOC · 004Bitcoin Core v29.0: fundrawtransactionDocumentation
Révisé le: Sources d’abord · Pas un conseil financier