UTreeXO, est une proposition d'amélioration conçue par Tadje Dryja, qui cherche à améliorer la gestion de l'UTXO de la blockchain Bitcoin, en le compressant en un simple hachage pouvant être reproduit par tous les acteurs du réseau.
UL'une des améliorations en préparation pour Bitcoin (BTC) est connu sous le nom d'UTreeXO, un projet qui cherche à nous aider à réduire les problèmes qui surviennent avec la gestion de la sorties non dépensées (UTXO) dans le blockchain. Mais que fait réellement UTreeXO ? Comment pouvez-vous nous aider? Eh bien, c'est précisément ce que vous saurez ensuite.
UTreeXO, l'amélioration du contrôle de l'UTXO en Bitcoin
Les UTXO sont un mécanisme conçu pour identifier les pièces inutilisées dans une adresse Bitcoin. Pour le voir plus facilement, gardez en tête cet exemple :
María a décidé de payer à Juan une ancienne dette, correspondant à 200 € en Bitcoin. Pour ce faire, Maria ouvre son sac à main, prépare la transaction et envoie le solde à Juan. À ce stade, Juan peut voir la transaction non confirmée, et une fois confirmée, Juan a enfin son solde et Maria sa dette payée. Dans cet exemple, il y a trois points :
- Maria utilise le solde disponible pour payer Juan. Ce solde disponible fait partie des UTXO (pièces en sa possession qui n'ont pas été dépensées) que Maria a à sa disposition.
- Le paiement est effectué, Maria transmet la propriété de ces pièces à Juan, créant une transaction avec une entrée (en utilisant son solde disponible, l'UTXO) et une sortie (qui attribue les pièces à Juan) et en cas de changement, c'est crée une deuxième sortie qui renvoie ledit solde à Maria.
- Juan reçoit le paiement de María, et les billets de María (le solde UTXO qu'il avait à sa disposition) deviennent maintenant le solde disponible de Juan, étant désormais ses futurs UTXO.
Ce modèle UTXO est la base de la comptabilité des paiements Bitcoin, et c'est un moyen intelligent d'empêcher les pièces de monnaie de sortir de nulle part à l'intérieur de Bitcoin ou d'empêcher que quelqu'un utilise des pièces qui ne sont pas vraiment sous son pouvoir. C'est-à-dire que les UTXO sont fondamentaux dans Bitcoin.
Le problème avec le modèle UTXO de Bitcoin
Cependant, ce modèle génère également un problème, à savoir qu'il génère une énorme quantité d'informations qui, au final, entraîne une croissance disproportionnée de la taille de la blockchain. De plus, cela rend de plus en plus complexe et difficile la vérification complète de la blockchain, ce qui ralentit le processus de synchronisation des nœuds.
Pour résoudre ce problème et réduire la taille des informations UTXO au sein de la blockchain, Tadjé Dryja, co-créateur de Réseau Lightning, a présenté UTreeXO. L'idée derrière cette amélioration est de fournir à Bitcoin un système qui permet d'élaguer correctement, et cryptographiquement vérifiable, l'ensemble de données UTXO de la blockchain Bitcoin en un hachage.
Autrement dit, UTreeXO est un accumulateur basé sur le hachage. Pour y parvenir, UTreeXO prend les données UTXO de la blockchain et transforme ces données en un énorme arbre (similaire à arbre merkle). Cet arbre est ensuite synthétisé en un hachage racine qui synthétise tout cet ensemble de données. Le système étant cumulatif, la création d'un nouveau hachage nécessite simplement une copie du hachage précédent, avec les données UTXO précédentes, générant le processus d'accumulation et, par conséquent, le nouveau hachage est obtenu.
Cette tâche serait entre les mains des nœuds dits de compactage, et ils permettraient de maintenir le réseau synchronisé par rapport aux données UTXO et UTreeXO selon les besoins. Cela garantit que le système ne peut pas être falsifié, qu'il peut être vérifié publiquement et que le système ne perturbe pas le fonctionnement actuel de Bitcoin.
Comment fonctionne UTreeXO ?
Le problème d'évolutivité de Bitcoin devient de plus en plus sérieux. Tout d'abord, nous constatons que chaque jour de plus en plus de personnes créent leur portefeuille et commencent à utiliser le réseau Bitcoin. Cet afflux plus important de personnes au sein du réseau Bitcoin augmente le volume d'informations (plus de transactions et d'informations au sein du réseau), informations que les nœuds doivent gérer et qui doivent être enregistrées sur la blockchain. Parmi ces données figurent les informations de l'UTXO (Unspent Transaction Output).
Compte tenu de cela, les nœuds compacts d'UTreeXO commencent leur rôle lorsqu'une nouvelle transaction est créée et transmise via le réseau. À ce stade, le nœud prend la transaction, effectue une preuve cryptographique de ce fait et régénère l'arbre UTXO de la chaîne, pour obtenir le hachage final. La preuve d'inclusion (la preuve cryptographique de l'UTXO) est ensuite envoyée avec la transaction et stockée sur la blockchain.
À partir de là, chaque nœud compact dans UTreeXO transmet la transaction et la preuve cryptographique aux autres nœuds compacts. De cette façon, un consensus est généré sur l'arbre UTXO de la chaîne, et la vérification publique de toutes ces informations est activée. Au final, lorsque la transaction est incluse dans un bloc, toutes les données de test sont supprimées. Cela signifie que les nœuds compacts peuvent conserver les transactions et les tests dans leur mémoire. Ainsi, il n'y a aucune information à écrire sur le disque dur.
Une solution escaladée
En plus des nœuds compacts d'UTreeXO, il existe également les nœuds de pont d'UTreeXO. La fonction de ces nœuds est de recevoir les transactions standards du réseau (celles qui ne sont pas initialement formatées pour utiliser UTreeXO) et d'effectuer tout le processus nécessaire pour être inclus dans l'arbre. Pour ce faire, les nœuds de pont contiennent l'historique complet de la blockchain et la liste complète des UTXO. Ainsi, son rôle est de recevoir les informations des nœuds complets et de créer une preuve de l'existence de fonds non dépensés sur la base de la liste UTXO. Une fois ce point fait, cette information est transmise avec son test respectif aux nœuds compacts.
À ce stade, il est nécessaire de souligner que la présence du nœud de pont n'est nécessaire que lorsqu'un nœud complet standard envoie des données à un nœud compact. D'autre part, le nœud compact envoie uniquement les données de transaction au nœud complet standard en contournant la preuve de fonds cryptographique. En fin de compte, ce système permet la mise en œuvre d'UTreeXO dans un environnement rétrocompatible, dans lequel les nœuds standard et UTreeXO peuvent fonctionner sans problème.
Objectifs d'UTreeXO
L'objectif principal d'UTreeXO est de diminuer la quantité d'informations nécessaires aux nœuds pour vérifier la disponibilité des UTXO. De cette façon, ils n'auraient qu'à stocker une copie des informations de propriété de la transaction. Et à côté de ces informations, une preuve cryptographique des informations sur les UTXO. En conséquence, la puissance de calcul et les exigences de stockage de données des nœuds sont considérablement réduites, tout en améliorant la disponibilité des ressources et de la bande passante sur l'ensemble du réseau.
En même temps, cela permet d'offrir une plus grande évolutivité au réseau Bitcoin à certains moments. Ceci est possible grâce à la réduction du flux de données au sein du réseau, ce qui réduit considérablement l'utilisation de la bande passante, et en même temps, réduit le temps de vérification des transactions.
Avantages et inconvénients d'UTreeXO
Avantages
- Parmi ses avantages, il y a l'amélioration de la vitesse des transactions en Bitcoin. Ceci en offrant une plus grande évolutivité face à l'énorme quantité d'informations qui sont traitées dans le réseau en raison de l'augmentation du volume des transactions.
- Réduction de la quantité d'informations stockées dans les nœuds du réseau Bitcoin.
- Maintient la sécurité et la confidentialité des transactions. Ceci est possible car seule la preuve de l'existence des fonds est transmise sans inclure d'autres détails. De cette façon, il est évité que la confidentialité et la sécurité des utilisateurs puissent être violées.
Inconvénients
- La mise en œuvre d'UTreeXO nécessite la création de nœuds intermédiaires ou de nœuds ponts. Ces nœuds serviront de point de transition d'informations d'un nœud complet standard à un nœud compact. Le flux d'informations dans ces nœuds de pont doit être complet. C'est-à-dire qu'ils doivent maintenir la blockchain ainsi que la liste UTXO, pour créer les tests dont les nœuds compacts ont besoin pour la validation des transactions.
- La présence de nœuds ponts dans le réseau pourrait créer des situations qui vont à l'encontre de la décentralisation. Ceci dans le cas où UTreeXO est largement utilisé sur le net.
- La création de nouvelles commissions qui servent d'incitation aux nœuds passerelles. C'est une possibilité qui pourrait se produire dans le cas de la mise en place de la technologie UTreeXO sur le réseau Bitcoin. Cela entraînerait une augmentation du coût des frais de transaction.
Que savez-vous, cryptonuta?
UTreeXO entraîne-t-il des problèmes de sécurité dans Bitcoin ?FAUX!
UTreeXO a été créé afin de maintenir le même niveau de sécurité que UTXO. En fait, il ne remplace pas ce système, il met simplement en œuvre une série d'améliorations latérales qui permettent d'optimiser la synchronisation des nœuds au niveau UTXO. L'objectif est d'améliorer et d'optimiser l'utilisation du réseau et le stockage des données au sein des nœuds.
Une solution encore en développement
Cependant, UTReeXO est un projet en phase hautement expérimentale. Ici, nous avons expliqué les choses qu'il propose, mais cela ne fonctionne pas sur le réseau Bitcoin principal. C'est une proposition qui, peut-être, ne sera jamais mise en œuvre au sein du réseau principal Bitcoin, ou que quelqu'un d'autre prend ladite proposition et, en modifiant quelques points, crée une nouvelle proposition meilleure. C'est la magie de cet écosystème ouvert et gratuit.
Sur le site principal de la proposition, vous pouvez lire l'état d'avancement du projet, et dans son Dépôt GitHub il est possible de télécharger le logiciel de test pour exécuter le code de test de ce développement. Il est important de souligner qu'il y a un énorme intérêt pour ce projet, qui se voit clairement dans l'énorme activité de développement sur GitHub. Il peut ouvrir de nouvelles opportunités pour les entrepreneurs, qui sait.
En revanche, le créateur de la proposition prévient que :
Le logiciel fonctionne sur testnet, le testnet Bitcoin, et n'est pas recommandé pour une utilisation avec de l'argent réel. Il existe encore de nombreux bugs et inefficacités connus dans le code, mais nous l'améliorons à un rythme rapide.