Documentation
Evidence & verification
What a bundle contains, what each check proves, and how to verify one without trusting ZoneInsight.
The chain of custody
- A probe makes an observation and signs it with its own Ed25519 key.
- Observations are batched; each batch gets a Merkle root over its members.
- On a fixed cadence, batch roots are folded into a global root and committed to a public chain in a single transaction.
- An evidence bundle packages one observation, the probe's signature, the probe's public key, and the inclusion proofs from the observation up to that committed root.
What the checks prove
| Check | Proves |
|---|---|
| Observation hash | The payload in the bundle is the one that was hashed. |
| Probe signature | A specific probe identity produced it, and it has not been altered since. |
| Batch inclusion | The observation was in the batch whose root was published. |
| Checkpoint inclusion | That batch was in the checkpoint whose global root was committed. |
| Public chain commitment | The global root appears in a transaction confirmed at a known block height and time. |
Together these establish that the observation existed, unchanged, no later than the block that carried it — so history cannot be quietly rewritten afterwards.
Verifying a bundle
Download a bundle from a zone's Evidence tab, then check it either way:
- The web verifier — no account, runs the same checks in your browser session.
- The
zi-verifyCLI — offline apart from an optional chain RPC call:
zi-verify ./evidence-bundle.zip
# add --rpc-url to also confirm the on-chain commitment
zi-verify --rpc-url https://rpc.example ./evidence-bundle.zipWithout --rpc-url the chain-commitment check is reported as skipped rather than passed — the other four still hold.
No wallet required
You never hold, send or sign anything on-chain. ZoneInsight publishes the commitment; the chain is a notary for timestamps, not a payment rail.