-
Notifications
You must be signed in to change notification settings - Fork 1
Addressing Scheme
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:
- Settings
- Proposals and Votes
- Unit (units-of-measure)
- Asset (e.g. resources, etc.)
- 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.
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 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 |
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 |
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 |
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,commitmentorgivefor example but goal is to make these configurable -
mtxq verb is one of
tell,accept,obligationortakefor example but goal is to make these configurable