Skip to main content

Conformance

Conformance ensures that independent ALX implementations produce the same protocol-defined results for equivalent supported inputs.

Implementations may differ internally in language, architecture, dependencies, and execution strategy as long as protocol-visible behavior satisfies the specification.

Conformance Model

ALX defines conformance through observable protocol behavior rather than implementation strategy.

A conforming implementation produces identical protocol outputs for identical protocol inputs.

Equivalent implementations produce identical:

  • Canonical bytes
  • contentHash
  • blockHash
  • Normalized parent sets
  • Graph validation results

Implementations that support optional protocol capabilities produce equivalent results for each supported capability, including:

  • Signature verification results
  • Signed-request replay handling
  • Merkle verification results
  • Merkle proof generation and verification

An implementation does not need to adopt the same internal algorithms, data structures, or software architecture as an example implementation unless the protocol specification requires that behavior.

Cross-Language Conformance

Independent implementations should produce the same protocol identities and structural results regardless of programming language.

Cross-language agreement matters for canonicalization, parent normalization, and hash derivation because differences in serialization, numeric handling, string encoding, object-key ordering, or hash implementation can produce incompatible identities.

Example implementations can demonstrate expected behavior, but conformance is determined by the protocol specification and canonical conformance materials rather than by reproducing a particular implementation internally.

Conformance Testing

Published conformance vectors define protocol inputs and expected outputs for deterministic operations.

Run the published conformance vectors against every protocol-visible operation. A mismatch indicates implementation drift.

When to Test

Run the applicable conformance tests when:

  • Implementing ALX in a new language or runtime
  • Modifying canonicalization
  • Changing parent normalization
  • Changing hashing logic and hash derivation
  • Updating graph validation
  • Modifying lineage traversal
  • Updating signature verification or replay handling
  • Changing Merkle proof generation or verification
  • Preparing a protocol implementation for release

Conformance tests should also be included in continuous integration for implementations that produce or verify ALX Blocks.