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

KZG Commitment Scheme

A cryptographic polynomial commitment scheme, based on trusted setups, that enables efficient proofs of polynomial evaluation and is foundational for data availability sampling.
Chainscore © 2026
definition
CRYPTOGRAPHIC PRIMITIVE

What is a KZG Commitment Scheme?

A cryptographic tool enabling a prover to commit to a polynomial and later reveal evaluations with a concise proof, without exposing the polynomial itself.

A KZG commitment scheme (named for its creators Kate, Zaverucha, and Goldberg) is a cryptographic polynomial commitment scheme that allows a prover to generate a short, binding commitment to a polynomial. The core property is that the prover can later generate a succinct proof, known as an opening proof or witness, that a specific evaluation of the polynomial at a given point is correct, without revealing the entire polynomial. This scheme is deterministic—the commitment is uniquely defined by the polynomial—and relies on cryptographic pairings and a trusted setup to generate public parameters.

The scheme's power lies in its ability to support efficient verification. To verify that a claimed evaluation f(z) = y is consistent with the original commitment C, a verifier only needs the commitment C, the point z, the claimed value y, and a short proof π. The verification uses a single pairing equation, making it constant-time and independent of the polynomial's degree. This property is foundational for scaling solutions like Ethereum's proto-danksharding (EIP-4844), where it is used to commit to large data blobs.

KZG commitments enable advanced cryptographic constructions. They are a key component in Verifiable Secret Sharing (VSS) and are the backbone of data availability sampling schemes. By committing to a polynomial whose evaluations represent data blocks, a network can guarantee that the entire data is available if any sufficient subset of evaluations can be retrieved. This is far more efficient than using Merkle trees for proving the properties of structured data.

The primary requirement for KZG is a trusted setup ceremony to generate a Structured Reference String (SRS), which includes secret values that must be discarded. If the secret is compromised, an adversary could create fraudulent commitments. While this requires careful ceremony execution, the resulting scheme provides constant-sized proofs and commitments, a property not achieved by earlier commitment schemes like FRI (used in STARKs).

In practice, KZG is often compared to other polynomial commitment schemes. Unlike Inner Product Arguments (Bulletproofs) or FRI-based commitments, KZG offers perfect zero-knowledge and constant-time verification but requires a trusted setup and pairing-friendly elliptic curves. Its adoption in layer-2 rollups and distributed systems highlights its optimal trade-off for applications requiring frequent opening proofs and aggregation.

etymology
ACADEMIC FOUNDATIONS

Etymology and Origin

The KZG commitment scheme is a cornerstone of modern cryptographic protocols, with its name and functionality deeply rooted in theoretical computer science.

The KZG commitment scheme, formally known as the Kate-Zaverucha-Goldberg commitment, is named for its three creators: Aniket Kate, Gregory M. Zaverucha, and Ian Goldberg, who introduced the scheme in their 2010 paper, 'Constant-Size Commitments to Polynomials and Their Applications'. This naming convention is standard in academia, where cryptographic primitives are often identified by their authors, such as RSA (Rivest–Shamir–Adleman) or ECDSA (Elliptic Curve Digital Signature Algorithm). The scheme's development was driven by the need for efficient, constant-sized polynomial commitments, a critical component for verifiable secret sharing and, later, scalable blockchain proofs.

The scheme's theoretical foundation lies in pairing-based cryptography and the security of bilinear groups. It leverages the algebraic structure of elliptic curves to allow a prover to commit to a polynomial by evaluating it at a secret point, known only to a trusted setup. This construction enables powerful properties: the commitment size is a single group element (constant), and proofs for evaluations (e.g., proving f(z) = y) are also constant-sized and can be verified quickly. These characteristics made it a revolutionary tool, solving a key bottleneck in constructing succinct non-interactive arguments of knowledge (SNARKs).

