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 Commitments

A cryptographic polynomial commitment scheme, based on a trusted setup, used to create succinct proofs for data availability and validity in blockchain scaling protocols.
Chainscore © 2026
definition
CRYPTOGRAPHIC PRIMITIVE

What are KZG Commitments?

KZG commitments are a cryptographic tool for creating a succinct, binding proof for a polynomial, enabling efficient verification of data integrity without revealing the underlying data.

A KZG commitment (named for its creators Kate, Zaverucha, and Goldberg) is a cryptographic scheme that allows a prover to commit to a polynomial f(x) by publishing a single, constant-sized value, the commitment C. This commitment acts as a binding fingerprint for the entire polynomial. The core property is that the prover can later generate a short proof, known as an opening proof or witness, to convince a verifier that f(z) = y for a specific point z without revealing the polynomial's other coefficients. This is made possible by constructing the proof in a pairing-friendly elliptic curve group.

The security of KZG commitments relies on cryptographic pairings and the t-SDH (Strong Diffie-Hellman) assumption. The commitment is computed as C = f(τ) * G, where τ is a secret toxic waste value that must be destroyed after a trusted setup ceremony. The verifier uses a pairing check e(C - y * G, G) == e(π, z * G₂ - τ * G₂) to validate an opening proof π. This elegant mathematical structure provides perfect completeness (a valid proof always verifies) and perfect hiding (the commitment reveals nothing about the polynomial).

In blockchain scaling, KZG commitments are the foundation for data availability sampling (DAS) in Ethereum's danksharding roadmap and for constructing zero-knowledge succinct non-interactive arguments of knowledge (zk-SNARKs). By committing to a polynomial whose evaluations represent data blocks, a network can use KZG to generate compact proofs that specific data is available and correct. This allows light clients to verify data availability by checking random samples with tiny proofs, a critical improvement over downloading entire data blobs.

Compared to other commitment schemes like Merkle trees, KZG offers constant-sized proofs and verification time, regardless of the polynomial's degree or data size. However, it requires a one-time, trusted setup to generate the Structured Reference String (SRS) containing powers of the secret Ï„. This setup is considered a potential weakness, mitigated by ceremonies with many participants. Its efficiency makes it ideal for applications demanding high throughput and low verification overhead, such as rollup validity proofs and verifiable secret sharing.

etymology
TERM ORIGINS

Etymology and Origin

The name 'KZG' is an acronym derived from the surnames of its three creators, a common practice in cryptography for naming protocols and primitives.

The KZG commitment scheme, formally known as the Kate-Zaverucha-Goldberg commitment, was introduced in a 2010 paper titled 'Constant-Size Commitments to Polynomials and Their Applications' by Aniket Kate, Gregory M. Zaverucha, and Ian Goldberg. Its development was driven by the need for efficient cryptographic proofs about polynomial evaluations, a core requirement for advanced cryptographic protocols like verifiable secret sharing and, later, scalable blockchain data structures.

The scheme's innovation lies in its use of pairing-based cryptography and trusted setup. It allows a prover to commit to a polynomial of degree d with a single, constant-sized group element—a KZG commitment. This commitment can later be used to generate a constant-sized proof that the polynomial evaluates to a specific value at a given point, without revealing the entire polynomial. This property of evaluation binding and hiding is foundational.

The cryptographic backbone of KZG commitments is elliptic curve pairings, specifically a bilinear map between groups. The trusted setup, often called a Structured Reference String (SRS) or Common Reference String (CRS), generates the public parameters needed for the scheme. This setup involves creating a secret value tau (Ï„) that is then 'forgotten'; its security relies on the trusted setup ceremony where multiple participants ensure the original secret is destroyed.

KZG's journey from academic cryptography to blockchain prominence began with its adoption in Ethereum's scaling roadmap. It is the core polynomial commitment scheme for EIP-4844 (Proto-Danksharding), where it commits to large data blobs, and for Verkle trees, a proposed replacement for Merkle Patricia Tries. Its efficiency in generating small, constant-sized proofs makes it ideal for reducing data load in Layer 2 rollups and sharding architectures.

The term is often used interchangeably with polynomial commitment scheme, though KZG is a specific, highly efficient instantiation of that broader concept. Related terms include Kate commitment, IPA (Inner Product Argument), and FRI (Fast Reed-Solomon Interactive Oracle Proof), which are alternative commitment schemes with different trust and performance trade-offs.

key-features
KZG COMMITMENTS

Key Features

