ALX Block Model
An ALX Block is a unit of digital content with a deterministic identity and declared relationships to parent Blocks.
ALX Protocol defines how Blocks are structured, identified, and linked. XNDR Network indexes conforming Blocks from configured sources and adds observations used for discovery, verification, and navigation.
Block Fields
Every Block contains four required fields. Protocol version 1 also supports the optional protocolVersion field. A core Block has no other fields.
| Field | Meaning |
|---|---|
content | The JSON-serializable data stored in the Block. |
contentHash | Deterministic identity of the canonicalized content. |
parentHashes | Normalized list of parent blockHash values the Block declares. |
blockHash | Deterministic identity of the content and the declared parent relationships. |
protocolVersion | Optional declared protocol version. |
The two hashes serve different purposes:
contentHashidentifies the content itself.blockHashidentifies the content together with the declared parent relationships.
Each parentHashes entry is a parent Block’s blockHash, not a contentHash. Two Blocks can therefore have the same contentHash and different blockHash values when the Blocks declare different parents.
Parent Relationships
Blocks declare upstream relationships through parentHashes. Each entry identifies a parent Block.
A root Block has no declared parents. A derived Block has one or more.
XNDR Network resolves declared parentHashes entries within the selected scope when the parent Blocks are available. The parent identities remain part of the Block even when the parent records are unavailable.
Indexed Children
Children are discovered from the opposite direction.
An indexed child is a Block that includes another Block’s blockHash in parentHashes. XNDR Network identifies indexed children from records available within the selected scope. No indexed child in the selected scope means the scope has not observed a Block that declares the parent blockHash.
Declared parents and indexed children support navigation of Block relationships in both directions.
Block Facts and Network Observations
ALX Protocol defines the canonical facts of a Block. XNDR Network combines the canonical Block facts with observations and query context from the selected scope.
| Information | Source |
|---|---|
| Block identity, content, content identity, and declared parents | ALX Protocol |
| Source observations, availability, first-observed time, and indexed children | Selected scope |
| Scope, index revision, pagination, and completeness | Query context |
| Identity, schema, lineage, and availability checks | Verifying implementation or index |
Separating canonical facts from observations keeps a Block’s canonical identity independent from where or when the Block is observed.
Verification
Verification is reported through separate facets so each property can be evaluated independently.
| Facet | What the Facet Checks | Possible Status |
|---|---|---|
| Identity | Whether the Block’s canonical identity validates | valid, invalid, not-checked |
| Schema | Whether the Block passes the applicable structural checks | valid, invalid, not-checked |
| Lineage | Whether checked parent relationships validate within the applicable scope | valid, invalid, not-checked |
| Availability | Whether a referenced record is available within the selected scope | available, unavailable, unknown |
Separate statuses prevent one successful check from implying that every property of a Block has been verified. not-checked is an XNDR Network index value, not an ALX Protocol Graph status.
Related Documentation
Explore Block Relationships
Use the Block Explorer to search for an exact blockHash or contentHash.
From a Block, inspect the canonical identifiers and source observations, follow declared parents upstream, and navigate indexed children downstream within the available Block Graph.
Open Block Explorer