
Guide essentiel sur le Bitcoin II : l'héritage et l'évolution du modèle UTXO
TechFlow SélectionTechFlow Sélection

Guide essentiel sur le Bitcoin II : l'héritage et l'évolution du modèle UTXO
Les UTXO peuvent non seulement aider le mécanisme de consensus à résoudre le problème du double dépense dans la blockchain, mais confèrent également à celle-ci une traçabilité.
Auteurs : Echo, BiHelix ; Satoshi Labs
Encadrement : Hong Shuning
Introduction
« Les blockchains UTXO ont posé les bases fondamentales et incontestables de l'industrie blockchain actuelle. La technologie UTXO reflète la vision centrale de Satoshi Nakamoto sur la liberté financière ultime. » Le modèle UTXO garantit la sécurité au cœur des activités financières, ainsi que la confidentialité des données et la scalabilité, en constituant une alternative plus sûre au modèle de comptes d'Ethereum.
Principes de la blockchain : les bases du modèle UTXO
Une blockchain est un grand livre numérique, décentralisé et distribué. Elle utilise un réseau pair-à-pair (P2P), dont les participants sont appelés nœuds. Ce registre stocke des données relatives aux transactions. La caractéristique essentielle de la blockchain réside dans le fait que les blocs y sont liés cryptographiquement les uns aux autres.
La blockchain : des blocs liés cryptographiquement
• Chaque bloc de la chaîne, à l’exception du premier (appelé bloc génèse), contient un champ nommé « hash précédent ». Il s'agit de la valeur de hachage du bloc précédent dans la chaîne, qui constitue également la base de la sécurité de la blockchain.

• Les facteurs déterminant le hachage d’un bloc. Si l'un de ces quatre éléments change, même d’un seul bit, le hachage sera complètement modifié, en raison de l'effet d'avalanche. Les transactions, stockées à l’intérieur des blocs, font partie de ces quatre facteurs influençant le hachage du bloc. Cela signifie que si un mineur sélectionne différentes transactions tout en gardant les quatre autres facteurs identiques, le hachage obtenu sera différent.
1. Horodatage
2. Numéro de bloc : numéro d’ordre du bloc courant dans la chaîne.
3. Données : transactions stockées sur le bloc.
4. Nonce
• Si un attaquant tente de modifier les données d’un bloc, son hachage changera. Comme indiqué précédemment, le bloc suivant conserve le hachage du bloc actuel ; si ce dernier change, la chaîne est rompue. L’attaquant devrait alors miner à nouveau tous les blocs à partir de ce point. C’est une possibilité dans une attaque par 51 %.

Qu'est-ce qu'un « bloc » ?
Les blocs dans une blockchain stockent des transactions. Dans le cas du Bitcoin, un bloc est ajouté à la blockchain toutes les 10 minutes, bien que le temps nécessaire à l’extraction d’un nouveau bloc puisse varier selon la difficulté cible du hachage.
• Lorsqu’un mineur extrait avec succès un bloc, celui-ci est ajouté à la blockchain. Dès qu’un bloc est intégré à la chaîne, l’état de toutes les transactions qu’il contient passe de « non confirmé » à « confirmé ».
• Pour le Bitcoin, le nombre de transactions pouvant être stockées dans un bloc n’est pas fixe, mais la taille moyenne d’un bloc est d’environ 1 Mo.
• Un bloc vide est valide, ce qui signifie qu’un bloc sans transaction peut être extrait et ajouté à la chaîne.
Structure d'une transaction blockchain
En analysant une transaction isolée, on découvre plusieurs structures distinctes ayant des significations différentes. Voici les différentes composantes présentes dans une transaction :

