ltl-accumulator-verified/docs/optimistic-accountability.md
mrwulf c570c6114a essay: bound the rollup analogy to the paper's precise framing
Part II rewritten (doc-only; the attested freeze 172a1d0 is untouched).
The earlier draft claimed the resemblance 'is not a metaphor', called
the extractors fraud proofs 'in the strict sense', and said the system
'cannot fail to convict' — the same compressed overclaims the paper
removed in its round-12 revision. Now: the extractors are REDUCTION
WITNESSES against SHA-256 collision resistance (accepting a forged
consistency proof would break the hash; it does not by itself prove
operator misconduct); the one direct-attribution mechanism is
equivocation evidence (two conflicting signed heads, same size, one log
context — signature layer, not hash layer); a fabricated LEAF is caught
only by off-protocol independent replay. Three disanalogies stated
plainly; the entry-13 closing reframed to the plain fact, no metaphor
needed. Framing note added at top disclosing the correction.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 17:49:56 +02:00

8.9 KiB
Raw Blame History

Optimistic by construction: what the LTL holds, and what it shares with rollups

Status: long-form source. Entry 13 (leaf index 12, hash 8cb258d6…, subject ltl-accumulator-verified@172a1d0) is live under head tree size 13, root 3488a2d0…, verifiable at ltl.zkdefi.org/v1/sth.

Framing note (2026-07-19): Part II was revised to match the precise treatment used in the paper. The rollup resemblance is a bounded analogy, not a strict claim: the collision extractors are reduction witnesses against SHA-256's collision resistance, not on-protocol fraud proofs that convict the operator; a fabricated leaf is caught only by off-protocol independent replay. Earlier drafts overstated this ("fraud proof in the strict sense", "cannot fail to convict"); the overstatement is corrected here and the paper omits the analogy from its body entirely.


Part I — What is actually inside the Merkle tree

A persistent misreading of transparency logs is that they "contain the proofs." The LTL's tree contains none of the Lean mathematics. Each leaf is (the 32-byte hash of) a verification-event record: a signed attestation stating that the provider, at a given time, ran the proof checks on a named subject repository at an exact commit, with an exact toolchain, and observed a specific result — every certificate verified, each with an exactly-listed axiom cone. The records are published beside the tree (entries/); the proofs themselves live one hop further away, in the subject git repositories the records pin.

So a leaf is a statement about the operator's action — "I verified X" — and on its face that sounds like "trust me." The design's whole point is the refinement that removes the trust: the claim names its own evidence. Because the leaf pins commit hash and toolchain, anyone can replay the verification and check the operator's statement. The log converts

"I guarantee I verified the proofs (which live elsewhere)"

into

"I claim this, permanently and publicly, with enough detail that anyone can catch me lying — and I can never unsay it, edit it, or show a different history to someone else."

Three layers, three distinct guarantees, and most confusion comes from expecting one layer to do another's job:

layer guarantees does NOT guarantee
Lean kernel (inside the subject repos) the mathematics of the attested proofs is true, given the declared axioms anything about what the operator later claims
replay pin (leaf content) the operator's claim is CHECKABLE — re-run the pinned commit and compare that anyone has actually re-run it
Merkle accumulator + signed heads inclusion (Thms 12), append-only history (Thm 3), equivocation evidence (Prop 1): claims cannot be altered, hidden, or forked without producing cryptographic evidence that any claim is TRUE — the ledger notarizes, it does not referee

The notary metaphor is exact: a notary does not check that your contract is wise; the notary makes it impossible to later dispute what was stamped and when, and the bound ledger makes tampering evident. The LTL is a notary whose every stamped page happens to carry instructions for independently re-checking the page's claim.

Part II — The optimistic-rollup resemblance (a bounded analogy)

Optimistic rollups rest on one bet: claims are cheap to make and expensive to get away with. A sequencer posts state roots without proof; safety comes from anyone's ability to produce compact, transferable evidence of a specific fault from public data, and from punishment when they do. The LTL — like its direct ancestor, Certificate Transparency (RFC 9162) — sits at the same design point: record everything append-only, and make misbehavior produce publicly verifiable evidence. The correspondence is a genuine and useful analogy, and — this is the part worth getting right — it is an analogy with three honest disanalogies, not an equivalence. The precise version is what makes it interesting.

