Skip to content

LibraryPrivacy2013Design paperCorpus record

Pinocchio: Nearly Practical Verifiable Computation

Pinocchio. Bryan Parno, Jon Howell, Craig Gentry and Mariana Raykova.

Compile the program to a quadratic arithmetic program and prove it was satisfied. Verification is a small number of pairings, independent of the program's length, after a trusted setup.

A reading of the public document. Not a copy of it, and not a claim about a later network that reused the name.

A rollup that says 'we use SNARKs' should say who ran the setup and what program the circuit actually encodes.
Evidence
Primary paper
Re-measured
No
Assumptions
3
Records linked
3

Code

Source, repository, and what is actually hosted

  • ePrint 2013/279https://eprint.iacr.org/2013/279
  • The source URL is not a GitHub repository. No code remote is invented.
  • Full text is not mirrored. Public availability is not a licence to copy the file onto this site.
  • Add to a reading list

01 Claim ledger

What the paper is allowed to say

Each row is a sentence already in the study. The status is the same on every row: a model claim, not a live measurement.

  1. Claim 01 · Paper model

    The defect

    A client wants a server to run a program and return a proof that is cheaper to check than re-running the program.

  2. Claim 02 · Paper model

    The rule

    Compile the program to a quadratic arithmetic program and prove it was satisfied. Verification is a small number of pairings, independent of the program's length, after a trusted setup.

  3. Claim 03 · Paper model

    How it is put together

    The setup produces a proving key and a verification key. The prover's work is heavy. The verifier's work is small. The proof shows the computation, not a secret by itself. Secrets are an extra encoding.

  4. Claim 04 · Paper model

    Where the claim stops

    The setup is trusted. Whoever knows the trapdoor can forge proofs.

02 Three cuts

Observation, model, falsifier

A desk does not stop at the summary. Each claim is cut three ways, using only this study's own assumptions and checks. Nothing here is a new figure.

  1. 01 The defect

    Observation

    What the study says

    A client wants a server to run a program and return a proof that is cheaper to check than re-running the program.

    Model

    What has to hold

    It does not make an arbitrary program cheap to prove.

    Falsifier

    What would retire it

    What program is in the circuit?

  2. 02 The rule

    Observation

    What the study says

    Compile the program to a quadratic arithmetic program and prove it was satisfied. Verification is a small number of pairings, independent of the program's length, after a trusted setup.

    Model

    What has to hold

    The setup is trusted. Whoever knows the trapdoor can forge proofs.

    Falsifier

    What would retire it

    Is verification constant in the program length?

  3. 03 How it is put together

    Observation

    What the study says

    The setup produces a proving key and a verification key. The prover's work is heavy. The verifier's work is small. The proof shows the computation, not a secret by itself. Secrets are an extra encoding.

    Model

    What has to hold

    The setup is trusted. Whoever knows the trapdoor can forge proofs.

    Falsifier

    What would retire it

    Is verification constant in the program length?

  4. 04 Where the claim stops

    Observation

    What the study says

    The setup is trusted. Whoever knows the trapdoor can forge proofs.

    Model

    What has to hold

    The setup is trusted. Whoever knows the trapdoor can forge proofs.

    Falsifier

    What would retire it

    Who could have kept the trapdoor?

03 Sequence

One action, as an operating tape

  1. 01Turn the program into constraints.
  2. 02The prover evaluates the witness.
  3. 03The verifier checks a constant-size proof against the verification key.
  4. 04Who could have kept the trapdoor?

04 Load-bearing

The argument, and where a pitch drops it

  1. Why it is still on the desk

    The cut

    A rollup that says 'we use SNARKs' should say who ran the setup and what program the circuit actually encodes.

    Why it carries weight

    If this cut is skipped, the paper's name is being used without the mechanism that makes the name mean anything.

    Where it is dropped

    The setup is trusted. Whoever knows the trapdoor can forge proofs.

  2. After the text

    The cut

    Zcash's first ceremony and almost every later pairing-based SNARK sit downstream of this compilation strategy.

    Why it carries weight

    If this cut is skipped, the paper's name is being used without the mechanism that makes the name mean anything.

    Where it is dropped

    A later client, parameter or reward formula is a different object from this paragraph.

05 Register

What has to be true

  • Cryptography · Not re-measured

    The setup is trusted. Whoever knows the trapdoor can forge proofs.

  • Model · Not re-measured

    Pinocchio is not Groth16, though Groth16 is a descendant.

  • Model · Not re-measured

    It does not make an arbitrary program cheap to prove.

06 Divergence

What happened after the paper

Zcash's first ceremony and almost every later pairing-based SNARK sit downstream of this compilation strategy.

A later client, parameter set, or reward formula is a different object. Cite this paper for the mechanism. Cite a primary release for the network. This desk has not re-run the proof.

07 Pre-mortem

What to check before you use the idea

  1. 0 of 3 marked on this browser. A mark is a reading note, not a pass, a rating, or a recommendation.

08 Anatomy

The paper, in the order a builder needs

The problem it names

A client wants a server to run a program and return a proof that is cheaper to check than re-running the program.

What the design proposes

  • The setup produces a proving key and a verification key.
  • The prover's work is heavy. The verifier's work is small.
  • The proof shows the computation, not a secret by itself. Secrets are an extra encoding.

How the mechanism is specified

  • Turn the program into constraints.
  • The prover evaluates the witness.
  • The verifier checks a constant-size proof against the verification key.

What this page does not treat as proven

  • The setup is trusted. Whoever knows the trapdoor can forge proofs.
  • Pinocchio is not Groth16, though Groth16 is a descendant.
  • It does not make an arbitrary program cheap to prove.

Why the desk still reads it

A rollup that says 'we use SNARKs' should say who ran the setup and what program the circuit actually encodes.

09 Lexicon

Terms, opened into the record

QAP
A way to write a computation as polynomial constraints.
Trapdoor
Secret setup randomness that can forge proofs if it survives.

10 Repository

Every linked record on this page

Underlined words open a page that already exists: a concept, a protocol profile, a failure record, or another paper. If a word is not underlined, this desk does not have a record for it.

This is Blockchain Lab's reading of a public design paper. It is not the paper, not a copy of it, and not an offer of tokens, equity, custody or a partnership. Later network behaviour can diverge from the text. Nothing here is investment, legal or technical advice.

Research status: Design paper. Last reviewed: 1 October 2026. This is a reading of a public paper, not investment, legal or security advice.