Skip to content

RCP-241024A: Make each contract single-chain #14

@dr-orlovsky

Description

@dr-orlovsky
author: @fedsten
layers: consensus
breaking: consensus, api

Background

Each RGB contract in its genesis defines a set of blockchains where it can operate

Motivation

Contract operations over multiple chains add a lot to the consensus code and valdiation complexity (see for instance the problems with cross-chain consensus ordering of the operations described in RCP-241013A.

Proposal

Let a contract to commit and be used only on a single chain. Perform cross-chain operations as an atomic swaps between contracts.

Rationale

Once any of the contract state is used on a less secure chain, it either decreases the security of all of the contract to the level of that chain - or makes contract state and assets unfungible.

Atomic swaps do not introduce any decrease in the contract security and allow an issuer still to maintain cross-chain interoperability by issuing the same asset as an individual contracts on individual chains, as they do today with other non-RGB assets.

Metadata

Metadata

Assignees

Labels

C-pushbackConsensus-breaking changeS-acceptedAccepted proposals for the implementation

Type

No type

Projects

Status

No status

Relationships

None yet

Development

No branches or pull requests

Issue actions