Si vous nous lisez assidûment, vous avez certainement déjà rencontré le terme UTXO (Unspent transaction output) dans l’un de nos articles. Mais savez-vous de quoi il s’agit ?
Qu’est-ce qu’un modèle UTXO ? Comment ça marche ? Et à quoi ça sert ? On vous explique tout dans ce guide.
- UTXO, c’est quoi ?
- Comment est créé un UTXO ?
- Comment fonctionnent les UTXO ?
- Ça donne quoi en pratique ?
- Qu’est-ce que la consolidation des UTXO ?
- À quoi sert le modèle UTXO ?
- Quels sont ses avantages ?
- Quels sont ses inconvénients ?
- Modèle UTXO vs Modèle basé sur les comptes
- UTXO, un pilier incontournable de la blockchain
- Foire aux questions (FAQ)
UTXO, c’est quoi ?
Dans le jargon de la blockchain, l’acronyme UTXO (de l’anglais Unspent transaction output) fait référence aux sorties non dépensées d’une transaction.
En effet, les sorties d’une transaction blockchain restent “non dépensées” jusqu’à ce qu’elles soient utilisées comme entrées dans une autre transaction. Ces sorties non dépensées servent tout simplement à prouver la propriété des fonds sur différentes blockchains.
Pour mieux comprendre les UTXO, imaginez le scénario suivant :
Disons que vous avez un solde de 1 BTC et que vous souhaitez acheter quelque chose qui coûte 0,1 BTC. Vous allez donc envoyer 0,1 BTC au vendeur et garder 0,9 BTC dans votre wallet crypto. Eh bien, ces 0,9 BTC sont votre UTXO. Vous pouvez donc les utiliser pour effectuer d’autres achats ou transferts.
Mais attention, contrairement aux soldes bancaires, les UTXO restent visibles à tout un chacun. Sur la blockchain, chaque transaction a un identifiant unique appelé outpoint (point de sortie). Ce dernier représente le hachage de la transaction précédente, ainsi que sa sortie.
Ainsi, pour effectuer une nouvelle transaction blockchain, vous devez sélectionner un ou plusieurs UTXO à dépenser comme entrées. Supposons à titre d’exemple que vous possédez deux UTXO d’une valeur de 2 BTC et 4 BTC. Pour acheter un article au prix de 4,5 BTC, vous devez envoyer vos deux UTXO. Une fois la transaction terminée, le réseau vous rendra la monnaie, c’est-à-dire, un nouvel UTXO d’une valeur de 1,5 BTC.
La somme des UTXO doit être égale ou supérieure au montant envoyé, plus les frais de transaction. Une fois qu’une transaction blockchain dépense un UTXO, ce dernier ne peut pas être réutilisé.
Comment est créé un UTXO ?
Lorsque les utilisateurs effectuent une transaction sur une blockchain qui utilise le modèle de sortie de transaction non dépensée, un nouvel UTXO est créé. Ce dernier représente le solde restant de la transaction précédente, ce qui signifie que vous pouvez l’utiliser dans une nouvelle transaction.
Comme vous l’aurez compris, on ne peut avoir une sortie de transaction non dépensée sans une entrée de transaction. Une entrée est tout simplement un UTXO qui peut être utilisé dans une transaction. Lorsque ce dernier est utilisé, un deuxième UTXO est créé pour le remplacer. Cependant, vous ne pouvez le dépenser que dans une nouvelle transaction blockchain.
Comment fonctionnent les UTXO ?
De nombreuses blockchains utilisent le modèle UTXO pour suivre la propriété des pièces. Lorsqu’un utilisateur de la blockchain Bitcoin envoie des BTC à un autre utilisateur, il envoie un ou plusieurs UTXO de BTC à la clé publique de son destinataire. Le destinataire peut ensuite les utiliser comme entrée pour ses prochaines transactions.
On ne trouve les UTXO que sur les réseaux blockchains, mais on peut les comparer à des pièces de monnaie. Lorsque vous avez une pièce de monnaie dans votre portefeuille, vous pouvez la dépenser en la donnant à quelqu’un d’autre. Une fois que vous sortez cette pièce de votre portefeuille, vous ne la possédez plus et vous ne pouvez pas la dépenser une deuxième fois.
Cette règle s’applique également aux UTXO. Une fois que vous utilisez un UTXO dans une transaction blockchain, il sort complètement de votre portefeuille crypto. En d’autres termes, il ne vous appartient plus.
Ça donne quoi en pratique ?
Voici un exemple concret pour mieux comprendre le fonctionnement du modèle UTXO. Supposons que Marine souhaite envoyer 3 BTC à Olivier. Elle ouvre son portefeuille Bitcoin et y trouve deux UTXO.
Le premier représente une transaction antérieure où Marine a reçu 2 BTC, tandis que le deuxième correspond à une autre transaction où Marine a reçu 1,5 BTC.
Afin d’envoyer 3 BTC à Olivier, Marine doit utiliser ces deux UTXO en guise d’entrées.
Une fois la transaction terminée, il y aura deux sorties. Premièrement, Olivier aura 3 BTC, car il recevra un nouvel UTXO d’une valeur de 3 BTC qu’il pourra utiliser pour effectuer ses futures transactions. La différence entre la valeur d’entrée totale (3,5 BTC) et le montant envoyé par Marine (3 BTC) sera donc de 0,5 BTC. Ce montant sera envoyé à Marine en tant que nouvel UTXO. Elle pourra donc l’utiliser pour effectuer ses prochaines transactions.
Les blockchains basées sur le modèle des transactions non dépensées utilisent également ce que l’on appelle la consolidation des UTXO. Ce, afin de rendre les transactions blockchain moins chères et plus confidentielles.
Qu’est-ce que la consolidation des UTXO ?
Comme son nom l’indique, la consolidation des UTXO consiste à regrouper plusieurs sorties de transactions non dépensées en une seule sortie. Ce, afin de réduire les frais de transaction et augmenter la confidentialité.
Pour effectuer une transaction blockchain, vous devez utiliser tous vos UTXO en tant qu’entrée. Par conséquent, plus vous avez d’UTXO, plus vous aurez d’entrées et plus vos frais de transaction seront élevés. En consolidant vos UTXO, vous pouvez réduire le nombre d’entrées et économiser sur les frais.
La consolidation des sorties de transactions non dépensées permet également la création de contrats intelligents. En regroupant plusieurs UTXO en une seule sortie, vous pouvez créer une sortie qui ne peut être dépensée que lorsque certaines conditions sont remplies.
Sachez également qu’il existe deux méthodes de consolidation UTXO : la consolidation manuelle et la consolidation automatique.
La consolidation manuelle consiste à créer une nouvelle transaction en utilisant vos UTXO en tant qu’entrées, puis en envoyant le montant total en une seule sortie. En revanche, la consolidation automatique nécessite que votre portefeuille crée périodiquement de nouvelles transactions blockchain qui combinent plusieurs UTXO en une seule sortie. Comme vous l’aurez compris, la consolidation automatique se fait sans aucune intervention de votre part.
La consolidation des sorties non dépensées constitue donc un excellent moyen d’économiser sur les frais de transaction, surtout si vous utilisez régulièrement la blockchain Bitcoin. Notez également que certains wallets crypto comprennent une fonctionnalité de consolidation UTXO qui s’active automatiquement.
À quoi sert le modèle UTXO ?
Comme vous l’aurez compris, les sorties non dépenses des transactions blockchain peuvent servir à plusieurs fins, notamment :
- Créer des contrats intelligents agnostiques : dans le jargon de la blockchain, les contrats intelligents agnostiques (language-agnostic smart contracts) sont des contrats qui s’appuient sur les UTXO pour développer leurs propres mécanismes de consensus.
- Résoudre le problème des doubles dépenses : vous ne pouvez dépenser un UTXO qu’une seule fois. Grâce à cette caractéristique, personne ne peut dépenser un BTC ou un LTC plus d’une fois.
- Effectuer des swaps atomiques : basés sur les UTXO, les swaps atomiques sont un excellent moyen d’échanger des cryptomonnaies en peer-to-peer (P2P) sans passer par un intermédiaire.
- Améliorer la scalabilité : en utilisant le modèle des sorties non dépensées, les réseaux blockchain traitent chaque transaction comme un événement distinct, ce qui réduit considérablement la puissance de calcul nécessaire au traitement des transactions blockchain.
- Renforcer la confidentialité : chaque transaction UTXO nécessite la création d’une ou plusieurs nouvelles adresses. En conséquence, le suivi des transactions blockchain basées sur les UTXO peut s’avérer extrêmement difficile.
- Rendre la blockchain plus flexible : les sorties des transactions non dépensées sont plus flexibles que les monnaies fiduciaires, car elles n’ont aucune valeur prédéterminée. De ce fait, elles peuvent être divisées infiniment, apportant ainsi davantage de flexibilité aux transactions blockchain.
Quels sont ses avantages ?
Tout d’abord, le modèle UTXO apporte beaucoup plus de scalabilité à la blockchain, car le nombre de transactions traitées par seconde n’est limité que par le débit du réseau.
De même, ce modèle offre une confidentialité optimale à ses utilisateurs. En effet, toutes les transactions nécessitent la création de nouvelles adresses, ce qui les rend pratiquement impossibles à retracer.
Plus important encore, le modèle UTXO élimine complètement le fameux problème des doubles dépenses (double-spending). Comme expliqué plus haut, vous ne pouvez pas dépenser deux fois la même sortie.
Enfin, le modèle permet la création de certains types de contrats intelligents (language-agnostic smart contracts) qui ne peuvent pas fonctionner avec d’autres modèles.
Quels sont ses inconvénients ?
Malgré tous ses avantages, le modèle UTXO n’est pas sans inconvénients.
Premièrement, ce modèle peut parfois entraîner des frais de transaction plus élevés car chaque sortie nécessite une signature distincte.
Deuxièmement, il peut conduire à un phénomène appelé dust accumulation (accumulation de poussière). Comme vous l’aurez deviné, le terme poussière fait référence aux petites quantités de pièces qui ne peuvent pas être dépensées car elles sont souvent inférieures au montant minimum des transactions blockchain. Cependant, au fil du temps, cette poussière peut s’accumuler et redevenir utile.
Enfin, les UTXO ne sont pas très économes en espace. En effet, chaque UTXO représente une sortie distincte et chaque sortie doit être stockée séparément. Cela peut rapidement créer des besoins importants en matière de stockage de données, en particulier pour les applications qui traitent de gros volumes de transactions.
Modèle UTXO vs Modèle basé sur les comptes
Le modèle de sorties des transactions non dépensées est totalement différent du modèle basé sur les comptes (account-based model). Avec ce dernier, toutes vos transactions sont enregistrées dans le solde du compte. En revanche, avec le modèle UTXO, chaque transaction est enregistrée séparément.
En d’autres termes, le modèle UTXO permet d’enregistrer les transactions dans des “factures blockchain”, tandis que le modèle basé sur les comptes enregistre toutes les transactions sur les comptes des personnes qui les ont effectuées.
Contrairement aux modèles classiques, le modèle UTXO considère chaque token comme un objet et non pas comme une unité. Chaque objet a son propre historique et peut être dépensé à tout moment. Cependant, sa propriété ne doit être vérifiée que lorsqu’il est envoyé à quelqu’un d’autre.
En revanche, le modèle basé sur les comptes crée un compte séparé pour chaque utilisateur. Par conséquent, les blockchains qui l’utilisent doivent garder une trace de chaque compte et se souvenir des soldes de tous les utilisateurs.
Le tableau ci-dessous vous aidera à mieux comprendre la différence entre le modèle UTXO et le modèle basé sur les comptes :
Modèle basé sur les comptes | Modèle UTXO |
---|---|
Les transactions nécessitent moins d’espace de stockage | Les transactions nécessitent beaucoup d’espace de stockage |
Le statut de la blockchain est enregistré dans des nodes | Le statut de la blockchain est enregistré dans les transactions |
Plus ou moins sécurisé | Très sécurisé |
L’enregistrement des transactions est complexe | Le traitement des transactions est simple |
Efficace pour le traitement des lots de transactions | Peu efficace pour le traitement des lots de transactions |
UTXO, un pilier incontournable de la blockchain
Les UTXO jouent un rôle crucial dans le fonctionnement de la blockchain Bitcoin et de plusieurs autres cryptomonnaies. En plus de protéger la confidentialité des utilisateurs, ils contribuent considérablement à la décentralisation et la sécurité de la blockchain.
Foire aux questions (FAQ)
Qu’est-ce qu’un UTXO ?
Comment fonctionne une transaction UTXO ?
À quoi sert le modèle UTXO de Bitcoin ?
Où sont stockés les UTXO Bitcoin ?
Quelles sont les blockchains basées sur le modèle UTXO ?
Avis de non-responsabilité
Avis de non-responsabilité : Conformément aux directives de The Trust Project, le contenu éducatif de ce site est proposé de bonne foi et à des fins d'information générale uniquement. BeInCrypto a pour priorité de fournir des informations de haute qualité, en consacrant du temps à la recherche et à la création d'un contenu informatif pour les lecteurs. Bien que des partenaires puissent récompenser l'entreprise avec des commissions pour des placements dans les articles, ces commissions n'influencent pas le processus de création de contenu impartial, honnête et utile. Toute action entreprise par le lecteur sur la base de ces informations se fait strictement à ses propres risques.