KZG (Kate-Zaverucha-Goldberg) commitments are a cryptographic primitive that allows a prover to commit to a polynomial and later generate a succinct proof that the polynomial evaluates to a specific value at a given point, without revealing the polynomial itself.

01

Polynomial Commitment Scheme

A KZG commitment is a cryptographic fingerprint of a polynomial. It allows a prover to commit to a polynomial f(x) by publishing a single group element C = f(Ï„) * G, where Ï„ is a secret toxic waste value that must be destroyed. This commitment is binding (the prover cannot change the polynomial) and hiding (the commitment reveals nothing about the polynomial).

02

Succinct Evaluation Proofs

For any point z, the prover can generate a witness or proof π that proves f(z) = y. This proof is a single group element, verifiable with a constant-time computation using the public Structured Reference String (SRS). This enables data availability sampling (DAS) in Ethereum's danksharding, where a small proof can attest to the correctness of a large data block.

03

Trusted Setup Requirement

KZG requires a one-time trusted setup to generate the public parameters (SRS). A group of participants runs a multi-party computation (MPC) ceremony to compute powers of the secret Ï„. As long as one participant is honest and destroys their secret share, the final Ï„ remains unknown, making the system secure. The Ethereum community conducted such a ceremony for EIP-4844.

04

Vector Commitment & Data Availability

By interpreting a data blob as coefficients of a polynomial, KZG acts as a vector commitment. Committing to the polynomial commits to all the data. This is the foundation for proto-danksharding (EIP-4844), where blob data is committed to using KZG, allowing light clients to efficiently verify data availability with small proofs.

05

Comparison to Other Schemes

  • vs. Merkle Trees: KZG proofs are constant size (~48 bytes) vs. logarithmic for Merkle proofs. Verification is also constant-time.
  • vs. FRI (STARKs): KZG is more efficient but requires a trusted setup. FRI is transparent (no setup) but generates larger proofs.
  • vs. IPA (Bulletproofs): KZG proofs are smaller and faster to verify, making them ideal for blockchain scalability where proof size is critical.
06

Applications in Ethereum

KZG is a core component of Ethereum's rollup-centric roadmap:

  • EIP-4844 (Proto-Danksharding): Commits to blob-carrying transactions.
  • Verkle Trees: A proposed replacement for Merkle Patricia Tries, using KZG to create extremely shallow proofs for state witnesses.
  • Data Availability Sampling (DAS): Enables light clients to confirm data is available by checking random samples with KZG proofs.
how-it-works
CRYPTOGRAPHIC PRIMITIVE

How KZG Commitments Work

KZG commitments are a foundational cryptographic tool in modern blockchain scaling, enabling efficient and verifiable data availability proofs without requiring the full data to be present.

A KZG commitment (Kate-Zaverucha-Goldberg) is a cryptographic scheme that allows a prover to commit to a polynomial, creating a short, fixed-size cryptographic fingerprint called a commitment. The core property is that the prover can later generate a succinct proof, known as an opening proof or witness, that the polynomial evaluates to a specific value at a given point, without revealing the entire polynomial. This proof can be verified against the original commitment with constant time and space complexity, making it exceptionally efficient for blockchain applications like data availability sampling (DAS) and proto-danksharding.

The scheme relies on pairing-based cryptography and requires a trusted setup ceremony to generate a structured reference string (SRS). This SRS consists of secret powers of a randomly generated value, which must be destroyed after the ceremony to ensure security. Once established, any party can use the public parameters of the SRS to commit to a polynomial by evaluating it on a secret group element hidden within the SRS. The resulting commitment is a single elliptic curve point, providing a binding and hiding cryptographic seal on the polynomial's coefficients.

To prove a specific evaluation, say that polynomial f(x) equals y at point z, the prover computes a quotient polynomial q(x) = (f(x) - y) / (x - z). The KZG opening proof is simply a commitment to this quotient polynomial. A verifier, using the original commitment to f(x), the point z, the claimed value y, and this new quotient commitment, can leverage a bilinear pairing to check the proof's validity in constant time. This elegant verification is the source of KZG's succinctness.

In blockchain contexts like Ethereum's EIP-4844, KZG commitments are used to commit to large data blobs. Validators only need to store the small KZG commitment (48 bytes) instead of the full blob. They can then perform data availability sampling by randomly selecting points, requesting the corresponding opening proofs from the network, and verifying them against the commitment. This allows the network to achieve high confidence that the data is available without any single node downloading it entirely, which is the cornerstone of scalable layer-2 rollups and sharding designs.

