Attack Lab #6: Pinning the Audit Fingerprint into Bitcoin — Undeniable Even to Us and GitHub
Episode 5 admitted GitHub is still a company we hold an account with. This one pins the audit chain tip into Bitcoin via OpenTimestamps: free, no private key, no gas. To rewrite audit history undetected you'd have to rewrite our database, GitHub's records, and Bitcoin — the last of which no one can do. Honest limit: a timestamp proves existence and immutability, not correctness; the anchoring interval is the tamper window. Six episodes; we broke ourselves five times, all in public.
Attack Lab · Episode 6. Episode 5 ended with an admission: GitHub is still a company we hold an account with. To make the fingerprint undeniable even to us and GitHub, we had to pin it to a <b>public chain no one can rewrite</b>. This episode pins it — via OpenTimestamps, anchored to Bitcoin. Free, no private key, no gas.
The ladder: pushing "can't hide it" outward, one rung at a time
Across three episodes we hardened the same thing — can an audit record be quietly altered — in three stages:
| Layer | How | To rewrite history undetected, you'd have to… | |---|---|---| | ① DB hash chain (Ep4) | each entry embeds the previous entry's hash | rewrite the whole tail (but the fingerprint lived only in our DB) | | ② External witness (Ep5) | GitHub records the tip once a day | compromise our database and GitHub's records | | ③ Public-chain anchor (this ep) | pin the fingerprint into Bitcoin | also rewrite Bitcoin — which no one can do |
Each rung outward raises the cost of silent tampering by a level — from "click delete" up to, finally, "more than anyone can afford."
This episode: pin the fingerprint into Bitcoin
The audit chain's tip is itself a sha256 (a "group photo" of the whole log at this instant). We submit it to OpenTimestamps: it aggregates thousands of such fingerprints into a Merkle tree and writes the root into a Bitcoin transaction. We get back an .ots proof that makes one claim anyone can check independently:
"This fingerprint existed before a certain Bitcoin block."
Real result (live):
audit chain tip: 9eb3d0a2a5d0317b1c2f025635a96366137b2cfee98562502cb6cc80363f2a33
submitted to 4 Bitcoin calendar servers (opentimestamps / eternitywall / catallaxy)
status: submitted, pending Bitcoin confirmation (upgrades to a permanent proof in ~hours)
proof: exposed at /api/audit-anchor, independently verifiable
Free, no private key, no gas — because thousands of fingerprints share the cost of one Bitcoin transaction. To verify, you don't have to trust OceanAlt, and you don't have to trust GitHub — only Bitcoin.
Now, to rewrite our audit history undetected, an attacker must do three things at once: rewrite our Neon database, rewrite GitHub's records, and rewrite Bitcoin. The first two are hard. The third is impossible.
Why this is the "final rung" (and why it isn't a silver bullet)
As always, we state plainly what it does not do:
- A timestamp proves existence and immutability, not correctness of content. What it locks: at time T our ledger's fingerprint was X; if we later alter the ledger, the new fingerprint won't match the anchored X → caught. It does not guarantee the records behind X were right to begin with — it guarantees that from the moment of anchoring, any change can't hide.
- Anchoring has an interval; the tamper window equals it. We anchor daily, so the longest window in which something could be silently changed is one day. Shorter interval = shorter window.
- Bitcoin confirmation takes time. ~hours to land in a block; until then the proof is backed by the calendars' commitment, upgradeable to a full Bitcoin proof.
- This is timestamping, not "putting our data on-chain for the whole network to reach consensus on." It makes tampering detectable and undeniable, not physically impossible.
We're not pretending it's a silver bullet. It's the last rung of the ladder — and an honest ladder is worth more than an inflated promise.
Six episodes; we broke ourselves five times
Blocked six → missed cumulative limits → the attribution foundation was empty → the log could be erased → the payment could be replayed → the evidence could be denied. In six episodes, we broke our own gateway five times, and published every one.
These aren't our six ugliest pages; they're our six most convincing. Because in this field anyone can claim to be secure, and the claim costs nothing; only those who publish the process of breaking themselves deserve to be believed. A standard's credibility doesn't come from how complete it claims to be — it comes from whether its authors publish the results when they break it themselves. Six times running.
Next episode
We'll go back and audit the real on-chain settlement path itself (the authenticated tier) for its own replay / reconciliation edges; and turn the public-chain anchor into a daily cadence anyone can watch.
See the fingerprint and Bitcoin proof: /api/audit-anchor · Attack it yourself: oceanalt.com/firewall · Test with your own agent: integration guide
(OceanAlt Attack Lab · research note)
Provenance & status
- Byline
- OceanAlt Editorial
- First published
- 2026-07-20
- Last updated
- 2026-08-01
- Source material
- Source not labeled

