Someone from BitMask's (the RGB wallet that I mentioned above) made this tweet a few weeks back[1] and I would like to know how accurate (on a technical level) is it,
I admit that I have not fully understood RGB yet. But as you didn't still get an answer from an expert, my (layman) interpretation from what I understood is that it is quite accurate:
RGB doesn't store contract data on-chain. The contract is negotiated off-chain between the parties, and then a regular transaction can be used for state changes (for example, a token transfer). For example, the parties negotiate that if the current token owner spends a certain UTXO, then the token is transferred, according to pre-negotiated rules. On-chain we see the transaction, but we don't know that it is linked to a RGB contract.
The state is assigned to unspent bitcoin transaction outputs, which defines them as single-use seals. The party that is able to spend corresponding transaction output is named a party owning a state: it is a party that has the right to change the corresponding part of the smart contract state by creating a new state transition and committing to it in a transaction spending the output containing a previous state.
[...]
- RGB separates concept of smart contract issuer, state owners and state evolution
- RGB keeps the smart contract code and data off-chain
- RGB uses blockchain as a state commitment layer and Bitcoin script as an ownership control system; while smart contract evolution is defined by an off-chain schema
Source: RGB blackpaperHowever, I can imagine attacks on that scheme, for example someone "doxxing" other contract participants publicly, chain analysis firms participating in contracts only to analyze their history, etc.
I would of course love if someone more knowledgeable can confirm this and/or provide more details (above all about the part regarding zero knowledge), as I consider RGB very interesting.