Skip to content

Anchored-batch verification

Batch and anchoring are additional layers after the home threshold signature:

  1. the home network signs the attestation;
  2. a batch commits attestation hashes to a Merkle root;
  3. peer networks may sign that root as cross-anchors; and
  4. external providers may record the root.

Cross-anchors

A CrossAnchor contains the home batch, witnessing_network, a peer-signed witness_attestation, and a timestamp. Its peer attestation must sign the batch's Merkle root and use the witnessing network's ID. Offline verification requires a matching peer configuration and checks the configured per-peer minimum. The configured federation threshold counts distinct verified peer networks.

The Federated level is only reached when home batch inclusion verifies and the federation policy threshold is met. Federation is additional durability, not Byzantine consensus; it does not protect against collusion by enough witnesses or operators.

External anchors

witness anchors <64-hex-sha256>
witness anchors <64-hex-sha256> --output json

GET /v1/anchors/{hash} returns ExternalAnchorProof records. Supported provider labels are internet_archive, trillian, dns_txt, and blockchain. Each record has provider, timestamp, provider-specific JSON proof, and optional anchored_data.

The CLI maps a gateway 404 to an empty display. Therefore an empty result can mean unknown, known but unbatched, or no completed external anchors. A proof object is counted as present by verify-proof; it is not provider verification. Check URLs, transactions, DNS records, or provider transparency proofs independently. Anchoring does not prove that the hashed content is genuine or will remain available.