While groundbreaking, KZG's initial adoption was limited to niche cryptographic applications. Its trajectory changed dramatically with the advent of Ethereum's scaling efforts. Researchers recognized KZG commitments as the ideal vector commitment for data availability sampling in proto-danksharding (EIP-4844), where they are used to commit to blobs of data. This application cemented its transition from an academic construct to a production-grade cryptographic primitive, forming the backbone of modern layer-2 rollups like zkSync and Scroll, which rely on its properties for efficient and verifiable data handling.

key-features
KZG COMMITMENT SCHEME

Key Features

The KZG (Kate, Zaverucha, Goldberg) commitment scheme is a cryptographic primitive that allows a prover to commit to a polynomial and later prove evaluations of that polynomial without revealing it. It is a foundational component for modern scalability solutions like Ethereum's Proto-Danksharding (EIP-4844).

01

Polynomial Commitment

At its core, KZG is a polynomial commitment scheme. The prover commits to a polynomial f(x) by computing a single, constant-sized KZG commitment C = [f(τ)]G₁, where τ is a secret value (the 'toxic waste') from a trusted setup. This commitment acts as a cryptographic fingerprint of the entire polynomial.

02

Evaluation Proofs

For any point z, the prover can generate a succinct evaluation proof π that f(z) = y, without revealing the polynomial. The verifier checks this proof using the commitment C, the claimed value y, and the point z. This enables efficient verification of data availability in data availability sampling (DAS).

03

Constant-Sized Proofs & Commitments

A key advantage is its constant size. Regardless of the polynomial's degree, both the commitment and the evaluation proof are a single elliptic curve point (e.g., 48 bytes). This makes it ideal for blockchain protocols where on-chain storage and verification costs are critical constraints.

04

Trusted Setup Requirement

KZG requires a one-time, public trusted setup ceremony to generate the Structured Reference String (SRS) containing powers of the secret τ. If τ is leaked, an attacker could create fake proofs. This risk is mitigated by large, decentralized ceremonies like the Ethereum KZG Ceremony.

05

Batch Proofs & Aggregation

Multiple evaluation proofs for the same polynomial can be efficiently batch-verified in a single operation, reducing computational overhead. Furthermore, proofs for different polynomials can be aggregated using techniques like pairing-based cryptography, enabling highly scalable systems.

06

Application: Data Availability Sampling (DAS)

In Ethereum's Danksharding roadmap, KZG commitments enable data availability sampling. Light clients can randomly sample small pieces of a data block and verify, via KZG proofs, that the data is available and correct relative to the block's commitment, ensuring secure scaling without downloading the full block.

how-it-works
KZG COMMITMENT SCHEME

How It Works

A cryptographic protocol enabling efficient verification of polynomial evaluations without revealing the full polynomial, forming the core of modern data availability proofs.

The KZG commitment scheme (named for Kate, Zaverucha, and Goldberg) is a cryptographic construction that allows a prover to commit to a polynomial f(x) of degree d by producing a single, constant-sized commitment. This commitment, often called a KZG commitment, is a point on an elliptic curve derived from the polynomial's evaluation at a secret value. The scheme's power lies in its ability to generate a succinct proof that a claimed evaluation f(z) = y at a specific point z is correct relative to the original commitment, without needing to reveal the polynomial itself.

The protocol's security relies on a trusted setup that generates a Structured Reference String (SRS), consisting of powers of a secret value τ (tau) hidden within elliptic curve points. The prover uses this SRS to compute the commitment. To verify an evaluation proof, a verifier uses the public SRS, the commitment, the claimed point z, and the claimed value y. The verification involves a single pairing check on elliptic curves, which is computationally efficient and produces a constant-sized proof, regardless of the polynomial's degree.

A key property of KZG is its support for polynomial commitment schemes operations. Beyond simple evaluations, it enables batch proofs for multiple points and allows for the construction of opening proofs that demonstrate the polynomial's consistency across different commitments. This makes it ideal for cryptographic applications requiring succinctness and fast verification, such as verifiable secret sharing and zero-knowledge proofs.