There are two very different "faults" a reader tends to conflate, and the LTL treats them differently.

Fault 1 — the operator rewrites or forks the log's own history. This is the layer this corpus mechanized, and it is where the resemblance is strongest — but the mechanized result is a reduction, not a courtroom verdict. Theorem 3 (extractCons_correct / acceptCons_sound) states: if the verifier accepts a consistency proof between a pinned head and a rewritten history, the named extractor outputs a SHA-256 collision as two concrete byte strings. Read that statement exactly. It does not say "the operator is guilty"; it says "accepting this would break SHA-256." The extractor is a reduction witness: it converts a successful attack on the log's structure into a concrete refutation of the hash function's collision resistance. Under the standing assumption that no such collision is feasible, the attack therefore cannot succeed in the first place — which is a stronger and cleaner guarantee than a fraud proof that convicts after the fact. Equivocation is the one place the operator is directly on the hook: two conflicting signed heads at the same size, in one log context, are transferable evidence attributable to the key holder (this reduces to signature unforgeability, not to collision resistance) — the closest analogue to a rollup fraud proof against the sequencer, and the consumer's pin-store is the watchtower that collects it. The liveness assumption transfers cleanly: someone must actually watch (a pinned consumer, a mirror, a witness-audit run). An unwatched log, like an unwatched rollup, is safe only on paper.

Fault 2 — a leaf's content is simply false (the operator lies about a Lean result it never actually observed). This is the optimistic part, and it is the honest limit of the whole design: the cryptography does not catch it. The Merkle machinery faithfully commits and orders a false statement exactly as it would a true one — it notarizes, it does not referee. What catches a false leaf is independent replay: the leaf pins the commit and toolchain, so anyone can re-run the check, and a failed replay is the demonstration. But replay is off-protocol — it is not a challenge transaction the log adjudicates; it is work a third party does with a theorem prover, and the log's only contribution is to make the claim precise enough to be replayable and impossible to later unsay. Two properties do compare favorably: the challenge window is effectively infinite (append-only preserves the record forever — a false leaf cannot be reverted, only exposed), and no privileged adjudicator exists — every reader replays independently.

The three disanalogies, stated plainly. (1) The consistency and inclusion extractors are reduction witnesses against a cryptographic assumption, not on-protocol fraud proofs against the operator — a false opening refutes SHA-256, it does not by itself prove misconduct. (2) Detecting a fabricated leaf requires off-protocol independent replay; the log defines no challenge transaction, adjudicator, or compact proof that a replay observation was fabricated. (3) There is no bond, no slashing, no revert: consequences are reputational and out-of-band — consumers stop trusting and the evidence is publicized — exactly as in CT, where the "slash" is a browser distrusting a CA. Bolting on economic slashing would require an on-chain adjudicator able to run a proof checker inside a fault-proof VM; theoretically the same construction rollups use, practically a research program. The dual this estate actually implements is consumer-side defense: warden's quorum of independently attested verifiers, instead of prover-side bonding.

What entry 13 does close. Set the analogy aside and state the plain fact: the log now carries, as one of its own leaves, a kernel-checked mechanization of the very soundness arguments its accumulator relies on — the extractors, the consistency binding, the per-step pin safety — scoped honestly to the recursive model (not the deployed verifier; see KNOWN-GAPS.md). Whatever one calls that machinery, its proofs are now inside the ledger it protects, verifiable end to end by anyone with a stock toolchain. That is the loop worth savoring, and it needs no rollup metaphor to be remarkable.

Pointers (for the eventual blog rendering)

  • Mechanized statements: STATEMENT-MAP.md (this repo); the fraud- proof-generator reading of Theorem 3 is extractCons_correct + acceptCons_sound; scope boundaries in KNOWN-GAPS.md (esp. gap 14: the deployed-verifier side condition; gap 4: the signature layer, where equivocation-evidence transferability lives).
  • Deployed anatomy: leaf → entries/NNNNNN.json; head → latest-sth.json (+ sth-history.jsonl); the head is signed by the dogfooded verified-dalek backend (self_inclusion: verified).
  • Lineage: RFC 9162 / Certificate Transparency — the original accountability-over-validity system; the LTL is CT's discipline applied to formal-verification claims.