Skip to main content

Verification

ALX defines deterministic rules for validating Block identities and declared parent relationships. Applications can also verify optional cryptographic evidence. Each mechanism establishes a distinct property.

Verification Model​

Block validation does not establish parent availability or Graph validity. A missing parent produces incomplete in Graph verification, never invalid. Optional evidence never changes Block identity.

MechanismOperationDefined in
Block validationvalidateBlock(block) recomputes contentHash and blockHash, checks the five-field structure, and checks that parentHashes is normalizedBlock
Graph verificationvalidateGraph(seed, source, context) examines the Blocks reachable from a seed Block within a Verification Context and returns valid, invalid, incomplete, or resource_limit_reachedLineage Graphs
Block Attestation verification (optional)validateSignedBlock() validates the enclosed Block and verifies each attestation signature over its attestation digestSigning
Protocol Request verification (optional, JavaScript package)verifySignedProtocolPayload() checks the EIP-712 signature, expected signer, nonce, and expirySigning
Merkle proof verification (optional)verifyMerkleProof() checks that a Block hash is included in the leaf collection represented by a Merkle root hashMerkle Proofs

Verification Boundary​

Verification establishes protocol-defined and cryptographic properties only. ALX verification does not establish factual accuracy, authorship, ownership, authorization, or application intent. Merkle inclusion does not establish the origin, publication, or trustworthiness of the supplied Merkle root hash. Trust Boundary lists the claim each mechanism supports and the claims each mechanism excludes.

When to Verify​

Verify the relevant properties before relying on received or stored Blocks: when loading Blocks from storage, exchanging Blocks across systems, traversing derivation Graphs, assembling context, and evaluating external cryptographic evidence.