Contrat RGB
Un contrat RGB définit les règles d'émission et de transfert d'un actif (token, NFT, etc.). Schémas standardisés (RGB20, RGB21). Validation client-side.
Définition
Un contrat RGB est un programme déterministe qui définit comment un actif émis sur RGB peut évoluer : combien d'unités existent au départ, qui peut en émettre davantage, comment elles sont transférées, et quelles conditions doivent être respectées à chaque transition d'état. Contrairement à un smart contract Ethereum, il n'est pas exécuté par les nœuds Bitcoin mais validé chez les détenteurs.
Structure typique
Un contrat se compose de :
- Schema : la "classe" qui définit les opérations possibles (RGB20 pour fungible, RGB21 pour NFT, RGB25 pour collectibles).
- Genesis : l'état initial signé par l'émetteur, ancré à un single-use seal sur Bitcoin.
- State transitions : chaque transfert produit un nouvel état, lui-même ancré.
- Contract operations : émission, transfert, burn, rights assignment.
- AluVM bytecode (optionnel) : logique custom pour des contrats avancés (vesting, dividendes, etc.).
Schémas standards
| Schema | Usage | Exemple | |--------|-------|---------| | RGB20 | Token fongible | Stablecoin, security token | | RGB21 | NFT unique | Œuvre d'art numérique | | RGB25 | Collectibles | Série limitée, cartes | | RGB22 | Identity | Credential / DID |
Ces schémas sont au RGB ce que ERC-20/ERC-721 sont à Ethereum, mais avec la grande différence qu'ils ne sont pas exécutés sur la chaîne mère.
Cycle de vie
- Création : l'émetteur définit le schema, mint l'offre initiale, ancre le genesis dans une transaction Bitcoin (souvent un Taproot output).
- Distribution : il envoie aux premiers détenteurs un consignment file (état + preuves).
- Transferts : à chaque envoi, l'émetteur d'un input RGB scelle le nouvel état via une transaction Bitcoin qui dépense l'UTXO d'ancrage.
- Validation : le receveur vérifie tout l'historique en téléchargeant les consignments et en validant les seals.
Particularités
- Pas de contrats partagés : chaque détenteur ne voit que sa propre branche de l'historique.
- Confidentialité native : les autres acteurs RGB ne peuvent pas voir vos transferts.
- Pas de "rug pull on-chain" possible côté logique : le code du schema est fixé à la genèse.
- Mais : un émetteur malhonnête peut toujours refuser de coopérer ou diffuser des consignments contradictoires (mitigé par le commitment unique du single-use seal).
À retenir
Un contrat RGB est l'équivalent Bitcoin-native d'un token Ethereum, mais avec un compromis radical : extrême confidentialité et zéro impact sur la chaîne, contre une dépendance forte aux signataires pour la disponibilité des preuves.
Termes lies
- RGBRGB est un protocole de smart contracts client-side pour Bitcoin. Les états sont prouvés off-chain par les utilisateurs et ancrés par single-use seals on Bitcoin/Lightning. Permet stablecoins, NFT, DeFi sans bloat la chaîne. Maintenu par LNP/BP.
- Client-side validationLa client-side validation est le paradigme RGB où les utilisateurs valident eux-mêmes leur historique. Bitcoin sert de notaire (ordering, double-spend resistance). Préserve la confidentialité et la scalabilité.
- Asset IDUn Asset ID identifie de manière unique un actif RGB ou Taproot Assets. Lié à un single-use seal initial. Indispensable pour distinguer les contrats.
Glossaire inspire du dictionnaire de Loic Morel sur Pandul.fr.