case file w-0001mainnet slot———————
file w-0001zero-knowledge lab · solana

Prove it.
Reveal
nothing.

A zero-knowledge lab for Solana. Make real proofs in your browser and weigh them against a transaction. Find out which ones a quantum computer could forge, and see what your wallet already gives away.

groth16 proof
256 B
forgeable on q-day
zk-stark proof
99,629 B
holds on q-day
solana tx limit
1,232 / 4,096
legacy / v1 since 2026-09-15
shor vs 256-bit curves
<1,200
logical qubits · google 2026
exhibit A

One secret.
Two proofs.

Both prove the same statement: “I know the secret behind this fingerprint.” One fits in any Solana transaction and falls to a quantum computer. The other survives it and weighs 389× more. The lab makes both in your browser.
one square = one signed solana transaction · 1,028 B of room after signature & headers
item A-1
Groth16
pairing snark · bn254 · circom
forgeable on q-day
256bytes
Fits in one transaction, using 25% of its room.

Three curve points. Solana checks it with its alt_bn128 syscalls in about 78,000 compute units.

item A-2
ZK-STARK
hash-based · sha-256 + fri · no setup
holds on q-day
99,629bytes
80.9× the 1,232-byte limit. 97 transactions just to carry the bytes.

Only hashes. Nothing for Shor's algorithm to attack, and no trusted setup to leak.

Can you shrink a STARK by wrapping it in a SNARK? Yes, and production systems do. But the wrapper is a pairing proof again, so it inherits the pairing's quantum weakness. Small, quantum-safe, and checkable in a single Solana transaction: today you get two of the three.

exhibit B

What q-day
actually breaks.

“Quantum breaks crypto” is too blunt to act on. Two questions matter: does a secret stay secret, and does a fake still get caught? The answers differ more than you might expect.
  • B-1
    Groth16 proof
    pairing SNARK on BN254 · what Solana verifies today
    secrets:holds

    Old proofs stay silent. Groth16 is perfectly zero-knowledge, so a proof holds no information about the secret, even for an attacker with unlimited compute.

    forgeries:breaks

    Shor's algorithm solves discrete logs on the setup's public points, which gives the trapdoor. With the trapdoor anyone can prove false statements.

  • B-2
    Witness ZK-STARK
    SHA-256 Merkle trees + FRI
    secrets:holds

    The trace is masked with random polynomials and every opened leaf is salted. Hiding rests on hashes alone.

    forgeries:holds

    No curve to attack. This style of proof is proven secure in the quantum random-oracle model (Chiesa–Manohar–Spooner, 2019).

  • B-3
    Encrypted balance
    twisted ElGamal · Token-2022 confidential transfers
    secrets:breaks

    Your ElGamal public key sits on chain. Shor turns it into the decryption key, and every ciphertext ever stored opens: harvest now, decrypt later.

    forgeries:breaks

    The proofs attached to each transfer are built on the same curve, so they can be forged too.

  • B-4
    Hash commitment
    Poseidon · allowlists, nullifiers, ZK compression
    secrets:holds

    With a random salt, a commitment hides what is inside. Quantum attacks on hashes are generic and give only a square-root speedup.

    forgeries:holds

    You cannot open a commitment to something else without finding a hash collision.

  • B-5
    Your wallet signature
    Ed25519 · every Solana transaction
    secrets:n/a

    Nothing secret is inside a signature.

    forgeries:breaks

    Your address is your public key. Shor recovers the private key from it.

finding

Old Groth16 proofs never give up your secret. Not even to a quantum computer.

What breaks is trust in new proofs. Encrypted balances lose their secrecy completely.

Read the briefing
exhibit C

Run it.
Don't trust it.

Every experiment does the real work in this tab: circom circuits and snarkjs for Groth16, a STARK prover written for Witness, and noble's curves for ElGamal. Nothing is uploaded, and each run times itself.
exhibit D

Your wallet
already talks.

Zero-knowledge matters because the default is the opposite: everything is public. Paste any address to see what anyone can learn from it in seconds. Read-only, with no wallet connection and no sign-in.
>
subject file · examplenot a real wallet
subject
7Gk2…f9Qx
first deposit
0.25 SOL from a busy hub, likely an exchange
linked wallets
3, by repeat transfers
asleep
05:00–11:00 UTC · UTC−6 to UTC−4
on display
$48,210
primary name
someone
exposed · 71/100
exhibit E

Five briefings.
Every claim sourced.

From “what is a proof” to the exact compute units Solana charges for one, written for people who ship code.
  1. briefing 01Proof without the revealWhat a zero-knowledge proof promises, how a conversation becomes a single message, and where Solana already uses one.7 min
  2. briefing 02Commitments, Merkle trees and nullifiersThe hash-based building blocks behind private allowlists, airdrops and ZK Compression, and why they hold up against quantum attacks.8 min
  3. briefing 03SNARKs: why a proof can be 256 bytesCircuits, Groth16's single pairing check, the trusted setup it needs, and exactly what Solana charges to verify one.9 min
  4. briefing 04Q-day for proofsShor and Grover, what each one breaks, why old Groth16 proofs keep your secret, why encrypted balances don't, and the cost of going hash-based.10 min
  5. briefing 05ZK on Solana todayThe syscalls, groth16-solana, ZK Compression, confidential transfers after their 2026 return, and what bigger v1 transactions change.9 min
allocation · official addressessealed
$WITNESS
not launched
contract
Not launched yet. The address will appear here first. Treat any CA you see elsewhere as fake.
deployer
published at launch

This panel is the only source of official Witness addresses. Compare every character before you trust an address.

notice · Witness is not an audit or a certification, and running the lab does not make anything quantum-safe. The STARK prover was written for teaching: tested here, not audited. The Groth16 phase-2 setup has a single contributor, which is fine for a demo and not for money. Throwaway secrets never leave your browser. Read the docs.