🎙️ New DTRH with @dr_orlovsky
In this episode, Dr. Orlovsky and I discuss:
- Architecture of RGB smart contracts
- Decentralized trustless computing
- Non-fungible & synthetic assets, digital identities
- How RGB differs from Ethereum
Listen and share!
Just listening to this now. I really appreciate content like this, because RGB has been hard for me to wrap my head around. @dr_orlovsky, you mention that multiple RGB contracts could share the same bitcoin transaction for ownership management, but be separate from each other…
…how is this possible? I assumed that a transaction output used with RGB would contain a homomorphic commitment to some RGB state, and if so, an output would uniquely commit to a single piece of state.
It is possible with special so-called multi-commitments, which adds “one-to-many” layer between bitcoin transaction and multiple smart contracts. It is defined as LNPBP-4 standard in general (not only RGB-specific) form – https://github.com/LNP-BP/LNPBPs/blob/master/lnpbp-0004.md … – and ...
... and, basing on it, RGB has so called anchors, which are linking state transitions under multiple independent RGB contracts to a single bitcoin transaction output. These anchors contain no contract data (they are just multi-commitments, i.e. hashes of hashes) ...
... Anchors are separated from RGB contracts (many-to-many) and together with contract-specific data (RGB contract geneses, state transitions & state extensions) and RGB schemata (containing validation rules and scripts) constitute RGB client-side-validation data...
... thus, RGB from a user perspective is a set of:
- schemata (scripts and non-script validation rules)
Which are kept together, representing RGB client-side-validation data, on top of bitcoin transaction graph...
... These data can be organized into
- stash (local user storage)
- consignments (transfers & data exchange specific to a single contract)
- disclosures (voluntary exposure of data under multiple contracts to the publicity/third parties) ...
... Additionally to that, there are non-client-side-validated RGB data, called “data containers”, which are used for large binary files, like containing songs/images/videos for NFTs - they are not linked to transactions, and may participate in multiple contracts.
Tip: mention @threader_app on a Twitter thread with the keyword “compile” to get a link to it.
Threader is an independent, ad-free project created by two developers. Our iOS Twitter client was featured as an App of the Day by Apple. Sign up today to compile, bookmark and archive your favorite threads.