Last Tuesday, 2:14 a.m. Lagos time, I was on my balcony in Yaba with a cold pot of tea and a block explorer open across two screens. A project I'd been asked to review — call it Veridical, a rollup that raised $100 million across two rounds to "put AI content provenance on-chain" — had just pushed its mainnet contracts. Forty minutes into reading, I found the function.
It's called attestProvenance(bytes32 root, bytes calldata sig). It takes a merkle root of content hashes and a signature. The signature is checked against a single address. That address is an externally owned account controlled by the team. The verification step — the thing the entire pitch rests on — reduces to require(msg.sender == signer). Not a zero-knowledge proof. Not a threshold signature held across independent validators. One private key, living in a shared password vault, deciding what is true about every AI-generated image registered on the network.
I'm not writing this to dunk on Veridical. I'm writing it because the same shape is repeating across a dozen freshly funded teams this quarter, and because in a bull market, nobody reads the require statements.
The problem they are attacking is real, and I spend most of my working hours inside it. C2PA Content Credentials — the provenance standard backed by Adobe, Microsoft, and most major camera manufacturers — attach signed metadata to a file: which device captured it, which model generated it, what edits it survived. It is genuinely good engineering. It is also, as anyone who has ever typed exiftool -all= knows, one command away from being erased. Metadata does not survive a screenshot, a re-encode, or a trip through a messaging app. So the logic goes: hash the content, anchor the hash on a chain, and you create a durable reference that no intermediary can strip.
That logic is sound. I believed a version of it in 2021, which is how I ended up tokenizing 1,200 AfroChain Artifacts and then discovering, in the first week of sales, that our own contract carried a pause function reachable by a single deployer key. We fixed it in public, and I learned more from that scramble than from the two years of writing that preceded it.
Now it's 2026. Veridical raised its $100M, announced partnerships with three model providers, and shipped a rollup whose sequencer is one hosted node in Frankfurt. Their documentation says "cryptographically verified provenance at 12-second finality." Here is what the code actually commits.
Anchoring a merkle root is nearly free, and that is the point. A batch of ten thousand content hashes compresses into 32 bytes. Post-Dencun, writing that root into a blob costs a fraction of a cent when the fee market is quiet. Veridical isn't paying for truth; it's paying for storage, and storage is on sale.
That sale has an expiry date. At Ethereum's current target of six blobs per slot, the network clears roughly 768 kilobytes every 12 seconds — about 5.5 gigabytes a day, or two terabytes a year. Every AI provenance registry, every gaming rollup, every social graph that wants cheap data availability is now drawing from the same pool. Based on my modeling of DA demand curves, blob space gets saturated within two years, and when it does, every rollup's gas fee doubles again — including the ones currently advertising sub-cent transfers. Veridical's pricing page assumes today's blob floor holds for five years. Nothing in their architecture survives a blob fee market that clears at 40 gwei instead of 0.4.
The second problem is latency, and it's the one that keeps me up. Veridical cross-posts attestations to three other chains via a message-passing layer that advertises "decentralized oracle consensus." It isn't. It's nine nodes operated by six organizations, several of which share cloud providers, and the attestation only finalizes after the source chain's block is confirmed. I measured the round trip: 94 seconds under normal load, 340 seconds during the March congestion window. When a provenance claim takes five minutes to become visible, the news cycle has already moved.
This is the pattern that should worry anyone building verification infrastructure. Oracle feed latency is DeFi's Achilles' heel, and the same wound is open here. A verification layer that resolves slower than the misinformation it is supposed to catch is not a verification layer. It's an archive.
Then there's the hard math. Proving that a specific device key signed a specific image inside a zkVM is not a hash lookup. Hashing a two-megabyte image costs millions of cycles; the surrounding proof of signature validity inside a secure enclave costs millions more. Veridical currently sidesteps this entirely by generating no proofs — the merkle root is the claim, and the signature is the only check. If they ever move to real proving, their per-item cost goes from fractions of a cent to somewhere near $0.02 at current proving rates, and their throughput falls by an order of magnitude. I've run this benchmark myself, and the gap between "we verify on-chain" and "we anchor on-chain" is usually the entire business model.
There is a harder question underneath. Proving a hash existed is easy. Proving the human behind the upload is a distinct person with a real reputation is not. Veridical's Sybil resistance is an allowlist of 500 creator wallets, hand-curated by two employees. That is a reputation system in name only — the equivalent of a decentralized network with a multisig and a marketing site.
I keep thinking about Lightning here, and not fondly. The Lightning Network has spent seven years half-alive, not because the cryptography is wrong, but because routing fails at the edges. A payment only succeeds if every hop in the path holds sufficient liquidity at that moment. Provenance works the same way. A claim is only as strong as the weakest link in its chain of custody, and most chains of custody are sparse graphs with missing edges — a re-encode here, a screenshot there. The cryptographic layer cannot repair a graph that was never connected.
So here's the contrarian part, and I'll say it plainly: the industry has decided that verifiability is the goal, when verifiability is actually the second problem. The first problem is revocation. Provenance systems need to correct, expire, and withdraw claims — a model that turns out to be unreliable, an artist who wants her work delisted, a court order that arrives eighteen months later. Blockchains are magnificent at remembering and terrible at forgetting. Veridical has no revocation path at all. Their contract has no delete function, and their governance has no upgrade mechanism short of a full migration.
A permanent ledger of claims nobody can retract is not a truth machine. It's a liability with a block explorer attached.
None of this means the work is worthless. It means the work is early, and early work deserves honest reading rather than funding-round applause. The teams that will matter in 2027 are the ones building revocation primitives, threshold attestation across independent signers, and DA strategies that assume blob fees rise. Trust the process, but verify the code — and when you do, read the require line first.
If the verification layer takes longer to settle than the lie takes to spread, what exactly have we built?