Blockchain Commitments
Publish a Block hash or Merkle root hash as optional commitment evidence. Commitments do not create, store, or change ALX Block identity.
A commitment records a deterministic blockHash or Merkle root hash at a blockchain position. Applications can evaluate the record after applying the selected network's finality requirements. Block content stays off-chain.
Applications continue to create Blocks, validate identities, and verify lineage off-chain. The blockchain records only commitment values. The recorded values later support direct commitment checks or Merkle inclusion proofs.
Blockchain commitments are optional. ALX does not require a blockchain.
Architecture
ALX Protocol defines the deterministic Block structure, identity, declared lineage, and local verification rules independently of storage, transport, or anchoring.
Blockchain Commitments define how deterministic values are represented as blockchain commitments.
Blockchain Implementation describes the commitment interface, verification context, and operational responsibilities for an application-selected network.
What Is Committed
Each blockchain commitment records one deterministic value:
- A single
blockHash - A Merkle root representing multiple Block hashes
Block content, lineage graphs, application metadata, and application storage remain off-chain.
Commitment Purpose
Blockchain commitments provide a public reference that can be independently verified within a specified contract, network, and chain position. Applications can later establish that a Block hash or Merkle root was recorded without storing the underlying Block data on-chain.
Roots and Proofs
When committing multiple Blocks as one value, the implementation combines their Block hashes into a Merkle root. A Merkle proof allows a verifier to confirm that a specific Block hash is included in the leaf collection represented by the specified Merkle root without loading every Block hash.
Choose a Commitment Form
Commit individual Block hashes when each Block needs its own record or when Blocks arrive over time. Commit a Merkle root when one record should represent a complete collection of Block hashes; a Block added later needs a new root.
| Consideration | Individual blockHash commitments | One Merkle root |
|---|---|---|
| Records | One record for each Block hash | One record for the complete leaf collection |
| Checking a Block | Look up the Block hash directly | Look up the Merkle root, then verify a Merkle proof for the Block hash |
| Collection membership | Not recorded; the application keeps any grouping | Fixed by the root; an added, removed, or changed Block hash produces a different root |
| Values published on-chain | Every Block hash | The Merkle root only |
| Storage written | One record per Block hash, so transaction cost grows with the collection | One record for any collection size |
Several individual commitments can share one transaction. Each Block hash still receives its own record, and the batch does not commit to its membership the way a Merkle root does.