Every account address corresponds to a chain of blocks. Each block's Previous field points to the hash of the preceding block. The first block has Previous set to "0".
Cross-Chain Links
Transfers require two blocks:
- A send block on the sender's chain debits the sender (creates a pending send)
- A receive block on the recipient's chain credits the recipient (consumes the pending send)
The sender and receiver do not need to be online at the same time.
Account chains open with a crediting block — receive, mint, multisig_open, or genesis:
Alice Bob Carol
┌─────────┐ ┌────────┐ ┌─────────┐
│ recv │ │ recv │ │ recv │
│ bal: 10 │ │ bal: 5 │ │ bal: 10 │
└───┬─────┘ └───┬────┘ └───┬─────┘
│ │ │
┌───▼─────┐ ┌───▼────┐ ┌───▼─────┐
│ send │─────▶│ recv │ │ send │
│ to: Bob │ │ src: │ │ to: Bob │
│ amt: 5 │ │ bal: 10│ │ amt: 3 │
│ bal: 5 │ └───┬────┘ │ bal: 7 │
└─────────┘ │ └─────────┘
┌───▼────┐
│ recv │◀── from Carol
│ bal: 13│
└────────┘Properties
- No contention between accounts (parallel processing)
- Instant finality for non-conflicting transactions
XE Extensions
- Dual assets (XE and XUSD)
- Additional block types (lease, lease_accept, lease_settle)
- State chain for governance
- blake2b PoW as anti-spam
- Voting weight from delegated XE balances (XUSD is mintable and confers none)
Block Types
Twelve block types are defined:
| Type | Byte | Asset | Debits | Credits |
|---|---|---|---|---|
send | 0x01 | XE or XUSD | sender | — |
receive | 0x02 | XE or XUSD | — | recipient |
lease | 0x04 | XUSD | consumer (escrow) | — |
lease_accept | 0x05 | XUSD | provider (stake) | — |
lease_settle | 0x06 | XE | — | provider (emission) |
genesis | 0x07 | XE | — | treasury (42,000,000 XE) |
multisig_open | 0x08 | XE or XUSD | — | — |
multisig_update | 0x09 | XE or XUSD | — | — |
lease_cancel | 0x0A | XUSD | — | consumer (refund) |
burn | 0x0B | XE | self | — |
lease_force_settle | 0x0C | XUSD | — | consumer (refund) |
mint | 0x0D | XUSD | — | minter (new supply) |
0x03 is a retired, unallocated gap: the permissionless claim type was removed — XUSD now enters circulation only via mint blocks on accounts registered under the state chain's sys.minter key. Genesis is XE-only and its balance must equal GenesisSupply (42,000,000 XE).