Skip to content

LibraryPrivacy2020Design paperCorpus record

Zexe: Enabling Decentralized Private Computation

Zexe. Sean Bowe, Alessandro Chiesa, Matthew Green, Ian Miers, Pratyush Mishra and Howard Wu.

A model for private computation over records. Each record has a birth predicate and a death predicate. A transaction proves that some records died and others were born, without showing which, or showing the data.

Zexe lets someone prove that private records were consumed and created according to their predicates, without showing the records or which ones they were. The computation happens off-chain. The ledger sees a proof.
Evidence
Primary paper
Re-measured
No
Assumptions
4
Records linked
1

Code

Source, repository, and what is actually hosted

  • ePrint 2018/962https://eprint.iacr.org/2018/962
  • 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

    Records, not accounts

    The state is a set of committed records. Spending is the death of some records and the birth of others. There is no public account balance to read.

  2. Claim 02 · Paper model

    Two predicates

    A death predicate says when a record may be consumed. A birth predicate says when a new record may appear. Applications are written as those rules, not as arbitrary on-chain bytecode in the paper's model.

  3. Claim 03 · Paper model

    Offline proving

    The user does the heavy work and posts a succinct proof. The chain verifies the proof and the nullifiers that stop a record being killed twice.

  4. Claim 04 · Paper model

    Zerocash is the payment special case

    A simple transfer is a Zexe program. The paper's ambition is every state transition that can be written as record predicates, which includes trades and votes, and also includes bugs in those predicates.

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 Records, not accounts

    Observation

    What the study says

    The state is a set of committed records. Spending is the death of some records and the birth of others. There is no public account balance to read.

    Model

    What has to hold

    Nullifiers are deterministic functions of the record secret, so a double death collides and is rejected.

    Falsifier

    What would retire it

    What is the birth predicate, and what is the death predicate?

  2. 02 Two predicates

    Observation

    What the study says

    A death predicate says when a record may be consumed. A birth predicate says when a new record may appear. Applications are written as those rules, not as arbitrary on-chain bytecode in the paper's model.

    Model

    What has to hold

    Nullifiers are deterministic functions of the record secret, so a double death collides and is rejected.

    Falsifier

    What would retire it

    What is the birth predicate, and what is the death predicate?

  3. 03 Offline proving

    Observation

    What the study says

    The user does the heavy work and posts a succinct proof. The chain verifies the proof and the nullifiers that stop a record being killed twice.

    Model

    What has to hold

    Nullifiers are deterministic functions of the record secret, so a double death collides and is rejected.

    Falsifier

    What would retire it

    Are nullifiers unique per record, and where are they stored?

  4. 04 Zerocash is the payment special case

    Observation

    What the study says

    A simple transfer is a Zexe program. The paper's ambition is every state transition that can be written as record predicates, which includes trades and votes, and also includes bugs in those predicates.

    Model

    What has to hold

    Commitments hide the record data. A commitment that includes a public memo may leak it.

    Falsifier

    What would retire it

    Are nullifiers unique per record, and where are they stored?

03 Sequence

One action, as an operating tape

  1. 01A user holds secrets that open one or more records committed on the ledger.
  2. 02They compute the new records off-chain, satisfying birth and death predicates.
  3. 03They publish nullifiers for the consumed records and commitments for the new ones, plus a proof.
  4. 04The ledger rejects a nullifier it has seen before, and rejects a proof that does not verify.
  5. 05Observers learn that some valid transition happened, not which records, and not the data inside them.

04 Load-bearing

The argument, and where a pitch drops it

  1. The predicates are the program

    The cut

    Privacy does not stop a bad rule. If the death predicate allows a record to be consumed without conserving value, the proof will hide the theft and the ledger will accept it. Review moves to the predicate, which users cannot watch execute in the clear.

    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.

  2. Counterparty privacy is not observer privacy

    The cut

    Someone who already knows the secret, because they were the other side of the trade, is not blinded by the proof. The paper hides state from the public ledger. It does not hide a deal from its parties.

    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

    Aleo and other later systems are implementations, with their own curves, fees, and failures.

05 Register

What has to be true

  • Cryptography · Not re-measured

    The proof system is sound for the predicate circuit. A broken SNARK breaks every application at once.

  • Model · Not re-measured

    Nullifiers are deterministic functions of the record secret, so a double death collides and is rejected.

  • Data · Not re-measured

    Commitments hide the record data. A commitment that includes a public memo may leak it.

  • Cryptography · Not re-measured

    Users can actually produce the proofs on their own hardware, or the 'offline' step quietly becomes a trusted prover.

06 Divergence

What happened after the paper

Aleo and other private-computation projects cite Zexe as the model and then change the proof system, the record format, and the fees. The 2018 paper remains the right picture of birth and death predicates. It is not a description of any of those networks' live circuits.

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 4 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

Zerocash hides payments of one asset. Zexe asks for the same offline-proof pattern when the state transition is a program: a trade, a vote, a custom asset.

What the design proposes

  • Records sit committed on a ledger.
  • A transaction proves knowledge of records that satisfy the predicates, and of a newly created set.
  • The heavy computation happens off-chain. The chain checks a proof.

How the mechanism is specified

  • Birth predicates constrain creation. Death predicates constrain consumption. That split is the programming model.
  • Privacy is over the data and the which-record relation. The fact that a proof was posted is public.
  • The paper's efficiency depends on the proof system underneath. The model and the SNARK are separable.

What this page does not treat as proven

  • Aleo and other later systems are implementations, with their own curves, fees, and failures.
  • Predicates are programs. A private bug is still a bug.
  • This does not hide activity from an observer who learns the secret by being a counterparty.

Why the desk still reads it

If a team says private computation, ask whether the chain sees inputs or only a proof, and what the birth and death rules actually allow. Zexe is the template for that question.

09 Lexicon

Terms, opened into the record

Record
A committed piece of state with rules for how it may be created and consumed.
Nullifier
A public marker that a record has been consumed, which does not reveal which record.

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.