RGB Magic : contrats côté client sur Bitcoin PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

RGB Magic : Contrats côté client sur Bitcoin

Il s'agit d'un éditorial de Federico Tenga, 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 est dans un Article de 1994 par Nick Szabo, qui a défini 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, prenait 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 comme « un 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é.

Mais que se passerait-il si nous pouvions concevoir un système où les termes du contrat sont exécutés et validés uniquement par les parties impliquées, 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-UniPar exemple, jusque dans les années 90, il n’était pas obligatoire d’enregistrer une propriété lors du transfert de propriété. 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 de propriété ininterrompue 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 lors de transactions antérieures ont été intégralement remboursées. Ce modèle présente l’avantage d’une meilleure confidentialité par rapport à la propriété, et vous n’avez pas besoin de dépendre du 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 enregistré

Identifier: Titre de propriété immobilière 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, nous pourrions mettre en place une règle selon laquelle chaque transfert de propriété doit être commis à un endroit prédéfini d'un journal bien connu (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 :

  1. Vous devez acheter beaucoup de journaux pour le processus de vérification. Pas très pratique.
  2. Chaque contrat a besoin de son propre espace dans le journal. Pas très évolutif.
  3. Le rédacteur en chef du journal peut facilement censurer ou, pire encore, simuler une double dépense en plaçant 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 déposer la preuve des transferts de propriété. Et quelle meilleure option que la blockchain Bitcoin, un registre public de confiance déjà établi et fortement incité à le maintenir résistant à la censure et décentralisé ?

Si nous utilisons Bitcoin, nous ne devons pas spécifier un endroit fixe dans le bloc où l'engagement de transfert de propriété doit avoir lieu (par exemple lors de la première transaction) car, tout comme avec l'éditeur du New York Times, le mineur pourrait s'en mêler. 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 est liée la propriété de l’actif à émettre. Le lien entre un actif et un UTXO bitcoin peut intervenir soit dans le contrat qui émet l'actif, soit lors d'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, nous avons clairement défini où devrait se situer l’obligation de transfert de propriété (c’est-à-dire dans la transaction Bitcoin provenant d’un UTXO particulier). Toute personne exploitant 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 avec le transfert d'actifs de quelque manière que ce soit.

transfert de propriété d'utxo

Puisque sur la blockchain Bitcoin nous publions uniquement un engagement de transfert de propriété, et non 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 de la validité du transfert de propriété. Cela pourrait être fait de plusieurs manières, potentiellement même en imprimant les épreuves et en les expédiant avec un pigeon voyageur, ce qui, bien que peu pratique, ferait quand même l'affaire. Mais la meilleure option pour éviter la censure et les violations de la vie privée est d'établir une communication cryptée directe peer-to-peer, qui, par rapport aux pigeons, a également l'avantage d'être facile à intégrer avec un logiciel pour vérifier les preuves reçues de la contrepartie.

Ce modèle que nous venons de décrire 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 RGB. Avec RGB, il est possible de créer un contrat qui définit les droits, les attribue à un ou plusieurs bitcoin 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 c'est le cas pour les contrats juridiques traditionnels. Actuellement, il existe deux types de schémas en RVB : un pour l'émission de jetons fongibles (RVB20) et un second pour l'émission d'objets de collection (RVB21), mais à l'avenir, davantage de schémas pourront être développés par n'importe qui sans autorisation sans nécessiter de modifications au niveau du protocole.

Pour utiliser un exemple plus pratique, un émetteur d'actifs fongibles (par exemple, actions de société, pièces stables, 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 ensuite 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 procéder à une émission secondaire ou de renommer l'actif. Chaque client recevant des tokens 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 token reçu a respecté les règles qui y sont énoncées.

Alors, que pouvons-nous faire avec le RVB en pratique aujourd’hui ? Avant tout, il permet l’émission et le transfert d’actifs tokenisés avec une meilleure évolutivité et confidentialité par rapport à toute alternative existante. Du côté de la 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 de la 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 qu'un 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, donc ce n'est pas Il est possible pour le payeur de surveiller les activités futures du séquestre. Pour accroître encore la confidentialité des utilisateurs, RGB adopte également un mécanisme cryptographique à toute épreuve 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é, le 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 transferts. activité d’un réseau mondial. Étant donné qu’un transfert RVB nécessite toujours une transaction Bitcoin, les économies de frais peuvent sembler minimes, mais lorsque vous commencez à introduire le traitement par lots de transactions, elles peuvent rapidement devenir massives. En effet, il est possible de transférer tous les tokens (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 qu'en RVB, l'émission d'un actif ne nécessite pas de frais. Cela se produit parce que la création d’un contrat d’émission n’a pas besoin d’être validée sur la blockchain. Un contrat définit simplement à quel UTXO déjà existant les actifs nouvellement émis seront attribués. Ainsi, si vous êtes un artiste intéressé par la création de jetons à collectionner, vous pouvez en émettre autant que vous le souhaitez gratuitement, puis ne payer les frais de transaction Bitcoin que lorsqu'un acheteur se présente et demande que le jeton soit attribué à son UTXO.

De plus, comme RVB est construit sur les transactions Bitcoin, il est également compatible avec le réseau Lightning. 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 via 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 le 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 Portefeuille Iris pour Android, dont le code est également open source sur GitHub. Si vous voulez juste en savoir plus sur RVB, vous pouvez consulter cette liste de ressources.

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.

Horodatage:

Plus de Magazine Bitcoin