| Authors | Meckler, Izaak; Shapiro, Evan; et al. (O(1) Labs) |
|---|---|
| Year | 2020 |
| Project | Mina Protocol |
| License | Apache 2.0 |
| Official Source | https://minaprotocol.com/wp-content/uploads/technicalWhitepaper.pdf |
This page is an educational summary and analysis of an official whitepaper or technical paper, written for reference purposes. It is not a verbatim reproduction. CryptoGloss does not claim authorship of the original work. All intellectual property rights remain with the original author(s). The official document is linked above.
“Mina: Decentralized Cryptocurrency at Scale” is the 2020 technical whitepaper by O(1) Labs describing the Mina Protocol (originally named “Coda Protocol”) — a blockchain that solves the blockchain bloat problem by replacing the entire transaction history with a single recursive zk-SNARK proof. Rather than requiring nodes to download and verify all historical blocks, any party can verify the current state of the entire blockchain by checking a single cryptographic proof that is always 22 kilobytes.
Mina achieves this via the Pickles SNARK — a recursive proof composition system built on PLONK — enabling “proofs of proofs” that compress arbitrarily long computational histories into a fixed-size certificate.
> Whitepaper: Available at minaprotocol.com.
Publication and Context
Every blockchain that doesn’t prune its data grows forever. Bitcoin’s UTXO set and full block chain exceed 500GB (2024); Ethereum’s archive node data exceeds 12TB. This growth progressively excludes ordinary users and devices from full validation — creating a drift toward trusting large nodes rather than self-verifying.
Mina’s thesis: if we can represent the current valid state of the blockchain as a succinct proof that any device can check, we restore the ability for phones, browsers, and lightweight devices to fully verify the chain independently — without trust assumptions.
Recursive zk-SNARK Design
Standard SNARK: A prover produces a short proof that a long computation (e.g., “I executed 1 million transactions starting from genesis and reached this state”) is correct. The verifier checks the short proof.
The problem: Producing a SNARK for an ever-growing blockchain history requires O(n) proving time, where n is the length of history.
Recursive SNARKs: A prover produces a proof that:
- The previous state was valid (verified by checking the previous proof)
- The current block was applied correctly to transition to the new state
Each new proof “wraps” the previous proof — a “proof of the previous proof’s validity” plus “proof of the new block”. The chain of actual transactions is replaced by a chain of proofs where each proof verifiably summarizes all history up to that point.
Key property: The final proof size is constant — 22KB — regardless of how many blocks have been produced since genesis.
Pickles SNARK
Mina’s recursive proving system, Pickles, is built on the Kimchi proof system (a PLONK variant with custom gates and lookup tables developed by O(1) Labs):
Two-curve cycle (Pasta curves): Recursive SNARKs require pairing-friendly elliptic curves arranged in a “cycle” — verifying a proof on curve A produces a verification computation native to curve B, and vice versa. Mina uses the Pallas and Vesta curves (collectively “Pasta”), designed specifically for efficient recursive proof composition.
Accumulation scheme: Rather than verifying each recursive step from scratch, Pickles uses an accumulation/folding scheme where the verifier accumulates deferred verification work across multiple proofs and discharges it at the end — amortizing the per-proof verification cost.
Performance (2024): Producing a Mina block proof takes ~3 minutes on a modern machine (proof production is not yet consumer-hardware-ready). Verification takes milliseconds.
Consensus: Modified Ouroboros Samasika
Mina uses a variant of Ouroboros (the Cardano consensus protocol), adapted for the SNARKed blockchain:
Ouroboros Samasika: A PoS protocol with specific properties:
- Validators (“block producers”) are selected proportionally to staked MINA
- No long-range attacks: the protocol uses “jackpot” selection to make long-range PoS rewriting economically infeasible
- Self-bootstrapping: new nodes can bootstrap from the succinct proof without downloading history (unlike standard Ouroboros which requires chain history for security)
zkApps
Mina’s smart contracts are called zkApps — contracts that execute off-chain and submit zk-SNARKs proving correct execution to the blockchain. The on-chain footprint is minimal: only state roots and proofs are stored.
This is fundamentally different from Ethereum’s model (on-chain execution) and from standard optimistic rollups (on-chain fraud proofs). In Mina, all smart contract execution is private by default — the prover knows the inputs; the chain only sees the proof.
Reality Check
Mina’s recursive SNARK is a remarkable cryptographic achievement — the constant 22KB chain size is real, not a theoretical claim. Verification of the full chain takes milliseconds on any device.
However:
- Proving time costs: Block proof production takes minutes, limiting block time and network throughput (Mina targets ~3 TPS in early versions).
- zkApp complexity: Writing zkApps requires specialized ZK circuit development skills. The O(1) Labs SDK (o1js, formerly SnarkyJS) makes this more accessible but it remains significantly harder than Solidity development.
- Ecosystem maturity: Mina’s zkApp ecosystem is young; DeFi and application composability lag EVM chains.
- Centralization of proving: In practice, block proof production is performed by a small number of SNARK workers with specialized hardware, creating a proving centralization concern.
Legacy
Mina demonstrated that constant-size succinct blockchains are producible in practice, not just in theory. The Pasta curve cycle and Pickles recursive composition system have influenced subsequent recursive SNARK designs. The zkApps model (private off-chain execution with on-chain proofs) anticipates the direction of privacy-preserving smart contracts that later systems (Aztec, Aleo) also pursue.
Related Terms
Research
- Meckler, I., & Shapiro, E. (2020). Mina: Decentralized Cryptocurrency at Scale. O(1) Labs.
— Primary whitepaper. Section 3 describes recursive SNARK composition; Section 4 covers Ouroboros Samasika.
- Bowe, S., Grigg, J., & Hopwood, D. (2019). Recursive Proof Composition without a Trusted Setup. IACR ePrint 2019/1021.
— Halo protocol; the theoretical foundation for Pickles’ accumulation-based recursion without trusted setup.
- Grassi, L., Khovratovich, D., Rechberger, C., Roy, A., & Schofnegger, M. (2021). Poseidon: A New Hash Function for Zero-Knowledge Proof Systems. USENIX Security 2021.
— Hash function used inside Mina’s SNARK circuits; a ZK-native hash optimized for circuit computation cost.