Both link records by hash
A block names the hash of the block before it and commits its transactions under one Merkle root. An OpenChainGraph workflow step names its parent's execution hash (SPEC §21), and a session receipt folds many execution hashes into one Merkle root. Change one byte in the middle and every later link stops matching.
A blockchain agrees and OpenChainGraph recomputes
On a blockchain the next block is whatever the validators accept, and every full node keeps a copy of every transaction. OpenChainGraph has no shared ledger to agree on. Each result is its own artifact, and it holds if anyone with the inputs gets the same hash. The inputs stay with whoever ran the tool, and only hashes need to travel.
A blockchain can serve as one witness
OpenChainGraph can use a blockchain without becoming one. A session receipt's root can carry RFC 3161 timestamps from authorities such as Sigstore's TSA, DigiCert and FreeTSA, or an OpenTimestamps anchor whose proof verifies against a Bitcoin block header (SPEC §20). Nodes can also check signatures that belong to one chain: an x402 payment authorization is signed over an EIP-712 digest that names its chain, so it verifies on that chain and fails on every other.
Areas of interest shared with Ethereum and Zcash
OpenChainGraph works on some of the same problems as Ethereum and Zcash without running a chain. Four areas overlap: independent implementations, succinct proofs, trusted setup, and the person who checks what a specification means.
The comparison in one table
Rows marked with a check are shared by both designs.
| Property | A public blockchain | OpenChainGraph |
|---|---|---|
| Hash links | Each block names the previous block's hash. | Each workflow step names its parent's execution hash (SPEC §21). |
| Merkle roots | Each block commits its transactions under one root. | A session receipt folds many execution hashes into one root. |
| Signatures | Account keys sign transactions. | Artifacts and Work Mandates can carry eddsa-jcs-2022 signatures (SPEC §16 and §22). |
| Shared ledger | One ledger that every full node keeps. | There is none. Each result is its own artifact. |
| Agreement | Validators or miners agree on each new block. | No agreement step. Anyone recomputes the hash. |
| Token | A native token rewards the validators. | There is none. |
| Where inputs live | In the ledger, on every full node. | With whoever ran the tool. Only hashes need to leave. |
| Checking a result | Validate each block against the ledger's rules. | Recompute the execution hash (SPEC §4) or check its 256-byte Groth16 seal (SPEC §18). |
| Time | Block time, final after enough confirmations or votes. | RFC 3161 timestamps from authorities you choose, or an OpenTimestamps anchor in Bitcoin (SPEC §20). |
| Global order | Every transaction sits in one global order. | Runs are ordered only by their parent hashes and timestamps. |
Git's object model is the closer relative: content-addressed records where you trust a record by recomputing its hash yourself. In-toto and SLSA attestations apply the same idea to software builds, and OpenChainGraph applies it to financial decisions.