The primary trade-offs of KZG are its requirement for a trusted setup and its reliance on relatively newer pairing-friendly elliptic curves. However, its properties of constant-sized proofs, fast verification, and the ability to perform batch verification for multiple proofs simultaneously make it the preferred cryptographic primitive for modern data availability solutions over older alternatives like Merkle trees, which have logarithmic proof sizes.

visual-explainer
VISUAL EXPLAINER

KZG Commitments

A technical deep dive into the cryptographic primitive that powers modern data availability and scaling solutions.

A KZG commitment (Kate-Zaverucha-Goldberg) is a cryptographic scheme that allows a prover to commit to a polynomial with a single, short value, enabling efficient verification of evaluations without revealing the polynomial itself. This is a form of polynomial commitment scheme, a foundational tool for constructing succinct non-interactive arguments of knowledge (SNARKs). The commitment acts as a binding fingerprint for the data, represented as a polynomial, and is constructed using trusted setup parameters.

The core mechanism relies on elliptic curve pairings. To commit, the prover evaluates their secret polynomial at a secret point from the trusted setup, generating a single point on an elliptic curve. This point is the commitment. Later, to prove that the polynomial evaluates to a specific value at a given point, the prover can generate a witness or opening proof. A verifier can check this proof against the original commitment using a pairing equation, confirming the claim's validity with near-instant computation.

A key property is evaluation binding: it's computationally infeasible to find two different polynomials that produce the same commitment. This ensures data integrity. Furthermore, the scheme is hiding, meaning the commitment reveals no information about the underlying data. These properties make KZG ideal for applications where large datasets must be represented and verified with minimal overhead, forming the bedrock of Ethereum's Proto-Danksharding (EIP-4844).

In practice, KZG commitments enable data availability sampling (DAS). In blockchain scaling, a block's data can be encoded into a polynomial and committed with KZG. Light clients can then randomly sample small pieces of the data and use the commitment to verify their correctness, trusting that the entire dataset is available without downloading it. This is a more efficient alternative to Merkle trees for certain proofs, as verification is constant-sized and does not grow with the data's size.

The primary drawback is the requirement for a trusted setup ceremony to generate the secret parameters (the Structured Reference String or SRS). While one-time ceremonies like Ethereum's KZG Ceremony mitigate this risk by distributing trust among many participants, it remains a theoretical concern. Despite this, its superior proof size and verification speed have made KZG the leading commitment scheme for next-generation Layer 2 rollups and sharding architectures.

ecosystem-usage
KZG COMMITMENTS

Ecosystem Usage

KZG (Kate-Zaverucha-Goldberg) commitments are a cryptographic primitive enabling efficient polynomial commitment schemes, forming the bedrock for modern scalable blockchain architectures like Ethereum's Proto-Danksharding (EIP-4844).

02

Data Availability Sampling (DAS)

KZG commitments make light client verification practical. Instead of downloading megabytes of data, a light client can request random small samples of the blob. Using the KZG commitment and a proof, the client can cryptographically verify that each sample is correct, ensuring the entire data is available. This is fundamental to scalability and security in sharded blockchains.

  • Function: Enables probabilistic verification of data availability.
  • Benefit: Drastically reduces the hardware requirements for network participants.
03

Polynomial Commitments in zk-SNARKs

KZG is a specific type of polynomial commitment scheme used within advanced zero-knowledge proof systems like PLONK and Groth16. It allows a prover to create a short commitment to a polynomial and later generate succinct proofs (e.g., evaluation proofs) that a committed polynomial evaluates to a certain value at a given point, without revealing the polynomial.

  • Use Case: Core building block for the arithmetic circuit representations in zk-SNARKs.
  • Advantage: Provides constant-sized proofs and verification time.
04

Trusted Setup Requirement

