Contrats client RGB Magic sur Bitcoin : Bitcoin Magazine


Ceci est un éditorial d’opinion de Federico Tenga, un contributeur de longue date aux projets Bitcoin avec une expérience en tant que fondateur de start-up, consultant et éducateur.

Le terme « contrats intelligents » est antérieur à l’invention de la blockchain et du Bitcoin lui-même. Sa première mention se trouve dans un article de 1994 de Nick Szabo, qui définissait les contrats intelligents comme un « protocole de transaction informatisé qui exécute les termes d’un contrat ». Alors que selon cette définition, Bitcoin, grâce à son langage de script, a pris en charge les contrats intelligents dès le premier bloc, le terme n’a été popularisé que plus tard par les promoteurs d’Ethereum, qui ont déformé la définition originale en « code exécuté de manière redondante par tous les nœuds dans un consensus mondial ». réseau »

Bien que déléguer l’exécution du code à un réseau de consensus mondial présente des avantages (par exemple, il est facile de déployer des contrats non dus, tels que les teneurs de marché automatisés populaires), cette conception présente un défaut majeur  : le manque d’évolutivité (et de confidentialité). Si chaque nœud d’un réseau doit exécuter le même code de manière redondante, la quantité de code qui peut réellement être exécutée sans augmenter excessivement le coût d’exécution d’un nœud (et donc en préservant la décentralisation) reste rare, ce qui signifie que seul un petit nombre de contrats peut être réalisé.

Contrats client RGB Magic sur Bitcoin : Bitcoin Magazine

plutôt que par tous les membres du réseau ? Imaginons l’exemple d’une entreprise qui veut émettre des actions. Au lieu de publier publiquement le contrat d’émission sur un registre mondial et d’utiliser ce registre pour suivre tous les futurs transferts de propriété, il pourrait simplement émettre les actions en privé et transmettre aux acheteurs le droit de les transférer ultérieurement. Ensuite, le droit de transfert de propriété peut être transmis à chaque nouveau propriétaire comme s’il s’agissait d’un avenant au contrat d’émission initial. De cette manière, chaque propriétaire peut vérifier de manière indépendante que les actions qu’il a reçues sont authentiques en lisant le contrat d’origine et en validant que tout l’historique des modifications ayant déplacé les actions est conforme aux règles énoncées dans le contrat d’origine.

Ce n’est en fait rien de nouveau, c’est en effet le même mécanisme qui était utilisé pour transférer la propriété avant que les registres publics ne deviennent populaires. Au Royaume-Uni, par exemple, il n’était pas obligatoire d’enregistrer une propriété lorsque sa propriété était transférée jusqu’aux années 90. Cela signifie qu’aujourd’hui encore, plus de 15 % des terres en Angleterre et au Pays de Galles ne sont pas enregistrées. Si vous achetez une propriété non enregistrée, au lieu de vérifier sur un registre si le vendeur est le véritable propriétaire, vous devrez vérifier une chaîne ininterrompue de propriété remontant à au moins 15 ans (une période considérée comme suffisamment longue pour supposer que le vendeur a titre de propriété suffisant). Ce faisant, vous devez vous assurer que tout transfert de propriété a été effectué correctement et que les éventuelles hypothèques utilisées pour des transactions antérieures ont été entièrement remboursées. Ce modèle a l’avantage d’améliorer la confidentialité par rapport à la propriété, et vous n’avez pas à compter sur le responsable du registre foncier public. En revanche, cela rend la vérification de la propriété du vendeur beaucoup plus compliquée pour l’acheteur.

Titre de propriété d’un bien immobilier non immatriculé

Comment améliorer le transfert des propriétés non enregistrées ? Tout d’abord, en en faisant un processus numérisé. S’il existe un code pouvant être exécuté par un ordinateur pour vérifier que tout l’historique des transferts de propriété est conforme aux règles contractuelles d’origine, l’achat et la vente deviennent beaucoup plus rapides et moins chers.