In blockchain scaling, KZG is the foundational primitive for data availability sampling (DAS) in proto-danksharding (EIP-4844) and full danksharding. Here, data is encoded into a polynomial, and its KZG commitment is published on-chain. Light clients can then randomly sample small pieces of the data and verify, via KZG proofs, that those pieces are consistent with the on-chain commitment, ensuring the full data is available without downloading it entirely.

Compared to other commitment schemes like Merkle trees, KZG offers constant-sized proofs and verification time, a crucial advantage for scalability. However, it requires the one-time trusted setup, which introduces a cryptographic assumption. Despite this, its efficiency and elegant algebraic properties have made it the standard for next-generation blockchain data availability layers and advanced cryptographic protocols.

trusted-setup-ceremony
CRYPTOGRAPHIC FOUNDATION

The Trusted Setup Ceremony

A trusted setup ceremony is a multi-party computation protocol used to generate the initial cryptographic parameters, or Structured Reference String (SRS), required by certain zero-knowledge proof systems like KZG polynomial commitments.

In cryptographic systems such as the KZG commitment scheme, a trusted setup is required to create a common reference string that all participants must trust. If a single party generates this string in secret, they gain the power to create fraudulent proofs, undermining the entire system's security. A trusted setup ceremony mitigates this risk by distributing the generation process across multiple, potentially adversarial, participants. Each participant contributes a piece of random secret data, and the final SRS is computed from the combination of all contributions. The crucial security property is that as long as at least one participant is honest and destroys their secret, the final parameters are secure.

The most famous example is the Perpetual Powers of Tau ceremony for the Groth16 proving system, but the concept is fundamental to KZG as used in Ethereum's data availability sampling via EIP-4844. In a typical ceremony, each participant receives the output from the previous contributor, performs a computation with their own secret (often called a "toxic waste"), and publishes the result while securely discarding their secret. This process creates a sequential chain of trust. The ceremony's security relies on the computational infeasibility of the Discrete Logarithm Problem to prevent colluding participants from reconstructing the final secret.

While a trusted setup ceremony is an improvement over a single trusted party, it is not perfectly trustless. It introduces a weaker security assumption compared to transparent setups (like those used in STARKs) that require no secrets. The security model is often described as a "1-of-N" trust assumption. To maximize trust minimization, ceremonies aim for a large, diverse, and publicly verifiable set of participants, sometimes using MPC-in-the-head techniques to allow verification without revealing secrets. The generated SRS is then used indefinitely by the proving system, making the ceremony a critical, one-time foundational event for the protocol's lifespan.

ecosystem-usage
KZG COMMITMENT SCHEME

Ecosystem Usage

The Kate-Zaverucha-Goldberg (KZG) commitment scheme is a cryptographic primitive enabling efficient polynomial commitments, forming the bedrock for modern data availability and scaling solutions.

01

Data Availability Sampling (DAS)

KZG commitments are the core cryptographic component enabling Data Availability Sampling (DAS). In Ethereum's danksharding roadmap, nodes can verify the availability of large data blobs by randomly sampling small chunks, relying on the KZG commitment's binding property to guarantee the entire data is present and correct.

02

EIP-4844 (Proto-Danksharding)

EIP-4844, or proto-danksharding, introduced blob-carrying transactions to Ethereum. It uses KZG commitments to commit to blob data, allowing Layer 2 rollups to post data cheaply while enabling the network to verify its availability without storing it long-term. This is a critical scaling upgrade.

03

Verifiable Secret Sharing

Beyond blockchains, KZG's properties make it ideal for Verifiable Secret Sharing (VSS) protocols. A dealer can commit to a secret polynomial, generate shares for participants, and provide a proof that the shares are consistent with the commitment, enabling robust distributed key generation and threshold cryptography.

04

Polynomial Interactive Oracle Proofs (PIOPs)

