If you want a simple explanation of #RGB to share with your friends, I've put one together. Feedback appreciated.
--
RGB is a generalized smart contract system built on #Bitcoin and #Lightning.
It's scalable and private because it keeps contracts off the blockchain, and the parts of a contract that can change are anchored to a little piece of a bitcoin called an Unspent Transaction Output (UTXO).
When this piece of a coin is spent, it can never be spent in the same way again, so we know, that part of the contract has changed. This is similar to a tamper-evident single use seal, like a bag with a zipper that can only be zipped once.
Even better, only the person who owns the bag with a single use seal can zip it. And like a bag, it can contain multiple items.
Multiple tokens can be anchored to a single UTXO, and when they're spent, the ones you're not spending are sent back to yourself, to another UTXO you own.
Because contract data is kept off-chain, decentralized storage protocols like Storm and Carbonado are used to keep and communicate contracts reliably.
This is then used by wallets to do things like mint, transfer, accept, and verify on token contracts. There's not really a need for an RGB node, even in web browsers, since the code needed to validate contracts can be built to run in browsers.
This is what is meant when we say client-side validation (CSV); only the wallet needs to know about the contracts, and only peers that interact with each other need to know the contract data.
This allows for privacy and scale in a number of ways:
- Contracts are not put on-chain
- Contracts are not executed on nodes
- Multiple contracts can anchor to a single UTXO
- The UTXOs are very small and look like ordinary Taproot payments
If you request a payment from someone, nobody can see what other tokens you have, even if they have the contract. This is because a really big number is added to the UTXO to make a blinded payment.
Nobody can know which UTXOs have tokens by scanning the chain on an explorer, and there's no way to send someone tokens if they don't request and accept them.
--
I hope this is a good start towards understanding RGB! A great way to understand it even better is to actually try it out on any of these wallets:
https://mycitadel.io
https://iriswallet.com (not to be confused with iris.to, or IRS wallet)
https://beta.bitmask.app