Bitcoin-UTXO : Principes de base et solutions au problème des UTXO poussières
Les UTXO de bitcoin sont des composants fondamentaux de la blockchain de bitcoin et jouent un rôle crucial dans les transactions sur le réseau. Néanmoins, on leur accorde souvent trop peu d'attention, ce qui peut entraîner des complications ultérieures telles que les poussières-UTXO, en particulier dans un plan d'épargne. Il est donc d'autant plus important de comprendre la structure d'une transaction bitcoin, les UTXO et les problèmes qu'ils peuvent causer, et de prendre des mesures pour éviter les problèmes futurs.
En bref : qu'est-ce qu'un UTXO ?
L'abréviation UTXO signifie « Unspent Transaction Output ». Un UTXO représente une certaine quantité de bitcoins dans un portefeuille qui n'a pas encore été dépensée ou utilisée.
Pour comprendre le concept d'UTXO et la signification du problème des UTXO, il est d'abord essentiel d'examiner de plus près le principe d'une transaction bitcoin.
Les transactions bitcoin : le principe
Une transaction bitcoin est l'élément constitutif essentiel du réseau bitcoin qui permet de transférer des bitcoins entre différentes parties. Divers facteurs jouent ici un rôle :
Les éléments constitutifs d'une transaction bitcoin
- ID de transaction (TxID) : numéro d'identification unique qui identifie chaque transaction sur le réseau.
- Entrées : les entrées d'une transaction font référence aux UTXO préexistants reçus lors de transactions précédentes. Ces entrées indiquent combien de bitcoins doivent être traités dans la transaction et font référence aux adresses bitcoin des UTXO.
- Sorties : les sorties déterminent où le bitcoin doit être envoyé. Chaque sortie contient une adresse bitcoin et le montant de bitcoin qui sera envoyé à cette adresse.
- Frais : Frais de réseau que la personne effectuant la transaction offre aux mineurs pour les inciter à inclure la transaction dans un bloc de la chaîne de blocs. Les transactions dont les frais sont plus élevés sont généralement traitées en priorité.
Processus d'une transaction bitcoin –– Exemple
Supposons que Pierre souhaite envoyer 0,1 bitcoin à Anna. Le processus est le suivant :
- Pierre crée une nouvelle transaction dans son portefeuille dans laquelle il désigne Anne comme destinataire et définit le montant. Dans ce cas, le montant est de 0,1 bitcoin.
- Le portefeuille recherche alors un UTXO approprié dans le portefeuille de Pierre qui peut couvrir le montant souhaité. Par exemple, supposons que Pierre ait un UTXO avec 0,2 bitcoin dans son portefeuille.
- Le portefeuille utilise maintenant cet UTXO comme entrée pour la nouvelle transaction et spécifie que 0,1 bitcoin doit être envoyé à Anna.
- Le portefeuille génère maintenant une signature numérique pour prouver qu'il est autorisé à utiliser le bitcoin de l'UTXO sélectionné.
- La transaction est envoyée au réseau bitcoin et incluse dans un bloc de la blockchain par les mineurs moyennant des frais de transaction. Dans cet exemple, nous supposons que ces frais sont de 0,01 bitcoin.
- Une fois la transaction confirmée dans le bloc, Anna reçoit les 0,1 bitcoin dans son portefeuille et l'UTXO de 0,2 bitcoin dans le portefeuille de Pierre est marquée comme « dépensée » et ne peut plus être utilisée pour d'autres transactions. Cela crée deux nouveaux UTXO. Le reste de l'UTXO d'origine moins les frais de 0,01 bitcoin donne un nouvel UTXO de 0,09 bitcoin dans le portefeuille de Peter et un UTXO de 0,1 bitcoin dans le portefeuille d'Anna.

