Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
LABS
Glossary

Structured Reference String (SRS)

A Structured Reference String (SRS) is a foundational set of public parameters, often generated via a trusted setup ceremony, required to create and verify proofs in succinct zero-knowledge proof systems like Groth16.
Chainscore © 2026
definition
CRYPTOGRAPHIC PARAMETER

What is Structured Reference String (SRS)?

A Structured Reference String (SRS) is a foundational cryptographic parameter used in zero-knowledge proof systems, particularly zk-SNARKs, to enable efficient proof generation and verification.

A Structured Reference String (SRS) is a cryptographically secure, public string of data that serves as a common reference point for all participants in a zero-knowledge proof (ZKP) system. It is generated in a trusted setup ceremony and contains the elliptic curve points necessary to evaluate polynomials in a hidden form. This string is structured because it encodes a specific algebraic relationship, allowing a prover to generate a proof and a verifier to check it without revealing the underlying secret witness data. The security of the entire proof system hinges on the initial SRS generation being performed correctly, with the secret "toxic waste" securely discarded.

The primary role of the SRS is to act as the proving key and verification key for zk-SNARKs. During proof generation, the prover uses the SRS to create a cryptographic commitment to their secret polynomial. The verifier then uses the same SRS to check the validity of this commitment against the public statement. This setup enables the remarkable efficiency of SNARKs, where verification is extremely fast. However, it introduces a trust assumption: if the original secret randomness used to create the SRS is not destroyed, a malicious party could forge false proofs. This has led to the development of ceremonies like Perpetual Powers of Tau to decentralize this trust.

