Glossary
Terminology used in RGB sorted in alphabetical order
Anchor
Set of client-side data that proves the inclusion of a unique commitment inside a transaction. In RGB protocol it is constituted by:
The Bitcoin transaction ID of the witness transaction.
The Multi Protocol Commitment - MPC.
The Deterministic Bitcoin Commitment - DBC.
AluVM
Acronym of Algorithmic logic unit Virtual Machine, it is a register-based virtual machine for smart contract validation and distributed computing, used but not limited to RGB contract validation.
Assignment
The RGB-equivalent of a transaction output modifying, updating or creating some properties of the state of a contract. It is formed by:
An Owned State
Business Logic
The set of operations and rules contained in a contract Schema which allows for the rightful update of the contract state.
Client-side Validation
The operation which allows the verification of some data exchanged between parties according to some defined protocol rules. In RGB protocol these data are in form of consignment; the above data can be exchanged privately between the parties involved as, unlike Bitcoin protocol, they don't need to be registered on a public medium (e.g. the blockchain).
Commitment
A defined mathematical object , deterministically derived from applying a cryptographic operation to some structured input data , called the message. The commitment can be registered in a defined publication medium (e.g. the blockchain) and embeds two operations:
Commit operation, which takes as inputs a public message and a random value , and by applying to them the chosen cryptographic algorithm returns a value .
Verify operation, which takes the value returned by the commit algorithm , the public message and the secret value and returns True/False. .
The commitment is required to possess two fundamental security properties:
Binding: requires that there cannot be two valid messages of the same commitment . That is, it is computationally unfeasible to produce different and such that:
Hiding: requires that the message cannot be easily discovered by commitment attempts, i.e., that be uniformly sampled in a set such that it is statistically independent of .
Consignment
The data transferred between parties that are subject to client-side validation. In RGB there are 2 types of consignment:
Contract Consignment: provided by the contract issuer including the information about the contract setup, such as the Schema, the Genesis, the Interface, and the Interface Implementation.
Transfer Consignment: provided by the payer user party and containing all the state transition history up to the terminal consignment.
Contract
A set of rights established and executed digitally between certain parties through RGB protocol. A contract possesses an active state and business logic, expressed in terms of ownership rights and executive rights. The contract state, rights and conditions of valid operations are defined using RGB schema. Only state and operations which allowed by the schema declarations and validation scripts are allowed to happen within the contract scope.
Contract Operation
An update to the contract state performed according to the rules defined in the contract schema.
Contract operations include:
Contract Participant
An actor who participates in contract operations. Contract parties are classified into the following categories:
Contract issuer: an actor creating contract Genesis.
Contract party: all actors who have some ownership rights over RGB contract state which have been provided through an Assignment.
Public party: an actor who is able to construct State Extensions. Can exist only in contracts providing Valencies to be redeemed by State Extension.
Contract Rights
RGB contract parties have different rights as a part of the contract conditions defined through RGB Schema. The rights under RGB contracts can be classified into the following categories:
Ownership rights: the rights associated with the ownership of some UTXO referenced by a Seal Definition.
Executive rights: the ability to construct the contract state in a final form, i.e. to construct a valid state transition satisfying schema validation rules.
Public rights: a right under some Schema to use a contract Valency and construct a valid State Extension.
Contract State
The set of up-to-date, private, and public information that manifests the condition of a contract at a certain point in history. In RGB, the contract state is constituted by:
Deterministic Bitcoin Commitment - DBC
The set of rules which allows for the registration of a provably single commitment in a Bitcoin transaction. Specifically, RGB protocol embeds 2 forms of DBC:
Directed Acyclic Graph - DAG
A directed graph that does not contain any directed cycle thus allowing topological ordering. A Blockchain or an RGB Contract Shard are examples of DAG.
Engraving
An optional data string that past owners of a contract can register in the contract history. It is implemented in the RGB21 interface.
Extra Transaction Proof - ETP
The part of the Anchor that embeds the additional data necessary for the validation of Tapret commitment contained in a taproot transaction, such as the internal PubKey and the Script Path Spend.
Genesis
The set of data, regulated by a contract schema, which represents the starting state of every contract of RGB. It's the equivalent of Bitcoin Genesis Block at the client-side level.
Interface
The set of code instructions that allow for the parsing of the compiled binary data contained in Schema, Contract Operation, and States in user and wallet-readable information.
Interface Implementation
The set of code declarations that bind an Interface to a Schema and make possible the semantic translation operated by the Interface itself.
Invoice
A base58 URL-encoded string embedding the necessary data in order to allow a payer counterpart to construct a State Transition.
Global State
The set of public properties included in the state of a contract, defined in Genesis and optionally updatable according to the rule defined therein, which are not owned by any party.
Lightning Network
A decentralized network of bidirectional payment (state) channels constituted by 2-of-2 mutisig wallet constructing and updating off-chain transactions. It represents a popular Bitcoin Layer 2 scaling solution.
Multi Protocol Commitment - MPC
The Merkle Tree structure used in RGB to include in a single Bitcoin Blockchain commitment the multiple Transition Bundles of different contracts.
Owned State
Part of the state of a contract enclosed into an Assignment that contains the definition of the digital property being subjected to someone's ownership.
Ownership
The control and thus the possibility to spend a UTXO to which some client-side property isthat assigned.
Partially Signed Bitcoin Transaction - PSBT
A transaction which lacks some element of its signature and which can be completed/finalized with some additional elements later in time.
Pedersen commitment
A particular type of cryptographic commitment characterized by the homomorphic property with respect to the addition operation. This means that given a certain function, it is possible to verify the commitment given by the sum of two data without revealing the data itself. That is, given , , , and , if and :
So it is possible to verify the total sum without revealing the individual values. This operation, for example, becomes useful to conceal the amounts of tokens transacted.
Redeem
A construct present in State Extension which references a previously-declared Valency.
Schema
A declarative piece of code that contains the set of variables, rules, and business logic according to which an RGB contract works.
Seal Definition
The reference part of an Assignment which binds the commitment to a UTXO belonging to the new owner.
Shard
A branch of the DAG chain of the RGB State Transitions.
Single-Use Seal
A promise to commit to a yet unknown message in the future, once and only once, such that commitment fact will be provably known to all members of a certain audience.
Stash
The set of client-side data related to one or more contracts that undergo validation and are stored by the users.
State Extension
A contract operation that allows for the redeeming of some Valencies. It needs to be closed by a State Transition in order to put in effect the changes to the contract expressed by the Valencies.
State Transition
The most important contract operation that makes possible the transition of an RGB State to a New State, changing state data and/or ownership.
Taproot
The Bitcoin's Segwit v1 transaction format detailed in BIP341 and BIP342.
Terminal Consignment - Consignment Endpoint
A transfer consignment that includes the last state of a contract embedding the State Transition constructed from a payee counterparty invoice.
Transition Bundle
A set of RGB State Transitions that belong to the same contract and that are committed in the same witness transaction.
UTXO
A Bitcoin Unspent Transaction Output. It is defined by a transaction hash and a vout index which, collectively, constitute an outpoint.
Valency
A public right having no state but which can be referenced and redeemed through a state extension.
Witness Transaction
The transaction that provides the Seal closing operation around a message that contains a Multi Protocol Commitment an MPC Tree.
Last updated