1. Numéro de version de la transaction : il indique au réseau le type de transaction via un numéro de version. Grâce à ce numéro, les nœuds peuvent déterminer l’ensemble des règles à appliquer pour valider cette transaction spécifique.
2. Sorties : les sorties de transaction se composent d’un verrou cryptographique et d’une condition temporelle.
3. Entrées : les entrées de transaction comprennent un pointeur et une clé de déverrouillage. Le pointeur fait référence à une sortie de transaction antérieure. La clé de déverrouillage permet de libérer la sortie précédente pointée. Chaque fois qu’une sortie est déverrouillée via une entrée, elle est marquée comme utilisée dans la base de données blockchain.
4. Temps de verrouillage (locktime) : précise si la transaction peut être incluse immédiatement dans la blockchain ou seulement après un certain délai.
Un UTXO correspond à toute sortie qui n’a pas encore été déverrouillée par une entrée.
Dès qu’une sortie est déverrouillée, elle est retirée de la masse monétaire en circulation. De nouvelles sorties la remplacent. Ainsi, la somme totale des sorties déverrouillées est toujours égale à la somme des nouvelles sorties créées.
Qu'est-ce que le modèle UTXO ?
L’UTXO n’est pas une unité monétaire comme le satoshi pour Bitcoin (BTC) ou le gwei pour Ethereum (ETH) ; toutefois, les UTXO peuvent être mesurés en utilisant ces unités. UTXO signifie « Unspent Transaction Output » (sortie de transaction non dépensée). Dans Bitcoin, une transaction reste existante jusqu’à ce qu’elle soit consommée par une autre transaction. Lorsqu’une transaction est finalisée, les sorties non utilisées sont reprises comme entrées dans la base de données, prêtes à être utilisées dans une future transaction.

Lorsqu’un utilisateur lance une transaction via son portefeuille, les UTXO contenant les informations de transaction sont localisés, déverrouillés, et les informations du nouveau propriétaire sont associées aux UTXO transférés. L’utilisateur peut ensuite utiliser ces nouveaux UTXO dans d’autres transactions selon le même processus. Au fur et à mesure des transactions, la base de données se remplit d’enregistrements de changements de propriété. Les sorties représentent la part de cryptomonnaie envoyée à quelqu’un mais non encore dépensée. Elles sont enregistrées dans la base de données comme entrées sous forme de fractions de cryptomonnaie.
Comment les UTXO sont-ils créés ?
Les UTXO sont créés en consommant des UTXO existants. Chaque transaction Bitcoin se compose d’entrées et de sorties. Les entrées consomment des UTXO existants, tandis que les sorties créent de nouveaux UTXO. Lorsque l’on décide de dépenser des bitcoins, on ne voit que le montant déduit et le solde restant dans le portefeuille. Pour l’utilisateur, cela ressemble à l’achat d’un article à 0,50 dollar avec un billet de 1 dollar — on reçoit la monnaie et on la met dans sa poche.
Avantages du modèle UTXO
Le modèle UTXO ne comprend pas de portefeuille au niveau du protocole. Il repose sur des transactions individuelles regroupées dans des blocs. Ce modèle est une conception commune à de nombreuses cryptomonnaies, notamment Bitcoin.
• Les cryptomonnaies utilisant le modèle UTXO n’utilisent ni comptes ni soldes. À la place, les UTXO circulent entre utilisateurs, à l’instar de l’argent liquide physique.
• Chaque transaction dans le modèle UTXO peut faire passer le système à un nouvel état, mais il n’est pas possible que chaque transaction transforme l’état complet du système.
• Les participants au réseau doivent rester synchronisés avec l’état actuel.

L’ensemble total des UTXO existants dans la blockchain forme un ensemble global, constamment maintenu par chaque nœud Bitcoin.
• Chaque transaction consomme des éléments de cet ensemble et crée de nouveaux éléments ajoutés à celui-ci. À chaque fois qu’un nouveau bloc est accepté dans la blockchain, l’ensemble UTXO est mis à jour, et chaque nœud Bitcoin dispose d’une copie exacte de cet ensemble dans son stockage local.
• L’ensemble complet des UTXO peut être additionné pour calculer l’offre totale de cryptomonnaie à un instant donné. Dans le cadre de transactions valides sur la blockchain, seules les sorties non dépensées peuvent servir à financer de nouvelles transactions. Cette condition est essentielle pour éviter les doubles dépenses et la fraude.
Différences entre le modèle UTXO et le modèle de comptes d’Ethereum

