Conversation

between @btcbycko, @rodarmor and @dr_orlovsky.

10 months ago

Kaz ₿ycko@btcbycko

🎙️ 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!
 https://anchor.fm/dtrhole/episodes/e17-The-Bitcoin-Contracting-Layer---RGB-with-Maxim-Orlovsky-eqdfh6 

Casey Rodarmor@rodarmor

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…

Casey Rodarmor@rodarmor

…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.

Dr Maxim Orlovsky [LNP/BP]@dr_orlovsky

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 ...

Dr Maxim Orlovsky [LNP/BP]@dr_orlovsky

... 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) ...

Dr Maxim Orlovsky [LNP/BP]@dr_orlovsky

... 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...

Dr Maxim Orlovsky [LNP/BP]@dr_orlovsky

... thus, RGB from a user perspective is a set of:
- schemata (scripts and non-script validation rules)
- contracts
- anchors

Which are kept together, representing RGB client-side-validation data, on top of bitcoin transaction graph...

Dr Maxim Orlovsky [LNP/BP]@dr_orlovsky

... 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) ...

Dr Maxim Orlovsky [LNP/BP]@dr_orlovsky

... 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.