A critical operational consideration is the trusted setup ceremony (e.g., Ethereum's KZG Ceremony). To generate the necessary public parameters (the Structured Reference String - SRS), a one-time multi-party computation is required. If all participants are honest and destroy their secret shares, the system is secure. This introduces a trust assumption that is carefully mitigated through large, transparent ceremonies.

  • Ceremony Example: Ethereum's KZG Ceremony involved >140,000 contributions.
  • Implication: A compromised setup could allow forging of commitments.
05

Verkle Trees (Future Ethereum State)

KZG commitments are a leading candidate to replace Merkle Patricia Tries in Ethereum's state tree, creating a Verkle Tree. This structure uses vector commitments (like KZG) to commit to multiple values at each node, enabling extremely efficient proofs (witnesses) for state access. This is crucial for stateless clients and reducing witness sizes.

  • Benefit: Witness sizes are constant, not logarithmic as in Merkle trees.
  • Goal: Enable lightweight validation of Ethereum state without storing it.
06

Alternative: IPA & FRI

While KZG is prominent, other commitment schemes exist. Inner Product Argument (IPA) is used in Bulletproofs and does not require a trusted setup. Fast Reed-Solomon IOPP (FRI) is used in STARKs and is also transparent (no trusted setup). The choice involves trade-offs:

  • KZG: Trusted setup, constant-sized proofs, fast verification.
  • IPA/FRI: Transparent setup, larger proof sizes, different security assumptions.

This diversity drives innovation in cryptographic proving systems.

security-considerations
KZG COMMITMENTS

Security Considerations

KZG (Kate-Zaverucha-Goldberg) commitments provide cryptographic proofs for data availability, but their security relies on a trusted setup and specific mathematical assumptions.

03

Data Availability vs. Correctness

A KZG commitment only guarantees data availability—it proves that the prover has the full data and can open any part of it. It does not guarantee the data is semantically correct or follows protocol rules. For example, a malicious block producer could commit to a block full of invalid transactions. Layer-2 validity proofs or fraud proofs are still required to ensure state transition correctness.

04

Implementation Risks

As with any cryptographic primitive, implementation flaws can introduce vulnerabilities.

  • Side-channel attacks: Timing or power analysis could leak secret keys during proof generation.
  • Library bugs: Errors in pairing or elliptic curve arithmetic libraries.
  • Parameter selection: Using an insecure elliptic curve or a weak SRS. Robust, audited libraries (like blst or arkworks) and constant-time implementations are critical for production use.
05

Comparison to Fraud Proofs

KZG provides cryptographic certainty of data availability, unlike fraud-proof systems which offer only economic security. With KZG, a single honest node can verify availability instantly. Fraud proofs require a challenge period and rely on at least one honest node to detect and report fraud. The trade-off is KZG's trusted setup and computational cost versus fraud proofs' simpler cryptography but slower finality.

06

Long-Term Security & Upgradability

The one-time trusted setup is a long-term security consideration. If a vulnerability is later discovered in the chosen elliptic curve (e.g., a breakthrough in solving discrete logs), the entire system depending on that SRS may need to be upgraded, requiring a new ceremony. Protocol designers must plan for this cryptographic agility, potentially using modular commitment schemes that can be swapped out.

COMPARISON

KZG vs. Other Commitment Schemes

A technical comparison of KZG polynomial commitments with other major cryptographic commitment schemes, highlighting their properties for use in blockchain scaling and zero-knowledge proofs.

Feature / PropertyKZG (Kate) CommitmentsMerkle TreesInner Product Arguments (IPA)FRI (Fast Reed-Solomon IOPP)

Cryptographic Assumption

Pairing-Friendly Elliptic Curves

Cryptographic Hash Function

Discrete Log / Bulletproofs

Cryptographic Hash Function

Proof Size (Constant?)

Proof Verification Time

Constant O(1)

Logarithmic O(log n)

Logarithmic O(log n)

Logarithmic O(log n)

Trusted Setup Required

Supports Aggregation

Primary Use Case

ZK-SNARKs, Data Availability Sampling

Simple Inclusion Proofs

Bulletproofs, ZK-Rollups

ZK-STARKs

Quantum Resistance

KZG COMMITMENTS

Frequently Asked Questions

KZG Commitments are a foundational cryptographic primitive enabling efficient data verification in blockchain scaling solutions. These FAQs address their core mechanics, applications, and security model.

A KZG Commitment (Kate-Zaverucha-Goldberg) is a cryptographic scheme that allows a prover to create a short, constant-sized proof (the commitment) representing a large piece of data, typically a polynomial, which can later be used to verify specific data points without revealing the entire dataset. It works by evaluating a secret polynomial at a hidden point, known only to a trusted setup, to generate the commitment. A verifier can then use this commitment to check the correctness of an evaluation at any other point using a small proof, ensuring data availability and integrity with minimal overhead.

Core Mechanism:

  1. Setup: A trusted setup ceremony generates a Structured Reference String (SRS) containing secret values.
  2. Commit: The prover uses the SRS to commit to a polynomial, producing a single group element (e.g., on an elliptic curve).
  3. Open/Prove: To prove the polynomial evaluates to a specific value at a given point, the prover generates a succinct witness.
  4. Verify: The verifier checks the proof against the original commitment and the claimed evaluation, which is efficient and constant-time.
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