Color Legend

Default: Implemented

Green: Implemented, but not merged yet

Blue: Needs to be implemented

Yellow: To be removed

Red: deprecated

<aside> 💡 See https://github.com/subspace/protocol-specs/tree/main/docs/decex for the latest version

</aside>

Overview

Architecture

Here is a high-level architecture of the pallet domain and other components (Subspace v2 Master - Domains)

Subspace v2 Master - Domains.png

Primitives

Domain: an enshrined rollup that performs settlement or execution for the consensus chain. Each domain uses a standard set of permissioned runtimes but may have a user-defined configuration.

Domain Operator: an account, that by staking SSC, operates a domain node and takes the responsibility of producing new bundles, validating transactions, and executing transactions within a specific domain. Operators also watch for fraud and challenge other potentially fraudulent operators.

Domain Subnet: a separate P2P gossip network for each domain (following which protocol?)

Domain Bundle: a collection of transactions for a domain that are ready for execution

Execution Receipt (ER): a commitment to the execution of a domain block, included in the bundle

Domain Block: a derived block that consists of transactions from one or more bundles, ordered by the consensus chain