In practice, an SRS is often constructed through a multi-party computation (MPC) ceremony, where multiple participants sequentially contribute randomness to create the final string. As long as at least one participant is honest and destroys their secret, the final SRS is secure. This process mitigates the trusted setup problem. The SRS is a critical component in major blockchain scaling solutions, such as zk-Rollups (e.g., zkSync, StarkNet's predecessor), where it allows the rollup to generate a succinct proof of valid state transitions. Its fixed, reusable nature makes it ideal for applications requiring many proofs for the same circuit.

how-it-works
CRYPTOGRAPHIC PRIMITIVE

How Does a Structured Reference String (SRS) Work?

A Structured Reference String (SRS) is a foundational cryptographic artifact used to generate and verify zero-knowledge proofs in trusted setup ceremonies.

A Structured Reference String (SRS) is a public string of cryptographic parameters generated during a one-time, multi-party trusted setup ceremony for a specific zk-SNARK proving system. This ceremony, often called a Powers of Tau ceremony, involves multiple participants sequentially contributing random secret values to a shared computation, with the final output being the SRS. The security model relies on the assumption that at least one participant was honest and destroyed their secret, preventing any single party from forging false proofs. The resulting SRS is a critical piece of public infrastructure, like the Common Reference String (CRS), but is specifically structured with a defined algebraic form necessary for the prover and verifier algorithms.

The SRS works by encoding the coefficients of two paired elliptic curve groups, typically denoted as ( [Ï„^i] G1, [Ï„^i] G2 ) for many powers i, where Ï„ (tau) is the accumulated secret from the setup. The prover uses these structured parameters to construct a proof by performing polynomial commitments and evaluations within the circuits. The verifier, who also has access to the same public SRS, can check the proof's validity using pairing operations without learning anything about the witness data. This structure enables the efficient and succinct verification that is the hallmark of zk-SNARKs. Major projects like Zcash (for its original Sprout protocol) and Filecoin have conducted high-profile SRS generation ceremonies.

The primary distinction from a generic Common Reference String is this predefined, power-structured form, which optimizes for specific proof constructions like Groth16. Maintaining the security and integrity of the SRS is paramount, as a compromised string could allow an attacker to create undetectably false proofs. Consequently, the trusted setup process is designed to be transparent, auditable, and involve a diverse set of participants to maximize the likelihood of a trustworthy outcome. Once generated, the SRS is considered a universal and updatable reference point for all subsequent proofs within that circuit family.

key-features
STRUCTURED REFERENCE STRING

Key Features of an SRS

A Structured Reference String (SRS) is a foundational cryptographic parameter used in zk-SNARKs, particularly in the Groth16 proving system. It consists of a set of precomputed elliptic curve points that encode the circuit constraints and are required for proof generation and verification.

01

Trusted Setup Ceremony

An SRS is generated through a Multi-Party Computation (MPC) ceremony, where multiple participants contribute randomness. This process, also known as a powers-of-tau ceremony, is designed to decentralize trust. As long as at least one participant is honest and destroys their secret 'toxic waste', the final SRS is secure. This is a critical, one-time setup for each circuit.

02

Circuit-Specific Encoding

The SRS contains encoded information about the specific arithmetic circuit being proven. It includes:

  • Evaluation points for the circuit's polynomial constraints.
  • Precomputed elliptic curve points (in groups G1 and G2) that represent powers of a secret tau (Ï„). This encoding allows the prover to efficiently generate a proof that the circuit's constraints are satisfied without revealing the witness.
03

Prover and Verifier Keys

The SRS is used to derive two specialized keys:

  • Proving Key (pk): A subset of the SRS given to the prover. It contains the information needed to construct a zk-SNARK proof.
  • Verification Key (vk): A smaller, often public, subset given to the verifier. It contains the parameters needed to check the validity of a proof. These keys are cryptographically linked, ensuring a proof created with pk can only be verified by the corresponding vk.
04

Updatability and Universality

SRS structures can be universal or specific:

  • Universal SRS (URS): A single setup (like Perpetual Powers of Tau) can be used for many different circuits, making it more practical. The circuit-specific constraints are 'linked' to this universal string.
  • Circuit-Specific SRS: Created for one circuit only, offering potential efficiency gains but requiring a new trusted setup for each application.
05

Security Assumptions

The security of proofs using an SRS relies on cryptographic assumptions:

  • Knowledge-of-Exponent Assumption (KEA): Ensures the prover knows the witness used to create the proof.
  • q-Strong Diffie-Hellman (q-SDH): Underpins the unforgeability of the proofs. If the secret randomness from the trusted setup is leaked (the 'toxic waste'), an attacker could create false proofs, breaking the system's soundness.
06

Contrast with Transparent Setup

An SRS defines a trusted setup, which differs from a transparent setup (used in STARKs and some SNARKs like Bulletproofs).

  • Trusted Setup (SRS): Requires a one-time ceremony but produces very small, fast-to-verify proofs (Groth16).
  • Transparent Setup: No trusted ceremony needed; setup parameters are public and verifiable by anyone, often resulting in larger proofs. The choice involves a trade-off between trust assumptions and performance.
trusted-setup-ceremony
CRYPTOGRAPHIC FOUNDATION

The Trusted Setup Ceremony

A trusted setup ceremony is a cryptographic ritual where a group of participants collaboratively generates a critical piece of public parameters, known as a Structured Reference String (SRS), for a zero-knowledge proof system, with the goal of ensuring no single party knows the secret 'toxic waste' that could compromise the system's security.

A trusted setup ceremony is a multi-party computation (MPC) protocol designed to generate the Structured Reference String (SRS) or Common Reference String (CRS) required by many zk-SNARKs and other advanced cryptographic systems. The core security assumption is that at least one participant in the ceremony is honest and destroys their secret randomness, known as toxic waste. If all participants collude, they could forge proofs, making the ceremony's integrity paramount. This process transforms a need for a single, trusted third party into a decentralized, trust-minimized event, where security relies on the improbability of universal collusion.

The ceremony typically involves a sequential chain of contributions. Each participant receives the public parameters from the previous contributor, mixes in their own secret randomness, and publishes the updated parameters. This process is often accompanied by a public attestation or proof of participation. Crucially, after contributing, each participant must securely erase their secret randomness. The final output is a single SRS that is used by all provers and verifiers in the subsequent zk-SNARK system. Famous examples include the Perpetual Powers of Tau ceremony for Groth16 proofs and the Zcash Powers of Tau ceremony that secured the launch of the Zcash blockchain.

While a major advance, trusted setups are not perfectly trustless. They introduce a trusted initializer assumption, albeit distributed among many parties. The security model is often described as "1-of-N" honesty, where only one honest participant is needed for safety. To enhance security and transparency, ceremonies employ public verifiability through cryptographic receipts, video recordings of participation, and open-source software audits. The goal is to make collusion or coercion detectable and economically impractical, thereby creating a public good—the SRS—that can be reliably used for years or decades in production systems.

ecosystem-usage
STRUCTURED REFERENCE STRING

Ecosystem Usage & Protocols

The Structured Reference String (SRS) is a foundational cryptographic parameter used to generate and verify succinct zero-knowledge proofs. It is a critical component for trust in many zk-rollup and privacy protocols.

01

Core Definition & Purpose

A Structured Reference String (SRS) is a public, cryptographically secure string of data generated in a one-time trusted setup ceremony. It serves as a common reference point for provers to generate zero-knowledge proofs and for verifiers to check their validity. The SRS encodes the parameters of a specific elliptic curve and is essential for the security of proof systems like Groth16 and PLONK.

02

Trusted Setup Ceremony

The SRS is created through a multi-party computation (MPC) ceremony, where multiple participants contribute randomness. The security relies on the assumption that at least one participant was honest and destroyed their secret "toxic waste." Famous ceremonies include:

  • Perpetual Powers of Tau (used by many zk-SNARK projects)
  • The Zcash original Sprout ceremony
  • Filecoin's trusted setup Once generated, the SRS is considered universal and updatable for some proof systems.
03

Role in zk-Rollups

In zk-Rollups like zkSync Era, Polygon zkEVM, and Scroll, the SRS is a critical infrastructure component. It enables the sequencer (prover) to generate a validity proof that attests to the correctness of a batch of transactions. The verifier contract on Ethereum Layer 1 uses this same SRS to verify the proof in constant time, ensuring the rollup's state transitions are valid without re-executing all transactions.

04

SRS vs. Common Reference String (CRS)

These terms are often used interchangeably, but a key distinction exists:

  • Structured Reference String (SRS): Implies a specific algebraic structure tied to a pairing-friendly elliptic curve. It's required for knowledge-sound proofs like Groth16.
  • Common Reference String (CRS): A more general term for any public string shared between prover and verifier. Some proof systems (e.g., STARKs) do not require a trusted setup and use a publicly verifiable verifiable random function (VRF) instead of an SRS.
05

Security Model & Risks

The primary risk is subversion of the trusted setup. If all participants collude and retain their secret materials, they could generate fraudulent proofs. Mitigations include:

  • Ceremony size: More participants increase security.
  • Public attestations: Participants cryptographically attest to destroying their secrets.
  • Universal SRS: A single, well-audited setup can be reused by many applications, amortizing risk.
  • Transition to transparent setups: Newer proof systems like STARKs and Bulletproofs eliminate this need entirely.
06

Example: Groth16 Proof System

Groth16 is a highly efficient zk-SNARK that requires a circuit-specific SRS. The process is:

  1. Setup: For a specific circuit (e.g., a transaction batch), a trusted setup uses the universal SRS to generate a proving key and a verification key.
  2. Proving: The prover uses the proving key (derived from the SRS) to create a proof.
  3. Verifying: The verifier uses the verification key (derived from the SRS) to check the proof. This demonstrates how the SRS underpins the entire trust model for one of the most widely used zk-SNARKs.
security-considerations
STRUCTURED REFERENCE STRING (SRS)

Security Considerations & Risks

The Structured Reference String (SRS) is a foundational cryptographic parameter for zero-knowledge proof systems like Groth16 and PLONK. Its security properties are paramount, as a compromised SRS undermines the integrity of all proofs generated with it.

01

Toxic Waste & Trusted Setup

The SRS is generated in a trusted setup ceremony that produces a secret parameter, often called toxic waste, which must be securely discarded. If this secret is retained or leaked, an attacker could forge fraudulent proofs. This creates a trust dependency on the ceremony participants. Notable examples include the original Zcash 'Powers of Tau' ceremony and the perpetual ceremonies for Ethereum's KZG commitments.

02

Universal vs. Updatable SRS

An SRS can be circuit-specific (for one application) or universal (for many circuits). A universal SRS is more flexible but becomes a higher-value attack target. Updatable SRS protocols (e.g., Perpetual Powers of Tau) allow sequential contributions, where each new participant verifies and re-randomizes the SRS. Security relies on the assumption that at least one participant was honest and destroyed their toxic waste.

03

Subversion & Backdoor Risks

A maliciously generated SRS can contain a cryptographic backdoor, enabling undetectable proof forgery. This is a subversion attack. Mitigations include:

  • Transparent Ceremonies: Publicly verifiable setup procedures with recorded contributions.
  • Multi-Party Computation (MPC): Distributing trust across many participants; security holds if any one is honest.
  • Verifiable Delay Functions (VDFs): Creating SRS parameters without secret waste, moving towards transparent setups.
04

Long-Term Security & Obsolescence

An SRS is typically generated for a specific elliptic curve and security level (e.g., BN254, BLS12-381). Risks include:

  • Cryptographic Breakthroughs: Advances in solving the Elliptic Curve Discrete Logarithm Problem (ECDLP) could retroactively compromise all proofs.
  • Quantum Threats: Shor's algorithm would break the underlying cryptographic assumptions, necessitating a migration to post-quantum SRS parameters.
  • Parameter Obsolescence: An SRS cannot be easily updated for a new security level without a new trusted setup.
05

Verification & Auditability

Ensuring a deployed SRS is the correct output of a legitimate ceremony is critical. Risks involve:

  • Supply Chain Attacks: Compromised software or hardware during the generation process.
  • Verification Complexity: The mathematical verification of an SRS is computationally intensive and prone to implementation errors.
  • Lack of Standardization: No universal standard for ceremony formats or verification tools, increasing audit cost and risk.
06

Application-Specific Risk Profile

The severity of SRS compromise depends on the application:

  • High-Value DeFi: A forged proof could mint unlimited assets or drain liquidity pools.
  • Identity/Reputation: Could create false credentials or voting power.
  • Layer 2 Validity Proofs: A compromised SRS for a rollup could allow invalid state transitions, stealing funds or halting the chain. The risk is systemic; a single breached SRS can invalidate an entire application ecosystem built upon it.
TRUSTED SETUP COMPARISON

SRS vs. Other Proof System Parameters

A comparison of the Structured Reference String (SRS) with other common cryptographic parameters used in zero-knowledge proof systems.

Parameter / FeatureStructured Reference String (SRS)Common Reference String (CRS)Verifiable Random Function (VRF) Oracle

Primary Trust Assumption

Trusted setup ceremony (one-time)

Trusted third party generator

Cryptographic randomness beacon

Updatability

Yes, via perpetual powers-of-tau

No, typically static

Yes, per proof/epoch

Prover Key Size

Large (O(n log n))

Large (O(n))

Small (constant)

Verifier Key Size

Small (constant)

Small (constant)

Small (constant)

Suitability for Recursion

Universal / Application-Specific

Universal (circuit-agnostic)

Often application-specific

Application-specific

Notable Use Case

PLONK, Groth16, Marlin

Early zk-SNARKs (Pinocchio)

Proof-of-stake lotteries, Drand

STRUCTURED REFERENCE STRING (SRS)

Common Misconceptions

The Structured Reference String (SRS) is a foundational cryptographic element in zero-knowledge proof systems, but its purpose and security properties are often misunderstood. This section clarifies key points about its role, generation, and trust assumptions.

A Structured Reference String (SRS) is a public, cryptographically secure string of data that serves as a common reference point for generating and verifying zero-knowledge proofs, particularly in zk-SNARK systems. It works by encoding the parameters of a specific computation (often as a quadratic arithmetic program or QAP) into elliptic curve points, creating a structured setup. Provers use the SRS to generate proofs, and verifiers use it to check those proofs. The security of the entire system depends on the initial generation of the SRS being performed correctly and confidentially, as knowledge of its secret 'toxic waste' could allow for forging false proofs.

STRUCTURED REFERENCE STRING

Frequently Asked Questions (FAQ)

A Structured Reference String (SRS) is a foundational cryptographic parameter used in zk-SNARKs and other zero-knowledge proof systems. These questions address its purpose, security, and role in blockchain scaling.

A Structured Reference String (SRS) is a public, cryptographically secure string of data that serves as a common reference point for generating and verifying zero-knowledge proofs, particularly zk-SNARKs. It is created during a one-time trusted setup ceremony and contains encoded parameters that allow a prover to construct a proof and a verifier to check it without revealing the underlying secret information. The SRS is considered the "toxic waste" of the setup because knowledge of its secret parameters could allow for the creation of fraudulent proofs, making the security of the setup ceremony paramount.

ENQUIRY

Get In Touch
today.

Our experts will offer a free quote and a 30min call to discuss your project.

NDA Protected
24h Response
Directly to Engineering Team
10+
Protocols Shipped
$20M+
TVL Overall
NDA Protected Directly to Engineering Team