Le principe UTXO et ses effets
Comme déjà expliqué dans la structure et le processus de transaction, les UTXO jouent un rôle majeur dans les transactions bitcoin. Pour comprendre plus en détail les effets de ce principe, examinons quelques aspects importants :
Qu'est-ce qu'un UTXO ?
Un UTXO est une sortie dans la blockchain bitcoin qui n'a pas encore été utilisée comme entrée dans une transaction. En d'autres termes, il s'agit d'un montant de bitcoin qui n'a pas encore été utilisé et dépensé dans une nouvelle transaction. En revanche, les sorties qui ont déjà été utilisées comme entrée dans une transaction sont appelées « Spent Transaction Output ».
Le solde d'une adresse bitcoin résulte donc de la somme des UTXO qui sont attribuées à cette adresse. Chaque fois qu'une transaction bitcoin a lieu, une ou plusieurs UTXO non utilisées sont utilisées comme entrée et de nouvelles sorties, qui à leur tour peuvent être utilisées comme UTXO, sont générées. Ce concept permet un suivi transparent et sécurisé de la transaction bitcoin dans la blockchain et empêche le « problème de double dépense », c'est-à-dire qu'un bitcoin puisse être dépensé plusieurs fois.
Différence entre une transaction et un UTXO
La différence entre une transaction et un UTXO réside dans leur fonction et leur statut dans la blockchain. Une transaction est le processus de transfert de bitcoins lui-même, dans lequel les UTXO sont utilisés comme entrées. Un UTXO, en revanche, est le montant de bitcoins non utilisé qui n'a pas encore été utilisé comme entrée dans une transaction et qui est donc toujours disponible pour de futures transactions.
Il est important de comprendre que les UTXO ne peuvent pas être transférés directement, mais seulement indirectement par la création et la confirmation de nouvelles transactions. Dans le réseau Bitcoin, le modèle UTXO est utilisé pour garantir que seul le montant de bitcoins disponible peut être dépensé.
Impact sur les frais de transaction
Les frais de réseau qui doivent être payés pour une transaction ne sont pas directement liés au montant de bitcoins envoyé, mais plutôt au nombre d'UTXO impliqués dans cette transaction. Cela peut prêter à confusion à première vue, car on pourrait penser que le transfert de plus grandes quantités de bitcoins entraînerait automatiquement des frais plus élevés.
Cependant, la principale raison des différences de frais réside dans la manière dont les transactions sont traitées dans la blockchain bitcoin. En effet, chaque UTXO doit être inclus individuellement dans la transaction, et chaque UTXO contribue à la quantité totale d'espace de stockage nécessaire. Plus il y a d'UTXO utilisés dans une transaction, plus l'espace de stockage nécessaire est important.
L'exemple suivant peut être utilisé pour illustrer cela : supposons qu'une transaction consiste en une combinaison de dix petits UTXO, chacun valant 0,001 BTC. La valeur totale de ces UTXO est donc de 0,01 BTC. Cependant, une autre transaction n'utilise qu'un seul UTXO d'une valeur de 0,01 BTC. Bien que les deux transactions aient la même valeur totale de 0,01 BTC, la première transaction nécessitera des frais plus élevés car elle occupe plus d'espace de stockage dans un bloc.
Ainsi, comme décrit dans notre exemple, les transactions avec de nombreux petits UTXO nécessiteront plus d'espace de stockage dans un bloc que les transactions avec des UTXO moins nombreux mais plus importants, même si le montant total de bitcoins dans les deux transactions est le même.
En résumé, cela signifie que les frais de réseau n'augmentent pas de manière linéaire avec le montant de bitcoins transférés, comme on pourrait le supposer au départ, mais qu'ils sont plutôt influencés par le nombre d'UTXO et les besoins en espace de stockage qui en résultent.
Résumé des faits les plus importants concernant les UTXO :
- UTXO signifie Unspent Transaction Output (sortie de transaction non dépensée). Il s'agit des sorties d'une transaction qui n'ont pas encore été émises.
- Le modèle UTXO est utilisé pour empêcher la double dépense.
- Les UTXO sont des éléments importants d'une transaction bitcoin.
- Une fois qu'un UTXO a été dépensé, il est marqué comme « dépensé » et ne peut plus être utilisé.
- Après qu'un UTXO a été dépensé, un nouvel UTXO est créé avec un nouveau montant.
- Les frais d'une transaction bitcoin sont calculés en fonction de la taille de la mémoire de la transaction. Les transactions plus importantes occupent plus d'espace dans le bloc et nécessitent plus de ressources de la part des mineurs.
- Les transactions avec de nombreux UTXO ont des frais plus élevés que les transactions avec peu d'UTXO.
Le principe du bitcoin s'apparente davantage à de l'argent liquide qu'à un compte bancaire
L'impact sur les frais de transaction peut être illustré encore plus simplement en comparant les UTXO aux pièces de monnaie physiques : lorsque votre portefeuille reçoit une transaction bitcoin, c'est comme si quelqu'un mettait une pièce dans votre portefeuille physique. En effet, un portefeuille bitcoin stocke toutes les transactions individuelles ensemble.
Imaginez donc que vous recevez régulièrement de nombreux petits UTXO dans votre portefeuille, comme si vous stockiez de nombreuses petites pièces dans votre portefeuille physique. Dans une transaction physique, il est plus facile de payer la valeur de 100 euros avec un billet de 100 euros ou deux billets de 50 euros qu'avec un grand nombre de pièces. En effet, un billet de 100 euros prend moins de place qu'une centaine de pièces de 1 euro, par exemple.
Ce principe s'applique également aux UTXO, car un UTXO nécessite moins d'espace de stockage que, par exemple, 100 UTXO, alors qu'il faudrait supposer que le billet de 100 euros occupe le même espace dans le portefeuille qu'une pièce de 1 euro. Cela signifie qu'il faut plus d'efforts physiques pour sortir une centaine de pièces de 1 euro de son portefeuille qu'un billet de 100 euros. L'effort plus important mentionné dans cet exemple est comparable aux frais de transaction plus élevés pour de nombreux UTXO, car les mineurs doivent utiliser plus de ressources pour traiter plus de données.
Vous avez également de nouveaux UTXO après une transaction en espèces. Par exemple, si vous devez payer 50 euros mais que vous n'avez qu'un billet de 100 euros à disposition, vous recevrez 50 euros en retour. Le billet de 100 euros peut donc être considéré comme un UTXO dans le portefeuille et est divisé en 2 fois 50 euros après le paiement, une fois en 50 euros, que le destinataire reçoit et qui représente un nouvel UTXO dans son portefeuille, et une fois en monnaie reçue, également 50 euros, qui représente désormais un nouvel UTXO dans le portefeuille du payeur.
Le problème des UTXO de poussière et ses effets
Lorsqu'on accumule régulièrement des bitcoins dans le cadre d'un plan d'épargne pour bénéficier de l'effet de l'achat périodique par sommes fixes, les UTXO « poussiéreux » peuvent devenir un problème potentiel. On parle d'UTXO « poussiéreux » lorsque le montant de l'UTXO est inférieur aux frais de transaction moyens actuels. Par conséquent, le montant en bitcoins ne peut plus être transféré ou « se réduit en poussière » car il est complètement consommé par les frais de transaction lors d'un transfert.
Un plan d'épargne régulier présente un certain risque à cet égard, car de nombreux petits UTXO contenant une petite quantité de bitcoins s'accumulent au fil du temps, en fonction de la régularité et du montant.
Par exemple, si vous investissez actuellement 100 euros par semaine dans le bitcoin, vous pouvez encore bien les dépenser, car les frais de transaction s'élèvent actuellement (mars 2024) à quelques milliers de sats, soit 1 à 2 euros par transaction. Mais en investissant 5 euros par jour, vous accumulez des UTXO assez petits à chaque transaction qui pourraient bientôt devenir des UTXO poussiéreux. Aujourd'hui déjà, plus de 10 % du montant d'un UTXO aussi petit serait consommé lors d'une transaction.
Exemple : 5 EUR = 0,00019 BTC
Frais de transaction moyens : 200-1000 sats = 5 à 27 cents
Frais de transaction moyens : 1 000-2 000 sats = 1 à 2 euros
Cependant, si les frais de transaction continuent d'augmenter, ce qui est à prévoir dans les prochaines années, et au moment où ces UTXO d'un montant de 0,00019 BTC ou 0,000076 BTC doivent être dépensés, les frais de transaction moyens sont de 0,0002 BTC ou plus, alors la personne qui veut dépenser ou déplacer les UTXO doit payer plus de frais en bitcoins que le nombre de bitcoins à transférer. Ainsi, le montant en bitcoins s'est « réduit en poussière » car il ne peut plus être transféré à faible coût.
Par conséquent, il est important d'empêcher que de telles UTXO ne se produisent. Cela peut être assuré par la gestion des UTXO. La gestion des UTXO est particulièrement importante lorsque les frais de transaction sont susceptibles d'augmenter.
Plusieurs raisons peuvent expliquer une augmentation des frais de transaction. Par le passé, par exemple, les frais ont augmenté lors de l'introduction de la mise à jour des ordinaux. Cependant, des augmentations peuvent également se produire théoriquement après une réduction de moitié (halving), car la récompense de bloc est divisée par deux.
Solutions au problème des UTXO « poussiéreux » avec un empilement régulier de bitcoins
- Consolidation des UTXO : Une façon de minimiser le problème des UTXO « poussiéreux » consiste à consolider vos achats réguliers de bitcoins en fusionnant plusieurs petites UTXO en UTXO plus grandes. Cela réduira le nombre d'UTXO dans votre portefeuille, ce qui se traduira par une diminution des données de transaction et donc des frais. Notez toutefois que la fusion d'UTXO entraîne également des frais de transaction et qu'il est donc conseillé de planifier cela avec soin.
- Calcul efficace des frais : Choisissez un portefeuille bitcoin qui calcule efficacement les frais et vous permet d'ajuster manuellement les frais de transaction. En ajustant les frais en fonction des conditions actuelles du réseau, vous pouvez vous assurer que vos transactions sont confirmées rapidement ou à faible coût.
Le potentiel du réseau Lightning
D'importants travaux sont déjà en cours pour trouver des solutions permettant de résoudre ou de contourner le problème des UTXO à long terme. En effet, il est particulièrement important pour les microtransactions qu'il n'y ait pas de frais élevés qui ont un impact disproportionné sur un petit achat.
Une solution possible à ce problème est le réseau Lightning. Le réseau Lightning offre la possibilité d'empiler de plus petits montants et de réduire les coûts de transaction. En exécutant plus de transactions en dehors de la blockchain, le réseau Lightning peut améliorer l'évolutivité et réduire le problème des UTXO.
Différents services permettent d'acheter des bitcoins directement via Lightning et de les stocker dans un portefeuille auto-géré. Cela élimine le problème des UTXO de poussière, mais il est important de noter que les portefeuilles Lightning sont des portefeuilles chauds et qu'ils ne sont pas adaptés pour contenir de grandes quantités de bitcoins. Cela signifie que Lightning ne peut actuellement pas offrir de solution définitive au problème.
Résumé et perspectives
La communauté bitcoin travaille en permanence sur de nouveaux développements et solutions pour optimiser le réseau. Les améliorations futures pourraient faciliter la gestion des UTXO et optimiser davantage la structure des frais. Il est donc conseillé aux personnes qui utilisent le bitcoin de se tenir au courant de ces détails techniques et de ces développements afin de pouvoir utiliser le bitcoin de manière efficace et rentable. En consolidant consciemment les UTXO et en utilisant des portefeuilles efficaces, vous pouvez réduire l'impact du problème des UTXO et exploiter les avantages potentiels du réseau Lightning.
Partager ce contenu
Si vous avez aimé ce contenu, partagez-le avec vos amis. Si vous pensez qu'il manque quelque chose ici, contactez-nous.