Visibility was never safety

Share
Visibility was never safety

Weeks before Ironwood, the upgrade meant to make its supply checkable again, Zcash cannot prove a four-year-old bug in its largest shielded pool was never exploited. That sounds like an argument against privacy, but the systems it is measured against fail the same way, at greater cost.

The unsettling thing about the bug in Zcash's Orchard pool is less that it existed and more that no one can prove it was never used. The pool hides amounts by design, so a four-year-old flaw leaves no residue to audit, even now that it is fixed. The knee-jerk conclusion is that a system you cannot see into is a system you cannot trust, but very little that we trust with money actually meets such a standard. And to be fair, the question is not local to Zcash. Every privacy substrate now being sold into finance, shielded pools, encrypted co-processors, and hardware enclaves gives up the same free audit and owes the same replacement.

The case

For four years the Orchard pool's proving circuit held a soundness flaw, an under-constrained step in its elliptic-curve arithmetic that let a prover pass chosen inputs through a core check and still produce a valid proof, per the Zcash Foundation's disclosure. Taylor Hornby, an independent researcher auditing the protocol for Shielded Labs, reported it on May 29 and engineers at the Zcash Open Development Lab confirmed it within hours. A coordinated soft fork disabled Orchard transactions on June 2, and the NU6.2 hard fork shipped a corrected circuit on June 3, marking only the second security-driven upgrade in the network's history. While Shielded Labs described the worst case as undetectable counterfeit ZEC created inside the pool, the Foundation's more conservative picture of it was the threat of double-spending within Orchard, with no path to inflating total supply.

The response was fast and the fix was clean, but what's interesting is that the fix cannot settle whether the flaw was ever exploited, because the same encryption that protects users erases the evidence. The Foundation found no signs of abuse, and there is good reason to think the pool was never attacked. But should a private monetary system rest on inference?

The intuition might be wonky

Set your expectations for security against the transparent world it is implicitly compared to. In 2022 the Wormhole bridge, on public chains where anyone could read the code and the balances, carried a signature-verification bug, the same class of failure, a check accepting what it should have rejected, that let an attacker mint wrapped ether, roughly a third of a billion dollars, covered only because Jump Crypto replaced the funds. The bug sat in plain view the entire time, so "auditable" sort of just meant that the hole was legible once the money was gone.

Widen the lens past crypto and you'll have to concede that no depositor can audit their bank's books; solvency is taken on the word of regulators, auditors, and deposit insurance. That trusted, opaque system moves an estimated $800 billion to $2 trillion in laundered money a year, two to five percent of global GDP by the UN Office on Drugs and Crime's estimate, of which less than one percent is ever seized. We accept the opacity because the scaffolding around it is judged good enough, so no one is out there expecting the proof now being demanded of a shielded pool.

Institutional trust, then, buys a backstop rather than proof. The Orchard trade gives up the hindsight and, for now, cannot offer the proof either.

Why the real problem is hard

Public state has done the industry's verification for it. On a transparent chain you can always, in principle, add up the outputs and check the books, so the field's security instincts are calibrated to a ledger that is legible. That is a convenience the technology handed over, which was then removed by adding privacy, and removing it exposes how much assurance was being taken for granted. The integrity of a shielded system has to be constructed deliberately out of accounting invariants that hold without reading balances, proofs that circuits enforce what they claim, and attestations that a computation ran as specified. This is harder and also more honest, because it does not let anyone mistake auditable-in-hindsight, or trusted-on-authority, for secure.

And the problem is general. Three of the four confidential-token designs the EVM world produced in a single recent quarter are shielded-pool systems that inherit the same trade, and the fourth relocates the checking problem into a homomorphic co-processor and the committee that holds its keys. Every privacy substrate moves verification somewhere the public cannot easily follow, and each raises the question as to what replaces the open ledger.

The field is learning to build it

Zcash's turnstile, an accounting invariant that caps how much value can move between pools without ever inspecting a balance, could not say whether counterfeit notes existed inside Orchard, but it bounded how much could ever leave, which is why total supply stayed provably intact while the within-pool question stayed open. So, in effect, the blast door held even though the audit could not be run.

And the rest of the toolkit is arriving, including formal verification of the Orchard circuit, which has been committed as part of the post-incident assurance work. AI-assisted review (how this bug was finally caught) has changed the economics of finding under-constrained circuits, though it is still reliant on a domain expert pointing a capable model at the right place. And the Ironwood upgrade would open a new pool on the corrected circuit, close Orchard to new outputs, and route everything leaving through the turnstile, making circulating supply independently checkable again.

What is being decided

Hindsight auditability is worth something. Even a robbed transparent system lets you size the damage, trace it, and spread the loss, and a shielded system that cannot prove its own supply gives that up.

But it is the cost of solving a harder problem. Privacy isn't dangerous. Verification just needs to be engineered to be as trustworthy without the open ledger as with it. Orchard is a small, well-handled piece of early evidence that it might be possible.

Read more