Skip to main content

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.

FieldMeaning
contentThe JSON-serializable data stored in the Block.
contentHashDeterministic identity of the canonicalized content.
parentHashesNormalized list of parent blockHash values the Block declares.
blockHashDeterministic identity of the content and the declared parent relationships.
protocolVersionOptional declared protocol version.

The two hashes serve different purposes:

  • contentHash identifies the content itself.
  • blockHash identifies 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.

InformationSource
Block identity, content, content identity, and declared parentsALX Protocol
Source observations, availability, first-observed time, and indexed childrenSelected scope
Scope, index revision, pagination, and completenessQuery context
Identity, schema, lineage, and availability checksVerifying 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.

FacetWhat the Facet ChecksPossible Status
IdentityWhether the Block’s canonical identity validatesvalid, invalid, not-checked
SchemaWhether the Block passes the applicable structural checksvalid, invalid, not-checked
LineageWhether checked parent relationships validate within the applicable scopevalid, invalid, not-checked
AvailabilityWhether a referenced record is available within the selected scopeavailable, 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.

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