A trusted setup is a one-time cryptographic ceremony that generates the initial parameters for certain advanced cryptographic systems, most notably zk-SNARKs (Zero-Knowledge Succinct Non-Interactive Arguments of Knowledge). During this process, a group of participants collaboratively creates a structured reference string (SRS) or common reference string (CRS), which embeds a secret value. The critical security assumption is that at least one participant must act honestly by permanently deleting their portion of the secret; if all participants collude and retain the secret, they could potentially create fraudulent proofs. This creates a trust assumption, hence the name.
Trusted Setup
What is a Trusted Setup?
A trusted setup is a foundational ceremony in cryptography where a secret parameter is generated, requiring participants to be honest and destroy their secret shares for the system's security to hold.
The ceremony is designed to be a multi-party computation (MPC) to minimize this trust. Instead of relying on a single entity, the secret is split among multiple, often geographically and politically distributed, parties. Each performs their computation on their secret share, and the final public parameters are compiled without any single party ever knowing the complete master secret. High-profile examples include the 'Powers of Tau' setup for Zcash and Ethereum's KZG ceremony for proto-danksharding. The security model shifts from trusting one party to trusting that at least one participant in the group was honest and performed the required 'toxic waste' disposal.
The necessity for a trusted setup is a key differentiator between cryptographic proof systems. Systems that require one, like Groth16 zk-SNARKs, are often contrasted with transparent systems like zk-STARKs or Bulletproofs, which have no such requirement. While a well-executed multi-party ceremony is considered sufficiently secure for many applications, it remains a theoretical weakness compared to trustless alternatives. The ongoing development in cryptography focuses on creating more efficient universal and updatable setups, where new participants can join over time to reinforce security, moving towards a model of perpetual trust dilution.
How a Trusted Setup Ceremony Works
A trusted setup ceremony is a cryptographic ritual where multiple participants collaboratively generate the initial parameters (often called a Common Reference String or Structured Reference String) required to bootstrap a zero-knowledge proof system, with the goal of ensuring no single party knows the system's secret toxic waste.
A trusted setup ceremony, also known as a Multi-Party Computation (MPC) ceremony or powers-of-tau ceremony, is designed to decentralize trust. In a zk-SNARK-based system, the initial setup phase produces a proving key and a verification key from a secret parameter, often denoted as tau (τ). If this secret is known by any participant, they could create fraudulent proofs. The ceremony's core innovation is that multiple parties sequentially contribute randomness to the computation, each 'mixing in' their own secret. As long as at least one participant is honest and destroys their secret contribution—the toxic waste—the final combined secret remains unknown to all.
The process typically follows a specific sequential multi-party computation protocol. The first participant generates initial parameters using a random secret, performs the necessary cryptographic operations (like elliptic curve scalar multiplication), and publishes the resulting public parameters. Each subsequent participant takes the output of the previous party, performs the same operation using their own fresh random secret, and passes the updated parameters forward. This chain continues for a predetermined number of rounds. Critically, participants must provide a Proof of Knowledge (e.g., via a Chaum-Pedersen proof) to demonstrate they performed the computation correctly without revealing their individual secret.
Famous real-world examples include the Perpetual Powers of Tau ceremony for Ethereum and Zcash's original Sapling MPC ceremony. These events often involve hundreds of geographically and politically diverse participants, including researchers, developers, and even celebrities, to maximize the likelihood of at least one honest actor. The ceremony concludes with a final verification phase, where anyone can cryptographically audit the published transcript to ensure each step was computed correctly according to the protocol, creating publicly verifiable, trust-minimized parameters for the network.
Key Features of a Trusted Setup
A trusted setup is a one-time, foundational ceremony that generates the initial parameters for certain cryptographic systems, most notably zk-SNARKs. Its security relies on the assumption that at least one participant in the ceremony was honest and destroyed their secret.
Ceremonial Generation
The initial parameters (often called the Common Reference String or CRS) are created through a multi-party computation ceremony. Participants sequentially contribute random secret values, with each step 'mixing in' their secret and destroying it. The final output is a public parameter set that cannot be reverse-engineered if at least one participant was honest.
The 'Trust' Assumption
The system's security depends on a trust assumption: that at least one participant in the setup ceremony correctly generated and permanently deleted their secret contribution. If all participants collude or are compromised, they could create a 'toxic waste' backdoor, allowing them to generate fraudulent proofs. This is the core 'trusted' aspect.
One-Time Event
A trusted setup is typically performed once for a given protocol or circuit. The generated public parameters are then used indefinitely by all users to create and verify zero-knowledge proofs. Notable examples include:
- Zcash's 'The Ceremony' (2016) for Sprout and Sapling.
- Ethereum's KZG Ceremony (EIP-4844) for proto-danksharding.
- Tornado Cash's setup ceremony.
Multi-Party Computation (MPC)
To minimize trust, modern ceremonies use Multi-Party Computation (MPC). Instead of a single trusted party, many participants (sometimes thousands) contribute. The security model shifts from 'trust Alice' to 'trust that at least 1 of N participants was honest'. More participants exponentially reduce the probability of total collusion.
Toxic Waste
This is the critical secret randomness generated during the ceremony. If retained, it constitutes 'toxic waste' that could compromise the entire system. The paramount security requirement is the secure deletion of this material by all participants. The inability to verify deletion is the system's key vulnerability.
Contrast with Transparent Setups
Trusted setups are contrasted with transparent setups (used by STARKs and Bulletproofs), which require no secret parameters and have no trusted initial ceremony. The trade-off is between the smaller proof sizes and faster verification of trusted-setup zk-SNARKs versus the stronger trust model of transparent systems.
What is 'Toxic Waste'?
In cryptographic protocols, 'toxic waste' refers to secret parameters that must be permanently deleted after a trusted setup ceremony to ensure the system's security.
Toxic waste is the secret, cryptographically sensitive data generated during a trusted setup ceremony for a zero-knowledge proof system, such as a zk-SNARK. This data typically includes the original random parameters—often called the "toxic waste" or "secret randomness"—used to construct the system's public proving and verification keys. If this secret material is not destroyed, a malicious actor who obtains it could generate fraudulent proofs, completely compromising the system's security guarantees. The permanent and verifiable deletion of this waste is therefore the central trust assumption in many early zk-SNARK constructions.
The concept is most famously associated with the original Pinocchio and Groth16 zk-SNARK protocols. In these setups, a single party runs a procedure to generate a Common Reference String (CRS), which produces a public proving key and a public verification key. However, the process also creates a secret "toxic waste" parameter (often denoted as tau or λ). Knowledge of this secret allows for the creation of proofs for false statements, making the entire system useless for trustless applications. This created a significant problem: users had to trust that the setup participant honestly deleted the toxic waste.
To mitigate this critical point of failure, the cryptographic community developed multi-party computation (MPC) ceremonies, such as those used for Zcash's original Sprout system and the perpetual ceremony for Filecoin. In an MPC setup, multiple participants collaboratively generate the CRS. The security guarantee becomes that only all participants colluding could reconstruct the toxic waste. As long as one participant is honest and destroys their secret share, the final toxic waste remains irrecoverable, significantly increasing trustlessness. The output of these ceremonies is a trusted setup that is considered "secure" because the toxic waste has been effectively erased.
The management of toxic waste illustrates a fundamental trade-off in applied cryptography. While newer proof systems like zk-STARKs and some bulletproofs eliminate the need for a trusted setup entirely (making them transparent), zk-SNARKs with trusted setups often offer smaller proof sizes and faster verification. The evolution from single-party setups to large-scale MPC ceremonies represents a practical engineering solution to the toxic waste problem, distributing trust across many geographically and politically separated entities to approach sufficient decentralization for production blockchain systems.
Notable Trusted Setup Ceremonies
These ceremonies are foundational events in cryptographic history, where participants collaboratively generated the initial parameters (structured reference strings) required to bootstrap various zero-knowledge proof systems.
Tornado Cash's Original Setup (2019)
The trusted setup for the initial version of the Tornado Cash privacy mixer on Ethereum. It was a simple 1-of-N trust assumption ceremony with a small group of developers. The reliance on this setup became a point of cryptographic vulnerability critique, later mitigated by the Nova-based upgrade (Tornado Cash Nova) which eliminated the need for a per-circuit trusted setup.
Security Considerations & Trust Assumptions
A trusted setup is a cryptographic ceremony where a set of secret parameters is generated to initialize a system, creating a persistent security dependency on the honesty of the participants during that one-time event.
The Core Problem: The Toxic Waste
In systems like zk-SNARKs, a structured reference string (SRS) or common reference string (CRS) is generated. This process produces secret 'toxic waste' parameters that, if known, could allow an attacker to create fraudulent proofs. The trust assumption is that all participants in the ceremony honestly destroyed their secret shares, ensuring the toxic waste is permanently unrecoverable.
Mitigation: Multi-Party Computation (MPC)
To reduce central trust, setups use Multi-Party Computation (MPC) ceremonies. Multiple participants collaboratively generate the final parameters.
- Each party contributes randomness.
- The ceremony is secure if at least one participant is honest and destroys their secret.
- Examples: The Zcash Powers of Tau ceremony (over 90 participants) and Ethereum's KZG ceremony for EIP-4844.
Permanent vs. Updatable Setups
Permanent setups (e.g., original Zcash Sprout) create a fixed CRS. If compromised, the entire system's security is permanently broken. Updatable setups (e.g., Perpetual Powers of Tau) allow new participants to contribute randomness to an existing SRS, enabling trust to be distributed over time and across new, possibly more trustworthy, entities.
Verifiability & Auditability
A well-designed ceremony emphasizes public verifiability. All contributions and their proofs are recorded on-chain or in public transcripts. This allows anyone to cryptographically verify that:
- Each participant's contribution was valid.
- The final parameters were computed correctly.
- This creates an audit trail but does not eliminate the need for trust in the participants' honesty during the live ceremony.
Systemic Risk & Long-Term Security
The trusted setup creates a systemic risk and a persistent trust assumption. Even with a 1-of-N honest participant model, the risk is not reduced to zero; it's distributed. The security of billions in value may rely on a secret that existed momentarily years ago. This contrasts with trustless systems (like Bitcoin's proof-of-work) that have no such persistent secret.
Alternatives: Transparent Systems
Some proving systems are designed to be transparent or trustless, eliminating the trusted setup entirely. STARKs and Bulletproofs use publicly verifiable randomness, requiring no secret parameters. The trade-off is often larger proof sizes or higher verification costs, but they provide a stronger trust model by removing this foundational cryptographic risk.
Trusted Setup vs. Trustless Alternatives
A comparison of the core properties between systems requiring a trusted setup ceremony and those that are trustless by design.
| Feature | Trusted Setup (e.g., zk-SNARKs Groth16) | Trustless Alternative (e.g., zk-STARKs, Bulletproofs) | Alternative (e.g., MPC-based Setup) |
|---|---|---|---|
Cryptographic Assumption | Requires a secure common reference string (CRS) | Relies on collision-resistant hashes and public randomness | Distributed via Multi-Party Computation (MPC) |
Trust Model | Requires initial trust in ceremony participants | Trustless; no required trusted third party | Trust is distributed among MPC participants |
Ceremony Required | |||
Setup Toxicity | |||
Proof Size | ~200 bytes | ~45-200 KB | ~200 bytes |
Verification Speed | < 10 ms | 10-100 ms | < 10 ms |
Post-Quantum Security | |||
Transparent Setup |
Common Misconceptions About Trusted Setups
Trusted setups are a foundational cryptographic component in many zero-knowledge proof systems, yet they are often misunderstood. This section clarifies frequent points of confusion regarding their security, necessity, and operational mechanics.
No, a trusted setup does not create a permanent, exploitable backdoor. It generates a set of public parameters, often called a Common Reference String (CRS) or Structured Reference String (SRS), which are required for the system to function. The security risk is a one-time event: if the initial ceremony is compromised and the secret toxic waste is not destroyed, a malicious actor could create fraudulent proofs. However, once the ceremony is completed correctly and the toxic waste is discarded, the system is secure for its entire lifespan. The parameters themselves contain no secret information that can be later used to break the system.
Frequently Asked Questions (FAQ)
A trusted setup is a foundational cryptographic ceremony required by certain zero-knowledge proof systems. This section answers the most common questions about its purpose, security, and real-world implementations.
A trusted setup is a one-time cryptographic ceremony where a set of secret parameters are generated and subsequently destroyed, creating the public parameters (often called a Common Reference String or Structured Reference String) needed to construct and verify zero-knowledge proofs for a specific circuit. The security of the entire system relies on the assumption that at least one participant in the ceremony was honest and successfully destroyed their portion of the secret, a concept known as the '1-of-N trust assumption'. If the secret is compromised, an attacker could create fraudulent proofs. Notable examples include the original zk-SNARK setup for Zcash (the 'Toxic Waste' ceremony) and the Perpetual Powers of Tau used by many modern zk-rollups.
Get In Touch
today.
Our experts will offer a free quote and a 30min call to discuss your project.