Les sorties de transaction non dépensées (UTXO) font partie de la technologie de base de données distribuée sous-jacente à Bitcoin et à d'autres cryptomonnaies. Bitcoin utilise le modèle UTXO, mais n’est pas lui-même un UTXO. En revanche, Ethereum adopte une approche basée sur des comptes et des soldes, de sorte qu’il n’y a pas d’UTXO dans la machine virtuelle Ethereum (EVM).
Importance technique du modèle UTXO
• Contrats intelligents indépendants du langage : les contrats intelligents basés sur UTXO sont indépendants du langage, ce qui permet de développer des mécanismes de consensus uniques.
• Prise en charge des échanges décentralisés et des échanges atomiques : le modèle UTXO permet les échanges atomiques, rendant possible les transactions peer-to-peer de cryptomonnaies sans tiers. Cette fonctionnalité facilite grandement les échanges directs entre portefeuilles d’utilisateurs.
• Avantage en termes de scalabilité : la capacité à traiter des transactions en parallèle réduit la charge informatique sur le réseau blockchain.
• Confidentialité et sécurité : chaque transaction UTXO utilise une nouvelle adresse, ce qui empêche le traçage des transactions.
• Prévention des doubles dépenses : un UTXO ne peut être utilisé qu’une seule fois, ce qui constitue un pilier fondamental du fonctionnement de la technologie blockchain, garantissant qu’une unité monétaire ne soit pas dépensée plusieurs fois.
• Plus grande flexibilité : il offre davantage de souplesse comparé à la monnaie fiduciaire.
• Parallélisation simplifiée : il permet une parallélisation plus aisée des transactions dans les contrats intelligents.
Le modèle UTXO est utilisé par de nombreuses cryptomonnaies car il permet aux utilisateurs de suivre la propriété de chaque fraction de cette monnaie. Étant donné que les cryptomonnaies ont été conçues en tenant compte de l’anonymat, les UTXO sont associés à des adresses publiques visibles par tout le réseau.
À moins qu’un utilisateur ne révèle publiquement son adresse, il ne peut être identifié par sa propriété, mais ce modèle assure une transparence via les adresses.
Applications concrètes du modèle UTXO — Solution de transfert hors chaîne avec RGB
Le principe central du protocole RGB consiste à n’appeler la blockchain Bitcoin que lorsque cela est strictement nécessaire, en exploitant ainsi la preuve de travail et la décentralisation du réseau pour assurer la protection contre les doubles dépenses et la censure. Toutes les opérations de vérification des transferts de jetons sont retirées de la couche de consensus global et effectuées hors chaîne, uniquement par le client du destinataire du paiement.
Fonctionnement :
Dans un contrat RGB donné, les jetons initiaux sont rattachés à un UTXO Bitcoin (qu’il existe déjà ou soit créé temporairement). Pour transférer ces jetons, vous devez dépenser ce UTXO. Lors de cette opération, la transaction Bitcoin doit inclure une sortie supplémentaire contenant un engagement (commitment) vers un message. Ce message contient les informations de paiement RGB : les entrées, le ou les UTXO destinataires, l’identifiant de l’actif, la quantité, la transaction effectuée et les données annexes nécessaires.
Conclusion
En réalité, la nature de l’UTXO repose sur un système de comptabilité en flux : le modèle UTXO vérifie l’existence des fonds d’une transaction, puis remonte à la source de celle-ci. Une fois confirmée, la transaction est diffusée à l’ensemble du réseau via le mécanisme de consensus et enregistrée sur la chaîne. Tout au long de ce processus, l’UTXO enregistre toutes les informations pertinentes — comptes concernés, adresses de transaction, montants transférés, origine des fonds, etc. — permettant ainsi de retracer la provenance exacte de chaque transaction. C’est précisément grâce à cette caractéristique que le modèle UTXO, combiné au mécanisme de consensus, permet de résoudre efficacement le problème des doubles dépenses. La sécurité et l’intégrité des transactions dans le protocole RGB sont garanties par le modèle UTXO.
En résumé, le modèle UTXO ne se contente pas d’aider le mécanisme de consensus à prévenir les doubles dépenses ; il confère aussi à la blockchain une traçabilité intrinsèque. C’est sur cette base que la blockchain garantit l’authenticité et la fiabilité de chaque transaction.
Bienvenue dans la communauté officielle TechFlow
Groupe Telegram :https://t.me/TechFlowDaily
Compte Twitter officiel :https://x.com/TechFlowPost
Compte Twitter anglais :https://x.com/BlockFlow_News














