Trust Surface ยท Execution Hash

Verification by recomputation without a trusted signer

Every OpenChainGraph artifact carries a SHA-256 execution_hash. The hash covers exactly two members, policy_parameters and output_payload, serialized in canonical JSON form. Paste any artifact below and this page recomputes the hash the same way the worker does, then shows you the bytes: what canonicalization changed, where the preimage boundary sits, and how the artifact chains to its parents through parent_hashes.

๐Ÿ”’ All inputs are processed locally in your browser. No data is transmitted. Do not enter real personal data โ€” use synthetic or anonymised inputs only.
Step 1 ยท Load an artifact

Paste an OpenChainGraph artifact

Paste any OCG artifact JSON, load one from a local file, or start from the bundled teaching fixture and its one-byte tampered twin. Nothing leaves your browser.

Idle. Load an artifact or paste one above.
The boundary of this page

The hash, not the signature

This is the teaching surface for the hash alone. It recomputes and compares execution_hash values; it does not verify Ed25519 signatures, RFC 6962 Merkle inclusion, or batch receipts. Those live in the estate's receipt verifier, which recomputes this same hash on its way to signature and inclusion checks. The worker applies the identical recomputation server-side: same preimage, same canonicalizer, same answer.

What this page is: a mirror of the estate's verify_execution_hash utility, run in your browser over the same two members with the same canonical serializer line the tools estate carries inline. The bundled fixtures are synthetic teaching data generated from this exact algorithm; the tampered twin differs from the golden artifact by a single byte in output_payload and therefore must not match.