Un guide incontournable sur le bitcoin (partie II) : Le passé et le présent du modèle UTXO

DébutantJan 22, 2024
Cet article présente le modèle UTXO en détail. L'UTXO peut non seulement contribuer au mécanisme de consensus et résoudre le problème de la double dépense dans la blockchain, mais aussi donner à la blockchain les caractéristiques de la traçabilité.
Un guide incontournable sur le bitcoin (partie II) : Le passé et le présent du modèle UTXO

Introduction

"La blockchain UTXO a jeté les bases et les fondements incontestés de l'industrie de la blockchain d'aujourd'hui. La technologie UTXO reflète la vision fondamentale de Satoshi Nakamoto pour une liberté financière ultime". Le modèle UTXO garantit la sécurité, la confidentialité des données et la sécurité au cœur des activités financières. Évolutif et une alternative plus sûre au modèle de compte Ethereum.

Principes de la blockchain : La base du modèle UTXO

La blockchain est un registre numérique, décentralisé et distribué. La blockchain utilise un réseau P2P (Peer to Peer), où les participants présents sur le réseau sont appelés nœuds. Le grand livre stocke les données relatives aux transactions. Il s'agit d'une chaîne de blocs, dont la caractéristique la plus importante est que les blocs sont cryptographiquement liés entre eux.

Blockchain : Cryptographiquement liés les uns aux autres

- Chaque bloc de la blockchain, à l'exception du premier bloc (appelé bloc de genèse), contient un champ appelé "hachage précédent". Il s'agit du hachage du bloc précédent de la chaîne. La blockchain est donc très sûre.

- Facteurs qui déterminent la valeur de hachage du bloc. Si l'un de ces quatre facteurs change, ne serait-ce que d'un bit, en raison de l'effet d'avalanche, le hachage sera complètement modifié. Les transactions sont stockées dans des blocs et constituent l'un des quatre facteurs qui modifient le hachage du bloc. Cela signifie que si un mineur choisit une transaction différente et maintient les 4 autres facteurs identiques, la valeur de hachage sera différente.

  1. Horodatage

  2. Numéro de bloc : Le numéro de séquence du bloc actuel dans la chaîne.

  3. Données : Transactions stockées sur des blocs.

  4. Nombre aléatoire

- Si un pirate tente de modifier les données d'un bloc, le hachage du bloc sera modifié. Comme indiqué précédemment, le bloc suivant contiendra le hachage du bloc actuel, et si le hachage change, la chaîne sera détruite. Ou bien l'attaquant doit à nouveau miner tous les blocs à partir de ce point. C'est une possibilité dans le cas d'une attaque à 51 %.

Qu'est-ce qu'un "bloc" ?

Un bloc de la blockchain stocke les transactions. Dans le cas du bitcoin, des blocs sont ajoutés à la blockchain toutes les 10 minutes. Le temps nécessaire au minage d'un nouveau bloc peut varier en fonction de la complexité du hachage cible, et le minage d'un bloc peut prendre plus de temps que celui d'un autre.

- Lorsque le bloc est extrait avec succès par le mineur, il est ajouté à la blockchain. Lorsque le bloc est ajouté à la chaîne, l'état de toutes les transactions qu'il contient passe de non confirmé à confirmé.

- Dans le cas du bitcoin, le nombre de transactions pouvant être stockées dans un bloc n'est pas fixe, mais la taille maximale du bloc est fixée à environ 1 Mo, la taille du bloc pouvant varier légèrement par rapport à 1 Mo.

- Les blocs vides sont valides, ce qui signifie qu'un bloc vide peut être extrait et ajouté à la chaîne.

Structure des transactions de la blockchain

L'épluchage d'une seule transaction révèle plusieurs structures différentes avec des sémantiques différentes au sein de la transaction. Voici les différentes structures présentes dans les transactions :

  1. Numéro de version de la transaction : il s'agit d'un numéro de version spécifiant le type de transaction vers le réseau. Grâce au numéro de transaction, un nœud peut déterminer l'ensemble des règles à utiliser pour vérifier cette transaction particulière.
  2. Résultat : Le résultat de la transaction se compose d'un verrou cryptographique et de l'heure.
  3. Entrée : L'entrée de la transaction consiste en un pointeur et une clé de déverrouillage. Le pointeur renvoie à la sortie de la transaction précédente. La clé de déverrouillage est utilisée pour déverrouiller la sortie précédente vers laquelle l'entrée pointe. Chaque fois qu'une sortie est débloquée par une entrée, elle est marquée dans la base de données de la blockchain comme dépensée.
  4. Temps de verrouillage : il précise si une transaction peut être incluse dans la blockchain immédiatement ou après un certain temps.

