Evidence Chain

Every entry in this log is hashed together with the one before it. Add entries, then alter or remove one and press Verify — the chain names the first entry that broke.

Append an entry

Not connected yet.

The log (0)

    What is actually happening

    genesis = evidence-chain:<log>

    chain₀ = SHA-256( genesis   | contentHash₀ | canonical(stamp₀) )
    chainₙ = SHA-256( chainₙ₋₁ | contentHashₙ | canonical(stampₙ) )

    storageAdd appends a version rather than replacing a value, so the channel keeps every entry ever written — that gives you a log. The hash of each entry covers the previous entry's hash, which welds the entries into an order — that is what turns a log into a record.

    Neither half is enough alone. Storage without the chain lets somebody hand you a shorter list and call it the whole thing. The chain without storage lets somebody hand you a different list. Together they mean an entry can be added, and nothing else.

    Stamps are serialised with sorted keys, so the same entry hashes to the same value on any browser, next year. That is the only reason re-derivation works at all.

    This page is the primitive, not a product. Fieldstamp — a remote inspection with a phone camera, capture templates and an exportable report — is built on exactly these four functions, and lives elsewhere.