CoinEx Institution|Une Brève Analyse De RGB : Un Protocole De Contrat Intelligent Évolutif Et Confidentiel Construit Sur Bitcoin
Contexte
RGB, Un Protocole Créé Pour Rendre Le Bitcoin Plus Évolutif Et Plus Privé
Les performances du bitcoin ont été suivies de près depuis le lancement de la crypto en 2009. Comme il ne peut traiter que sept transactions par seconde, le réseau ne permet pas de réaliser des contrats intelligents évolutifs. La mise à jour SegWit a permis d’augmenter la limite de taille des blocs de Bitcoin à 4 Mo (1 Mo pour les données de transaction et 3 Mo pour les données des témoins — witness data) ; cependant, cette limitation persiste toujours. Pendant ce temps, à mesure que l’influence de Bitcoin s’accroît, le défi de la mise à l’échelle s’est accentué. La mise à l’échelle reste un défi fondamental auquel est confronté l’écosystème Bitcoin. Aujourd’hui, les praticiens explorent des solutions avec différentes approches, qui comprennent principalement :
- Les sidechains, notamment Liquid, Stacks, Rootstock, etc ;
- Les canaux d’état (state channels) comme le Lightning Network qui traitent certaines transactions très fréquentes hors chaîne ;
- Les solutions de mise à l’échelle non évolutives telles que RGB et Bitcoin Script qui ne modifient pas le code de Bitcoin ;
- Les solutions de mise à l’échelle basées sur les mises à jour, notamment Drivechain (BIP300/301) qui nécessitent un fort soutien des mineurs et atteignent la mise à l’échelle par le biais de hard forks.
Parmi les différentes approches, certaines solutions de mise à l’échelle précoces regagnent de l’attention. Notamment, Nostr, un protocole devenu viral fin 2022, a contribué à l’adoption généralisée du Lightning Network. Parallèlement, Ordinals a connu un véritable boom au début de l’année 2023. En tant que solution de contrat intelligent basée sur le Bitcoin et le Lightning Network offrant la complétude de Turing, la mise à l’échelle et une forte protection de la vie privée, RGB a publié une nouvelle version (v0.10) en avril dernier.
L’évolution de RGB
La genèse de RGB remonte à 2016, lorsque Peter Todd a introduit la notion de sceau à usage unique (single-use seal) et de validation côté client. Construit à partir de ces concepts essentiels, le RGB a été proposé en 2018.
En 2019, Orlovsky, l’un des principaux développeurs du RGB, a été le fer de lance du développement du RGB et a créé de nombreux éléments qui constituent finalement le protocole RGB. En outre, la création de l’association LNP/BP en Suisse a contribué à fournir les normes pertinentes.
Après des efforts de développement considérables, RGB a dévoilé sa version v0.10 en avril 2023.
À propos du design de RGB
C’est ainsi que RGB parvient à la mise à l’échelle et à la confidentialité :
La plupart des chaînes de blocs publiques existantes fonctionnent selon un modèle de consensus global, dans lequel tous les nœuds valident toutes les transactions, partagent les informations sur les transactions entre eux et maintiennent un état global unifié.
Cependant, ce modèle soulève plusieurs défis, notamment :
- Les limites de l’échelle qui rendent coûteuse la validation de toutes les interactions contractuelles ;
- Coûts élevés conduisant à un fonctionnement centralisé des nœuds ;
- Manque de confidentialité en raison de l’ouverture des informations sur les transactions.
La validation côté client (CSV) propose une approche alternative : Elle exige uniquement que la couche de consensus remplisse les engagements cryptographiques associés aux événements du grand livre, tout en stockant les informations sur les événements réels (le grand livre) hors de la chaîne de blocs. Cette approche, qui trouve son origine dans les travaux de Peter Todd, est appelée “Client-Side Validation”. La CSV transfère les données sur la chaîne (on-chain), où les informations détaillées sont stockées et vérifiées, et seules des informations minimales sont soumises sur la blockchain. En outre, les données de transaction sont transférées hors chaîne uniquement entre l’expéditeur et le destinataire. Par exemple, dans une transaction du monde réel, la validation n’est requise que lorsque le portefeuille et les parties demandent l’accès aux données du contrat.
Caractéristiques principales de CSV :
- Les informations détaillées sur les transactions sont stockées en dehors de la chaîne et validées uniquement sur le client ;
- Seuls les engagements relatifs aux données on-chain sont stockés sur la chaîne ;
- La validation ne s’applique qu’aux transactions dont les utilisateurs doivent avoir connaissance.
Dans le RGB, le mécanisme de validation des transferts d’actifs diffère sensiblement de celui du Bitcoin. Dans le réseau Bitcoin, les nœuds sont toujours en train de télécharger et de valider des blocs et des transactions mempool, ce qui leur permet d’acquérir l’état le plus récent de l’ensemble des UTXO. Lorsqu’ils rencontrent une nouvelle transaction, les validateurs Bitcoin contrôlent la validité de son historique en vérifiant si toutes les entrées existent dans l’ensemble des UTXO le plus récent.
RGB, en revanche, ne s’appuie pas sur une diffusion globale sur le réseau de toutes les transactions pour créer un équivalent de l’ensemble des UTXO de Bitcoin. Cela signifie que lorsqu’il reçoit un paiement entrant, un client RGB doit non seulement vérifier que la dernière transition d’état est valide, mais aussi effectuer la même validation pour toutes les transitions d’état précédentes jusqu’à l’état de genèse dans le contrat d’émission. Cette validation ascendante de l’historique des transactions dans le RGB permet également de se prémunir contre les attaques par double dépense.
RGB améliore la mise à l’échelle en ne validant que les transactions qui sont pertinentes. Cependant, cette approche peut entraîner des problèmes liés à la faible disponibilité des données, ce qui peut nécessiter un partage des données pour optimiser la validation des paiements.
Sceaux à usage unique basés sur Bitcoin (Bitcoin-based Single-use Seals)
Les scellés physiques à usage unique sont des liens en plastique numérotés de façon unique, couramment utilisés pour détecter les manipulations pendant le stockage et l’expédition. Par exemple, il permet de savoir si la porte d’un conteneur d’expédition a été ouverte pendant le transport. Les scellés numériques à usage unique ferment un sceau numérique sur un message pour s’assurer qu’il ne peut être utilisé qu’une seule fois, ce qui empêche les vendeurs de vendre deux fois la même propriété.
Au lieu d’utiliser une entité de confiance pour certifier l’ouverture et la fermeture des sceaux numériques, il est possible d’utiliser les sorties de transactions non dépensées (UTXO) de Bitcoin comme sceaux. Un UTXO peut être considéré comme un sceau qui est fermé lorsqu’il est créé et ouvert lorsqu’il est dépensé. À la lumière des règles de consensus de Bitcoin, une sortie ne peut être dépensée qu’une seule fois ; par conséquent, le sceau ne peut être ouvert qu’une seule fois. De cette façon, les sceaux à usage unique sont utilisés pour associer les UTXO de Bitcoin aux états des contrats hors chaîne, ce qui permet l’exécution de la transition d’état suivante par le biais de transactions RGB hors chaîne (fermeture du sceau). À l’instar des sceaux physiques à usage unique utilisés pour sécuriser les conteneurs d’expédition, un sceau numérique à usage unique est un objet unique qui scelle avec précision une information afin d’éviter la double dépense.
Voici une analogie simple : Nous pouvons considérer les UTXO comme une série de chèques, chacun d’entre eux étant accompagné d’un montant différent. Lorsque tu effectues un paiement, tu paies essentiellement quelqu’un avec un chèque non encaissé. De plus, tout solde restant du chèque te reviendra sous la forme d’un nouveau chèque. Dans ce scénario, les sceaux à usage unique ajoutent certains enregistrements de transfert à la case d’informations supplémentaires du chèque. Comme un chèque ne peut être encaissé qu’une seule fois, cette approche permet d’éviter les doubles dépenses.
Voyons comment ce processus fonctionne entre Alice, Bob et Dave :
1. Pour commencer, Alice a émis un actif RGB (par exemple, USDT Tether ou USDT) avec une offre totale de 100 millions, et a ajouté les informations d’engagement à un chèque valide (Check A) dans la case des informations supplémentaires. L’imprimeur du chèque n’a pas à prendre en compte ces informations supplémentaires, et le chèque A peut avoir n’importe quelle valeur faciale, tant qu’il appartient à Alice et qu’il n’est pas encaissé.
2. Lorsque Alice veut transférer 10 millions d’USDT à Bob, elle doit encaisser le chèque A et indiquer dans la case des informations complémentaires que 10 millions d’USDT iront sur un nouveau chèque (chèque B) appartenant à Bob et que 90 millions d’USDT iront sur un autre nouveau chèque (chèque C) appartenant à Alice, qui contient les 90 millions d’USDT restants.
3. Si Bob souhaite transférer 10 millions d’USDT à Dave, il doit encaisser le chèque B et noter dans la case des informations complémentaires que 10 millions d’USDT iront sur un nouveau chèque (chèque D) appartenant à Dave.
4. Le même processus est répété pour chaque transfert ultérieur. Plus précisément, le détenteur précédent endosse une partie du montant au nouveau destinataire, et ce dernier vérifie ensuite l’ensemble de l’historique des transferts d’actifs. Comme pour les chèques en circulation, chaque transfert crée un nouveau chèque, et chaque chèque ne peut être encaissé qu’une seule fois (UTXO). Pendant ce temps, les anciens chèques (UTXO) deviennent invalides, ce qui permet de s’assurer que l’État ne peut qu’avancer et non reculer, ce qui empêche également les doubles dépenses. De cette façon, les enregistrements sur la chaîne reflètent de manière fiable les changements d’état d’un actif crypto.
RGB utilise le modèle de sceau à usage unique basé sur Bitcoin décrit ci-dessus, ce qui signifie que lorsqu’une transaction RGB a lieu, l’expéditeur crée une transition d’état du contrat définissant les droits transférés. Prenons le cas des jetons. Tout d’abord, l’émetteur d’un contrat définit l’état de genèse qui définit les détails du contrat, tels que le nom de l’actif, l’approvisionnement total et l’UTXO avec le droit de déplacer l’approvisionnement. Ensuite, lorsque les actifs sont transférés pour la première fois, le propriétaire de la première UTXO peut créer une transition d’état qui définit quelle nouvelle UTXO sera désormais propriétaire de l’actif. RGB réalise des transitions d’état en s’appuyant sur le mécanisme selon lequel les UTXO ne peuvent être dépensés qu’une seule fois, ce qui lui permet de définir et de suivre de manière fiable le transfert des crypto-actifs et les changements de droits de propriété.
RGB maintient toutes les informations relatives aux transactions en dehors du réseau Bitcoin, les transférant exclusivement entre les expéditeurs et les destinataires. Pendant ce temps, les données d’engagement sont ancrées dans les UTXO Bitcoin. Une fois qu’un UTXO est dépensé, il ne peut plus être dépensé de la même manière, ce qui signifie un changement dans le contrat.
RGB s’appuie sur la blockchain Bitcoin pour la protection contre la double dépense, et ce en engageant chaque transition d’état RGB à l’intérieur de la transaction Bitcoin en dépensant l’UTXO qui possède les droits déplacés. Plusieurs transitions d’état peuvent être incluses dans une seule transaction Bitcoin, mais chaque transition d’état ne peut être soumise qu’une seule fois (sinon la double dépense serait possible).
Pour permettre d’avoir plusieurs transitions d’état dans un seul engagement, les transitions d’état sont agrégées plusieurs fois et ensuite soumises à la transaction Bitcoin via Taproot ou OP_RETURN. Si plusieurs engagements existent dans une transaction Bitcoin, seul le premier sera pertinent pour les règles de validation RGB, et les autres seront ignorés, ce qui rend toute tentative de double dépense inutile.
Caractéristiques principales de RGB
Mise à l’échelle
- Par rapport aux protocoles alternatifs qui conservent toute la logique sur la chaîne, la CSV conserve les données en dehors de la chaîne, ce qui réduit les coûts et les contraintes informatiques ;
- RGB est facilement disponible sur Bitcoin, sans qu’il soit nécessaire de modifier le code ou d’effectuer des transactions complexes sur la chaîne ;
- RGB prend en charge le réseau Lightning.
Vie privée
- Les tiers ne peuvent pas observer les transactions RGB ou leurs sceaux à usage unique ;
- Le RGB comporte des UTXO aveugles (blinded UTXOs). Un UTXO masqué consiste en un hachage de la concaténation entre l’UTXO et un secret de masquage aléatoire. De cette façon, l’expéditeur ne sait pas où sont allés les actifs, et le nouveau destinataire ne peut valider l’UTXO aveuglé que lorsqu’il dépense l’actif ;
- RGB utilise également un mécanisme de zéro connaissance appelé Bulletproof. Dans le cadre de ce mécanisme, les propriétaires d’actifs pourront voir tous les UTXO qui possédaient précédemment un actif, mais ils ne pourront pas voir le montant de l’actif transféré dans chaque transition d’état.
Fonctions polyvalentes et cas d’utilisation du RGB
Schémas
Les émetteurs peuvent utiliser les schémas RGB, qui agissent comme des modèles de contrats pouvant être utilisés pour cibler des cas d’utilisation spécifiques.
Voici quelques exemples :
- RGB20 émission d’actifs fongibles
- RGB21 émission d’actifs non fongibles
- RGB22 identités numériques décentralisées
- RGB23 journal historique unique et vérifiable pour les données vérifiables
- RGB24 Système de noms de domaine mondial décentralisé
- RGB25 émission de biens à collectionner
Chacun est libre de développer son propre schéma pour différentes applications sans avoir à demander la permission aux développeurs du RGB. Cependant, on s’attend à ce que la plupart des cas d’utilisation puissent être couverts par quelques schémas principaux.
AluVM
RGB emploie AluVM, une machine virtuelle RISC à base de registres spécialement conçue à cet effet. AluVM est Turing-complet et peut exploiter l’état global avec les mêmes garanties de disponibilité que les systèmes existants basés sur la blockchain. À l’instar de l’EVM, AluVM présente une architecture qui imbrique un nœud RGB au sommet du réseau Lightning, hébergeant un client RGB sur les nœuds RGB.
Comment RGB reste entièrement compatible avec le réseau Lightning
En reliant les canaux de paiement de jetons spécifiques au Lightning Network, les actifs RGB peuvent offrir la même expérience utilisateur et les mêmes hypothèses de sécurité que les paiements réguliers sur le Lightning Network. Cela garantit des paiements peu coûteux, rapides et stables et peut bénéficier à l’ensemble de l’écosystème, y compris aux utilisateurs, aux développeurs et aux opérateurs de nœuds Lightning.
Comparaison avec d’autres solutions
RGB VS TARO
TARO (désormais Taproot Assets), un protocole Taro soutenu par Taproot, a été introduit par Lightning Labs en avril 2022 après avoir levé 70 millions de dollars en financement de série B.
RGB et TARO sont tous deux basés sur CSV. Comme les deux partagent des conceptions similaires, certains affirment même que TARO s’est inspiré de RGB. Cependant, il semble aujourd’hui qu’ils se concentrent sur des aspects différents : TARO se concentre sur les jetons, tandis que RGB vise à mettre en œuvre des fonctions de contrat intelligent.
Comparaison avec d’autres solutions Bitcoin
Contrairement à Drivechain, qui est basé sur BIP300 et BIP301 et nécessite des fourches dures (hard forks), RGB est compatible avec la technologie Bitcoin existante et les potentielles futures soft forks, sans nécessiter de modifications au niveau de la couche de base de Bitcoin.
Ordinals engage toutes les données sur la blockchain, tandis que RGB ne conserve que les engagements de données sur la chaîne. Compte tenu de la sécurité fournie par les UTXO, RGB consomme un espace minimal sur la chaîne, ce qui permet une intégration transparente avec le Lightning Network.
RGB VS Rollup
Rollup est une solution de mise à l’échelle d’Ethereum qui permet aux utilisateurs de déposer des fonds dans les contrats intelligents d’Ethereum, puis d’effectuer des transactions avec d’autres utilisateurs dans le même Rollup. Ces transactions sont périodiquement agrégées et soumises à la blockchain.
De plus, RGB n’est pas une blockchain indépendante.
Les défis
- L’écosystème RGB n’en est qu’à ses débuts. Bien que l’infrastructure soit déjà en place, l’écosystème n’offre qu’une poignée d’applications de base, et il faudra peut-être un certain temps pour que RGB élargisse ses outils de développement et sa base d’utilisateurs.
- Les clients RGB stockent des données massives, et les dépenses seraient impossibles si les données hors chaîne pour la validation étaient perdues. Ainsi, ce n’est pas seulement la clé qui doit être stockée. De plus, contrairement au Bitcoin et à d’autres systèmes de consensus global, les clients RGB n’ont pas besoin de voir ou de valider toutes les transactions à l’échelle mondiale. Au lieu de cela, ils ne doivent valider que les transactions liées à leurs portefeuilles. Cela réduit considérablement les données que chaque client doit valider, ce qui rend l’ensemble du système plus évolutif. Bien que la validation de données massives lors de la réception de paiements puisse sembler problématique parce qu’une validation lente signifie des transactions lentes, cela ne devient un problème que lorsque l’historique des transactions est long. Lorsque cela se produira, de nouvelles couches de disponibilité des données seront nécessaires, qui permettront aux clients de partager volontairement les données de transition d’état de contrats spécifiques. De cette façon, les futurs récepteurs pourront commencer à valider une partie de l’historique des transactions à l’avance.
- Pour les jetons CSV populaires, une adoption étendue peut augmenter le coût de la validation.
- RGB est un développement dirigé par la communauté et repose sur une recherche diligente de l’équipe, ce qui signifie des progrès lents et des promotions limitées sur le marché.
- Courbe d’apprentissage des développeurs : En plus des connaissances sur le bitcoin, les développeurs doivent également rester informés des transitions d’état et des contrats de RGB.
Projets des écosystèmes
DIBA
Site web : https://diba.io/
DIBA est une place de marché Bitcoin NFT qui utilise le protocole de contrat intelligent RGB.
Cosminmart
Site web : https://www.cosminmart.com/
Cosminmart est un écosystème basé sur le protocole RGB et propose des fonctions comprenant un portefeuille, un marché, un Launchpad et un navigateur.
Mycitadel
Site Internet : https://mycitadel.io/
Mycitadel propose un large éventail de fonctions, notamment la multi-signature, les conditions de dépenses bloquées dans le temps, Taproot, etc.
Bitmask
Site Internet : https://bitmask.app/
Bitmask est une extension de portefeuille.
À propos de CoinEx
Fondée en 2017, CoinEx est une bourse de crypto-actifs mondiale qui s’engage à faciliter le trading des crypto-monnaies. La plateforme propose une gamme de services, notamment le trading au comptant et sur marge, les contrats à terme, les swaps, les automated market maker (AMM) et les services de gestion financière pour plus de 5 millions d’utilisateurs à travers plus de 200 pays et régions. Fondée avec l’intention initiale de créer un environnement égalitaire et respectueux de la cryptomonnaie, CoinEx se consacre au démantèlement des barrières financières traditionnelles en offrant des produits et des services faciles à utiliser pour rendre le trading de cryptoactifs accessible à tous.
Références
https://hackernoon.com/top-4-directions-of-bitcoin-ecosystem-scalability
https://github.com/RGB-WG/blackpaper/blob/master/README.md
https://docs.lightning.engineering/the-lightning-network/taproot-assets