Skip to content

Addressing Scheme

Frank V. Castellucci edited this page Jul 21, 2018 · 18 revisions

Addresses

Data on the chain is referenced by hashed keys. The data itself is actually stored in a Radix Trie that uses chunks of the address to traverse, filter and resolve to data entities. The maximum length of an address is 35 bytes represented as a 70 character hex string.

With #B we've defined a segmentation convention to enable flexible but consistent address composition and decomposition. There are five primary address groups in #B:

  1. Settings
  2. Proposals and Votes
  3. Unit (units-of-measure)
  4. Asset (e.g. resources, etc.)
  5. Match (exchange of things)

A table guide will support each groups segmentation model. Where each segment is identified by a conceptual name along with the (bytes position) of the address it occupies.

Settings

The settings determine consortium authorizations and voting thresholds for asset and unit proposals. These are currently set in the genesis block during bootstrapping.

(0-2) (3-5) (6-8) (9-34)
hashblock setting unit filler
hashblock setting asset filler

Proposals and Votes

Proposals and votes applies to Unit and Asset, each with a dedicated proposal and voting storage address. These are currently set in the genesis block during bootstrapping.

(0-2) (3-5) (6-8) (9-34)
hashblock candidates unit filler
hashblock candidates asset filler

Unit (Units of Measure)

When units are accepted via a voting consortium they are extracted from the proposal and published on the block. Terms in quotes are defined by the values provided by the proposer.

(0-2) (3-5) (6-9) (10-12) (13-34)
hashblock unit 'system' 'key' system generated prime

Asset

When asset entities are accepted via a voting consortium they are extracted from the proposal and published on the block. Terms in quotes are defined by the asset value provided by the proposer.

(0-2) (3-5) (6-9) (10-12) (13-34)
hashblock asset 'system' 'key' system generated prime

Exchange

Initiating (UTXQ) and reciprocating (MTXQ) exchanges are individually represented on the block.

(0-2) (3-5) (6-8) (9-11) (12) (13-34) Notes
hashblock exchange utxq utxq verb 0 generated unique id 0 indicates unmatched initiate
hashblock exchange utxq utxq verb 1 generated unique id 1 indicates matched initiiate
hashblock exchange mtxq mtxq verb 0 generated unique id

Where:

  • utxq verb is one of ask, offer, commitment or give for example but goal is to make these configurable
  • mtxq verb is one of tell, accept, obligation or take for example but goal is to make these configurable

Clone this wiki locally