Technical · Jul 2025 · 4 min read
BLOOM
A marketplace for fast ZK proofs on Solana.
Zero-knowledge proofs promise privacy and scalability — the two properties blockchains keep failing to deliver together. On paper, they work. In practice, they split into two worlds, and only one of them is useful.
Simple proofs are solved. State compression, basic merkle proofs, signature verification — these prove in five to fifteen milliseconds, cheap to verify on-chain. They work. Nobody's complaining.
Complex proofs are blocked. The applications that would most benefit from ZK — private DeFi, hidden-information games, confidential voting, verifiable ML — require circuits with millions of constraints. Current proving time: ten to thirty-plus seconds on a CPU. That's not interactive. That's not a product. That's a research demo.
The irony is exact. The applications that would most benefit from zero-knowledge are exactly the ones blocked by proving latency. Fix proving speed, and a whole category becomes possible.
The Proposal
Solana validators already run beefy hardware. Running a validator is a serious infrastructure commitment — high-memory servers, fast networking, significant stake as collateral. Adding a GPU is a marginal expense on top of that. And GPUs can cut ZK proving latency from thirty seconds to under one.
BLOOM is a marketplace where applications buy proof generation from validators with GPUs.
The pitch to validators is simple. You already have the hardware. You already have stake. Add a GPU, register the circuits you can prove, and earn fees for each proof generated. Extra revenue stream. Marginal hardware cost. The existing security model extends naturally.
The pitch to applications is also simple. You send witness data to a validator — a few kilobytes. The validator generates a Groth16 proof on GPU in a few hundred milliseconds, returns the 128-byte proof, you submit to chain, on-chain verification takes around 180k compute units. Total latency: under a second instead of thirty. The difference between "research demo" and "actual product."
The Trust Model
This only works if you trust validators not to generate invalid proofs. Fortunately, you don't have to.
Validators stake collateral. Invalid proofs get caught by on-chain verification — they always do, because that's the point of ZK. Slash the stake when verification fails. The system is permissionless because the verification step is itself the trust anchor.
For applications that want more safety, redundantly prove across multiple validators. Compare outputs. Submit only if they agree. More cost, fewer surprises.
The benchmarks are encouraging. ICICLE (NVIDIA's ZK acceleration library) hits 120–250ms for circuits with a million constraints on an RTX 4090. A million constraints is enough for real applications: private transfers, private auctions, some categories of verifiable ML inference. Sub-second latency changes what's possible.
The Economics, Roughly
Back-of-envelope for a validator running a 4090:
Hardware cost around $1,600. Power draw 450W. Assuming reasonable utilization and current energy prices, net of electricity: roughly $200/day. Capacity at 0.0001 SOL per proof and roughly 40,000 proofs per day at full utilization, at SOL around $190: gross revenue of roughly $760/day. Hardware payback in about eight days at full utilization.
These numbers all assume demand exists. That's the big assumption. Infrastructure without applications is just expensive hardware. The whole thing depends on whether there's enough demand for complex ZK applications to sustain the infrastructure, and that demand is still mostly theoretical.
If the demand materializes, the incentives align cleanly: validators earn, applications get fast proofs, the ecosystem gets capabilities it didn't have. If the demand doesn't materialize, this is a solution in search of a problem — which is the failure mode a lot of crypto infrastructure has.
The Hard Questions
Why Groth16 and not STARKs or PLONK? STARKs have nicer properties — no trusted setup, post-quantum security — but no native Solana precompiles, larger proofs, more expensive verification. PLONK has some of the same issues. Until Solana adds syscalls for them, Groth16 is the practical choice. This is a pragmatic decision that might age badly, but it's the right one for the current chain.
What about 40GB proving keys for large circuits? They're a one-time cost per circuit, distributed via P2P or prebuilt containers. Setup takes fifteen minutes. Annoying, not prohibitive. Universal setups might help eventually; right now they don't.
Will anyone actually use this? Honest answer: I don't know. The bottleneck clearly exists. The technical solution clearly works. Whether there's enough demand for complex ZK applications to justify the infrastructure is the unresolved question, and no amount of design gets around needing to find out.
Where This Goes
BLOOM is one design for solving the ZK proving bottleneck. The components all exist — GPUs, validators with real stake, on-chain verification, the tooling for Groth16. The question is whether anyone needs what this unlocks enough to pay for it.
This is a starting point, not a finished design. The economics need more work. The validator-facing tooling needs more work. The specific circuits worth targeting first are unclear. Poke holes. Tell me what's wrong.
Next essayControl SurfaceBy Nikshep Saravanan, based in Toronto. More writing on nikshepsvn.com and X.