KZG is a foundational tool in constructing succinct non-interactive arguments of knowledge (SNARKs). Many modern SNARKs, like Plonk, use a KZG-based Polynomial Commitment Scheme (PCS) as a core subroutine to efficiently commit to and later reveal evaluations of polynomials that represent a computation's execution trace.

05

Trusted Setup Requirement

A key operational consideration is the trusted setup ceremony. Generating the necessary Structured Reference String (SRS) for KZG requires a one-time, collaborative ceremony where participants must destroy their secret "toxic waste." The security of all subsequent commitments depends on at least one participant being honest.

06

Comparison to Other Commitments

KZG is favored for its constant-sized proofs and efficient verification. Key comparisons:

  • vs. Merkle Trees: KZG proofs are O(1) size vs. O(log n); verification is constant time.
  • vs. Inner Product Arguments (IPA): KZG requires a trusted setup but offers simpler aggregation.
  • vs. FRI: KZG is non-interactive and more efficient for certain proof systems.
security-considerations
KZG COMMITMENT SCHEME

Security Considerations

The KZG (Kate, Zaverucha, Goldberg) polynomial commitment scheme provides cryptographic proof that a polynomial has been evaluated correctly, forming the basis for modern data availability proofs. Its security relies on specific cryptographic assumptions and trusted setups.

03

Binding vs. Hiding Properties

A KZG commitment is computationally binding and perfectly hiding.

  • Binding: It is infeasible to find two different polynomials that commit to the same value.
  • Hiding: The commitment reveals no information about the committed polynomial. This ensures data privacy in applications like data availability sampling (DAS) where only the commitment is initially broadcast.
04

Proof Forgery & Adversarial Models

In the standard model, forging a KZG proof is computationally infeasible under the t-SDH assumption. However, security analysis must consider adversarial models where:

  • The prover is malicious (trying to prove false statements).
  • The verifier is malicious (trying to extract secret data).
  • Third parties observe the proof and commitment. KZG's properties are designed to be secure against these models when the trusted setup is valid.
05

Implementation Risks

Real-world security depends on correct implementation of:

  • Pairing functions on elliptic curves (e.g., BLS12-381).
  • Polynomial arithmetic in finite fields.
  • Proof batching and aggregation. Bugs in these complex cryptographic libraries can lead to vulnerabilities, even if the underlying math is sound. Audits and formal verification are essential.
CRYPTOGRAPHIC PROPERTIES

Comparison with Other Commitment Schemes

A technical comparison of KZG polynomial commitments with other major commitment schemes used in blockchain protocols, focusing on proof size, verification speed, and cryptographic assumptions.

FeatureKZG (Kate) CommitmentMerkle TreeVector Commitment (e.g., IPA)

Proof Size

48 bytes (constant)

O(log n) (scalable)

O(log n) (scalable)

Verification Time

Constant (pairing check)

O(log n) (hash operations)

O(log n) (group operations)

Cryptographic Assumption

Pairing-Friendly Groups

Collision-Resistant Hash

Discrete Log (groups)

Aggregation Support

Trusted Setup Required

Update Proof Size (single element)

Constant

O(log n)

O(log n)

Quantum Resistance

KZG COMMITMENT SCHEME

Frequently Asked Questions (FAQ)

A cryptographic primitive enabling efficient verification of polynomial evaluations, forming the bedrock of modern data availability and scaling solutions like EIP-4844 and danksharding.

A KZG commitment is a cryptographic fingerprint, or binding proof, for a polynomial, created using a trusted setup. It allows a prover to demonstrate they know a specific polynomial and can later reveal its evaluation at any point without disclosing the entire polynomial. The commitment is a single group element (e.g., an elliptic curve point) that is succinct and constant-sized, regardless of the polynomial's degree. This property is crucial for blockchain scalability, as it enables the compression of large data blocks (like those in blob-carrying transactions) into a tiny, easily verifiable commitment.

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
KZG Commitment Scheme: Cryptographic Polynomial Commitments | ChainScore Glossary