Les UTXO sont toutes les sorties qui doivent encore être déverrouillées par une entrée.

Une fois qu'une sortie est déverrouillée, elle est retirée de l'alimentation en circulation. Les nouvelles sorties prennent leur place. Ainsi, la somme des sorties déverrouillées sera toujours égale à la somme des valeurs des sorties nouvellement créées.

Qu'est-ce que le modèle UTXO ?

UTXO n'est pas une dénomination de crypto-monnaie, comme le satoshi pour le Bitcoin (BTC) ou le gwei pour l'Ethereum (ETH) ; cependant, UTXO peut être mesuré en utilisant ces dénominations. UTXO signifie Unspent Transaction Output (sortie de transaction non dépensée). En Bitcoin, une transaction reste en vigueur jusqu'à ce qu'elle soit exécutée, jusqu'à ce qu'une autre transaction utilise cet UTXO. Lorsqu'une transaction est terminée, les sorties inutilisées sont stockées dans la base de données en tant qu'entrées et peuvent être utilisées ultérieurement pour une autre transaction.

Lorsqu'un utilisateur effectue une transaction par l'intermédiaire de son portefeuille, l'UTXO contenant les informations relatives à la transaction est localisée, déverrouillée et les informations du nouveau propriétaire sont associées à l'UTXO qui lui a été transférée. Et cet utilisateur peut les utiliser dans des transactions par le biais du même processus. Au fur et à mesure des transactions, la base de données sera alimentée par les enregistrements des changements de propriété. La sortie est une partie de la crypto-monnaie que l'utilisateur a envoyée à quelqu'un mais qu'il n'a pas dépensée. Elles sont enregistrées dans la base de données et servent à établir le score des crypto-monnaies.

Comment un UTXO est-il créé ?

Les UTXO sont créées par la consommation d'UTXO existantes. Chaque transaction Bitcoin est composée d'entrées et de sorties. Les entrées consomment un UTXO existant, tandis que les sorties créent un nouvel UTXO. Lorsque vous décidez de dépenser des bitcoins, vous ne pouvez voir que le montant déduit et le montant restant dans le portefeuille. Pour l'utilisateur, c'est comme s'il achetait un article de 0,50 $ avec un billet de 1 $ - c'est comme s'il recevait de la monnaie et la mettait dans sa poche.

Avantages du modèle UTXO

Le modèle UTXO n'intègre pas de portefeuilles au niveau du protocole. Il est basé sur des transactions individuelles regroupées en blocs. Le modèle UTXO est un modèle commun à de nombreuses crypto-monnaies, notamment le bitcoin.

- Les crypto-monnaies utilisant le modèle UTXO n'utilisent pas de comptes ou de soldes. Au lieu de cela, les UTXO sont transférés entre les utilisateurs, tout comme l'argent liquide.

- Chaque transaction dans le modèle UTXO peut faire passer le système à un nouvel état, mais le passage à un nouvel état à chaque transaction est irréalisable.

- Les participants au réseau doivent rester en phase avec l'état actuel.

Le nombre total d'UTXO présents dans une blockchain représente un ensemble et est maintenu en permanence par chaque nœud bitcoin.

- Chaque transaction consomme des éléments de cet ensemble et en crée de nouveaux qui sont ajoutés à l'ensemble. L'ensemble UTXO est mis à jour chaque fois qu'un nouveau bloc est accepté dans la blockchain, et chaque nœud Bitcoin du réseau aura la copie exacte de l'ensemble UTXO dans son stockage local.

- L'ensemble des UTXO peut être additionné pour calculer l'offre totale de la crypto-monnaie à un moment donné, et dans le cas de transactions blockchain valides, seules les sorties non dépensées peuvent être utilisées pour financer d'autres transactions. Pour éviter la double dépense et la fraude, il est nécessaire de prévoir que seuls les produits non dépensés peuvent être utilisés pour d'autres opérations.

La différence entre le modèle UTXO et le modèle comptable Ethereum

Les résultats des transactions non dépensées font partie de la technologie de base de données distribuée qui sous-tend le bitcoin et d'autres crypto-monnaies. Bitcoin utilise l'UTXO, mais ce n'est pas un UTXO. En outre, Ethereum utilise une approche comptable et des soldes de comptes, de sorte qu'il n'y a pas d'UTXO dans la machine virtuelle Ethereum.

Importance technique de l'UTXO

- Contrats intelligents indépendants de la langue : Les contrats intelligents basés sur UTXO sont indépendants de la langue, ce qui permet à UTXO de développer des mécanismes de consensus uniques.

