RGB Docs
  • RGB Protocol Documentation
  • Distributed Computing Concepts
    • Paradigms of Distributed Computing
    • Client-side Validation
    • Single-use Seals and Proof of Publication
  • Commitment layer
    • Commitment Schemes within Bitcoin and RGB
    • Deterministic Bitcoin Commitments - DBC
      • Opret
      • Tapret
    • Multi Protocol Commitments - MPC
    • Anchors
  • RGB State and Operations
    • Introduction to Smart Contracts and their States
    • Contract Operations
    • Components of a Contract Operation
    • Features of RGB State
  • RGB Contract Implementation
    • Contract Implementation in RGB
    • Schema
      • Schema example: Non-Inflatable Assets
    • Interface
      • Standard Interfaces by LNP/BP Association
      • Interface example: RGB20
    • Interface Implementation
  • RGB over Lightning Network
    • Lightning Network compatibility
  • Annexes
    • Glossary
    • Contract Transfers
    • Invoices
    • RGB Library Map
Powered by GitBook
On this page
  • TxId
  • MPC Proof
  • Extra Transaction Proof - ETP
  1. Commitment layer

Anchors

PreviousMulti Protocol Commitments - MPCNextIntroduction to Smart Contracts and their States

Last updated 8 months ago

Anchors are the client-side validated structures that summarize all the data needed to validate contract commitments, which were described in the previous section. They are composed of the following ordered fields:

  • Txid

  • MPC Proof

  • Extra Transaction Proof ETP

Where:

TxId

Txid is the 32-byte ID of the transaction containing the Opret / Tapret commitment. Note that TxId could theoretically be reconstructed from the off-chain data of pointing to each and thus following the chain of . However, to simplify the validation task, they are included in the anchor.

MPC Proof

The MPC Proof of the contract c_i consists of pos_i ,cofactor andMerkle Proof which were described so-called.

Extra Transaction Proof - ETP

If an commitment is used, no additional proof is provided in this field, since, as described in , the verifier inspects the first OP_RETURN output finding the correct mpc::Commitement.

If a commitment is used, a so called Extra Transaction Proof - ETP must be provided, which consists of:

  • Internal Public Key P of the Taproot output used.

  • Partner node(s) of the Script Path Spend which is either:

    • The top left branch (in the : tHABC) if the Tapret commitment is on the right side of the tree.

    • The left and right nodes of the upper right branch (in the same example they are: tHAB and tHC) if the Tapret commitment is on the left side of the tree.

  • The , if used, to optimize the Partner node part of the proof.

In the next section, we will introduce concepts purely concerning the off-chain part of RGB, i.e. contracts, giving an abstract view of the partially replicated finite state machine that gives RGB a much greater expressiveness than can be achieved through Bitcoin Script without sacrificing confidentiality.


Opret
the previous section
Tapret
previously
example
nonce
state transitions
witness transaction
single-use seals
Taproot