Deuxièmement, pour éviter le risque de double dépense du vendeur, un système de preuve de publication doit être mis en place. Par exemple. mettre le hachage du transfert de propriété dans le coin supérieur droit de la première page du New York Fois). Comme vous ne pouvez pas placer deux fois le hachage d’un transfert au même endroit, cela évite les tentatives de double dépense. Cependant, utiliser un journal célèbre à cette fin présente certains inconvénients :

  • Vous devez acheter beaucoup de journaux pour le processus de vérification. Pas très pratique
  • Chaque contrat a besoin de son propre espace dans le journal. Pas très évolutif
  • L’éditeur de journal peut facilement censurer ou, pire encore, simuler une double dépense en mettant un hachage aléatoire dans votre emplacement, faisant croire à tout acheteur potentiel de votre actif qu’il a déjà été vendu et le décourageant de l’acheter. Pas très fiable
  • Pour ces raisons, il faut trouver un meilleur endroit pour afficher les preuves de transfert de propriété. Et quelle meilleure option que la blockchain Bitcoin, un registre public de confiance déjà établi avec de fortes incitations pour le garder résistant à la censure et décentralisé ?

    tout comme avec l’éditeur du New York Times, le mineur pourrait jouer avec. Une meilleure approche consiste à placer l’engagement dans une transaction Bitcoin prédéfinie, plus précisément dans une transaction qui provient d’une sortie de transaction non dépensée (UTXO) à laquelle la propriété de l’actif à émettre est liée. Le lien entre un actif et un bitcoin UTXO peut se produire soit dans le contrat qui émet l’actif, soit dans un transfert de propriété ultérieur, faisant à chaque fois de l’UTXO cible le contrôleur de l’actif transféré. De cette manière. Toute personne exécutant un nœud Bitcoin peut vérifier indépendamment les engagements et ni les mineurs ni aucune autre entité ne sont en mesure de censurer ou d’interférer de quelque manière que ce soit avec le transfert d’actifs.

    pas le contenu du transfert lui-même, le vendeur a besoin d’un canal de communication dédié pour fournir à l’acheteur toutes les preuves que le transfert de propriété est valide. Cela pourrait être fait de plusieurs façons, potentiellement même en imprimant les épreuves et en les expédiant avec un pigeon voyageur, ce qui, bien qu’un peu peu pratique, ferait toujours le travail. Mais la meilleure option pour éviter la censure et les violations de la vie privée est d’établir une communication directe cryptée peer-to-peer, qui par rapport aux pigeons a également l’avantage d’être facile à intégrer à un logiciel pour vérifier les preuves reçues de la contrepartie.

    Ce modèle qui vient d’être décrit pour les contrats validés côté client et les transferts de propriété est exactement ce qui a été implémenté avec le protocole RVB. Avec RGB, il est possible de créer un contrat qui définit les droits, les attribue à un ou plusieurs bitcoins UTXO existants et précise comment leur propriété peut être transférée. Le contrat peut être créé à partir d’un modèle, appelé « schéma », dans lequel le créateur du contrat ajuste uniquement les paramètres et les droits de propriété, comme cela se fait avec les contrats juridiques traditionnels. Actuellement, il existe deux types de schémas en RVB  : un pour l’émission de jetons fongibles (RGB20) et un second pour l’émission d’objets de collection (RGB21), mais à l’avenir, d’autres schémas pourront être développés par n’importe qui sans autorisation sans nécessiter de modifications au niveau du niveau protocole.

    Pour utiliser un exemple plus pratique, un émetteur d’actifs fongibles (par exemple, des actions de société, des stablecoins, etc.) peut utiliser le modèle de schéma RGB20 et créer un contrat définissant le nombre de jetons qu’il émettra, le nom de l’actif et certaines métadonnées supplémentaires associées. avec ça. Il peut alors définir quel bitcoin UTXO a le droit de transférer la propriété des jetons créés et d’attribuer d’autres droits à d’autres UTXO, comme le droit de faire une émission secondaire ou de renommer l’actif. Chaque client recevant des jetons créés par ce contrat pourra vérifier le contenu du contrat Genesis et valider que tout transfert de propriété dans l’historique du jeton reçu a respecté les règles qui y sont énoncées.

    Alors,? Tout d’abord, il permet l’émission et le transfert d’actifs tokenisés avec une meilleure évolutivité et confidentialité par rapport à toute alternative existante. Côté confidentialité, RGB bénéficie du fait que toutes les données liées au transfert sont conservées côté client, de sorte qu’un observateur blockchain ne peut extraire aucune information sur les activités financières de l’utilisateur (il n’est même pas possible de distinguer une transaction bitcoin contenant un engagement RGB d’un normal), de plus, le destinataire ne partage avec l’expéditeur que l’UTXO aveuglé (c’est-à-dire le hachage de la concaténation entre l’UTXO dans lequel il souhaite recevoir les actifs et un nombre aléatoire) au lieu de l’UTXO lui-même, il n’est donc pas possible pour le payeur de surveiller les activités futures du receveur. Pour accroître encore la confidentialité des utilisateurs, RGB adopte également le mécanisme cryptographique à l’épreuve des balles pour masquer les montants de l’historique des transferts d’actifs, de sorte que même les futurs propriétaires d’actifs aient une vision obscurcie du comportement financier des détenteurs précédents.

    En termes d’évolutivité, RVB offre également certains avantages. Tout d’abord, la plupart des données sont conservées hors chaîne, car la blockchain n’est utilisée que comme couche d’engagement, ce qui réduit les frais à payer et signifie que chaque client ne valide que les transferts qui l’intéressent au lieu de tous les l’activité d’un réseau mondial. Étant donné qu’un transfert RVB nécessite toujours une transaction Bitcoin, l’économie de frais peut sembler minime, mais lorsque vous commencez à introduire le traitement par lots des transactions, elles peuvent rapidement devenir massives. En effet, il est possible de transférer tous les jetons (ou, plus généralement, les « droits ») associés à un UTXO vers un nombre arbitraire de destinataires avec un seul engagement dans une seule transaction bitcoin. Supposons que vous soyez un fournisseur de services effectuant des paiements à plusieurs utilisateurs à la fois. Avec RGB, vous pouvez engager dans une seule transaction Bitcoin des milliers de transferts vers des milliers d’utilisateurs demandant différents types d’actifs, ce qui rend le coût marginal de chaque paiement absolument négligeable.

    Un autre mécanisme d’économie de frais pour les émetteurs d’actifs de faible valeur est que, dans RGB, l’émission d’un actif ne nécessite pas le paiement de frais. Cela se produit parce que la création d’un contrat d’émission n’a pas besoin d’être engagée sur la blockchain. Un contrat définit simplement à quel UTXO déjà existant les actifs nouvellement émis seront attribués. Donc, si vous êtes un artiste intéressé par la création de jetons de collection, vous pouvez en émettre autant que vous le souhaitez gratuitement, puis ne payer les frais de transaction en bitcoins que lorsqu’un acheteur se présente et demande que le jeton soit attribué à son UTXO.

    De plus, étant donné que RVB est construit au-dessus des transactions bitcoin, il est également compatible avec le Lightning Network. Bien qu’il ne soit pas encore implémenté au moment de la rédaction, il sera possible de créer des canaux Lightning spécifiques aux actifs et d’acheminer les paiements à travers eux, de la même manière que cela fonctionne avec les transactions Lightning normales.

    Conclusion

    RVB est une innovation révolutionnaire qui ouvre de nouveaux cas d’utilisation en utilisant un tout nouveau paradigme, mais quels outils sont disponibles pour l’utiliser ? Si vous souhaitez expérimenter le cœur de la technologie elle-même, vous devez directement essayer le nœud RVB. Si vous souhaitez créer des applications sur RVB sans avoir à plonger dans la complexité du protocole, vous pouvez utiliser la bibliothèque rgb-lib, qui fournit une interface simple pour les développeurs. Si vous voulez juste essayer d’émettre et de transférer des actifs, vous pouvez jouer avec Iris Wallet pour Android.

    Ceci est un article invité de Federico Tenga. Les opinions exprimées sont entièrement les leurs et ne reflètent pas nécessairement celles de BTC Inc ou de Bitcoin Magazine.