- Prise en charge des échanges décentralisés et des swaps atomiques : Le modèle UTXO peut prendre en charge les échanges atomiques, ce qui permet des transactions chiffrées de pair à pair sans l'intervention d'un tiers. La fonction d'échange atomique des UTXO offre une meilleure facilité pour les échanges directs de crypto-monnaies entre les portefeuilles des utilisateurs.

- Avantage de l'évolutivité : La facilité ou le traitement parallèle des transactions réduit la charge de calcul sur les réseaux de blockchain.

- Confidentialité et sécurité : Comme de nouvelles adresses sont utilisées pour chaque transaction UTXO, il est impossible de suivre les transactions.

- Empêcher les doubles dépenses : Un UTXO ne peut être utilisé qu'une seule fois, ce qui constitue la base du fonctionnement de la technologie blockchain et garantit que la monnaie ne sera pas utilisée plusieurs fois.

- Plus flexible : Elle offre une plus grande flexibilité que les monnaies fiduciaires.

- Parallélisation simple : Il permet une parallélisation plus simple des transactions dans les contrats intelligents.

Le modèle UTXO est utilisé dans de nombreuses crypto-monnaies car il permet aux utilisateurs de suivre la propriété de toutes les parties de la crypto-monnaie. Les crypto-monnaies étant créées dans un souci d'anonymat, les UTXO sont associées à des adresses publiques visibles par l'ensemble du réseau.

Les utilisateurs ne peuvent être identifiés par leur propriété que s'ils publient leur adresse, mais le modèle permet la transparence grâce aux adresses.

Cas d'utilisation UTXO - Solution de transfert hors chaîne RVB

Le concept de base du protocole RGB est de n'appeler la blockchain Bitcoin que lorsque cela est nécessaire, en utilisant la preuve de travail et le réseau décentralisé pour assurer la protection contre la double dépense et la résistance à la censure. La validation de tous les transferts de jetons passe de la couche de consensus global à une couche hors chaîne, et n'est vérifiée que par le client qui reçoit le paiement.

Principe de fonctionnement :

Dans un certain contrat de RGB, les jetons de genèse appartiennent à un UTXO Bitcoin (qu'il existe déjà ou qu'il soit créé temporairement), et pour transférer des jetons, vous devez dépenser cet UTXO. Lorsqu'elle dépense cette UTXO, la transaction Bitcoin doit ajouter une sortie supplémentaire, qui contient un engagement à l'égard d'un message. Le contenu de ce message est l'information de paiement RGB, qui définit l'entrée et l'UTXO à laquelle ces jetons seront envoyés, l'ID de l'actif, la quantité, la transaction de dépense et les données qu'il doit joindre.

Conclusion

L'essence de l'UTXO est en fait une forme de comptabilité basée sur les flux : elle vérifie l'existence des fonds de la transaction par le biais du modèle UTXO, puis remonte à la source de la transaction. Une fois l'exactitude confirmée, elle est diffusée à l'ensemble du réseau par le biais du mécanisme de consensus et enregistrée sur la chaîne. Tout au long de ce processus, l'UTXO enregistre toutes les informations relatives aux fonds des comptes concernés, aux adresses des transactions, aux fonds transférés et aux sources des fonds, ce qui permet de retracer la source originale de chaque transaction. C'est précisément sur la base de cette caractéristique que l'UTXO peut collaborer avec le mécanisme de consensus pour résoudre le problème de la double dépense. La sécurité et l'intégrité des informations de transaction dans le protocole RGB sont assurées par l'UTXO.

En résumé, l'UTXO peut non seulement contribuer au mécanisme de consensus et résoudre le problème de double dépense de la blockchain, mais aussi donner à la blockchain des caractéristiques de traçabilité. Sur cette base, la blockchain peut garantir l'authenticité et la fiabilité de chaque transaction.

Clause de non-responsabilité:

  1. Cet article est repris de aicoin]. Tous les droits d'auteur appartiennent à l'auteur original[Echo,BiHelix;Satoshi Labs]. Si vous avez des objections à cette réimpression, veuillez contacter l'équipe de Gate Learn, qui s'en chargera rapidement.
  2. Clause de non-responsabilité : Les points de vue et les opinions exprimés dans cet article sont uniquement ceux de l'auteur et ne constituent pas un conseil en investissement.
  3. Les traductions de l'article dans d'autres langues sont effectuées par l'équipe de Gate Learn. Sauf mention contraire, il est interdit de copier, distribuer ou plagier les articles traduits.
Bắt đầu giao dịch
Đăng ký và giao dịch để nhận phần thưởng USDTEST trị giá
$100
$5500
Tạo tài khoản