Verify KZG Commitment
Free to download on every platform. Comes pre-installed on BotFone, BotPad and BotFlip — with extra free apps included.
About this app
WHAT IT DOES
Verify KZG Commitment enables you to cryptographically verify KZG (Kate-Zaverucha-Goldberg) polynomial commitment evaluation proofs. KZG commitments are a fundamental building block of modern cryptographic proof systems, used extensively in PLONK, Groth16, and other zk-SNARKs, as well as in Ethereum's Danksharding and various blockchain scalability solutions. The tool takes a KZG commitment (a single elliptic curve point), an evaluation point z, a claimed evaluation value y, an evaluation proof (the quotient polynomial commitment), trusted setup parameters (powers of tau, SRS), and a curve selection (bn128 or BLS12-381). It performs the full KZG verification using the pairing equation to confirm that the committed polynomial evaluates to y at point z. If the verification succeeds, the tool returns a valid result, confirming the evaluation proof is correct. This is essential for applications requiring efficient polynomial evaluation verification in smart contracts and zero-knowledge proof systems.
HOW TO USE
Connect your wallet using the BGWallet connector (required for context). Select your curve: bn128 (BN254, Ethereum-compatible) or BLS12-381 (used in newer systems). Enter the KZG commitment as a hex string with 0x prefix. Enter the evaluation point z as a hex string with 0x prefix. Enter the claimed evaluation value y as a hex string with 0x prefix. Enter the evaluation proof as a hex string with 0x prefix. Paste the trusted setup parameters (SRS, powers of tau) as a hex string with 0x prefix. Click "Verify Commitment" to run the verification. The tool displays the curve, commitment, evaluation point, and the verification result: a green "Verified" checkmark if the proof is valid and a red "Invalid" X if it fails. The result includes a detailed explanation of the outcome.
TECHNICAL MECHANISM
This tool implements KZG commitment verification using the pairing operation on the selected elliptic curve (bn128 or BLS12-381). Given a commitment C = [f(τ)]G1 to polynomial f(x), an evaluation proof π = [q(τ)]G1 where q(x) = (f(x) - y) / (x - z), the verifier checks the pairing equation: e(C - [y]G1, G2) = e(π, [τ - z]G2). Here, [τ]G2 is the powers of tau in the G2 group from the trusted setup. The verification uses the bilinear pairing property of the curve to ensure that the quotient polynomial q(x) is correctly formed, which proves that f(z) = y. The tool checks that the trusted setup has sufficient powers to cover the polynomial degree. The verification is performed locally in the browser using cryptographic libraries, with no data sent to external servers.
WHAT IT CANNOT SEE
This tool cannot verify that the polynomial or commitment corresponds to actual on-chain state or values without additional context—you must ensure the commitment and claimed value match the expected data. It does not support all polynomial commitment schemes (only KZG). The tool cannot verify commitments without the trusted setup parameters; the SRS is required for the pairing check. It does not support hardware acceleration for verification; all computation is done in software in the browser. The tool cannot verify the correctness of the trusted setup without additional trust assumptions; you must trust the setup ceremony. It does not support verification of commitments with non-standard curve configurations beyond bn128 and BLS12-381. The tool cannot verify commitments for polynomials with degree larger than the trusted setup supports; the SRS must have enough powers. It does not support batch verification or multi-proof verification; it only verifies a single evaluation proof. The tool cannot recover the polynomial from the commitment or proof—the commitment is one-way and hiding. It requires a trusted setup for security guarantees, which is inherent to KZG commitments. The tool does not support verification of commitments with mutable or dynamic parameters; the trusted setup and curve parameters must be fixed.
PLEASE NOTE
This tool is designed for developers and users working with KZG polynomial commitments, which are fundamental to modern zk-SNARK proof systems and blockchain scalability solutions. The bn128 curve is the standard for Ethereum, used in Groth16 and PLONK on Ethereum. BLS12-381 is used in newer protocols like Danksharding and various zk-rollup implementations. The trusted setup parameters (SRS, powers of tau) must be generated in a multi-party computation ceremony and must have enough powers to cover the polynomial degree. The verification uses the pairing operation, which is computationally intensive but can be optimized. Always verify commitments from trusted sources using a standard KZG verification library before relying on them in production systems. The verification result proves that the evaluation proof is valid, but it does not prove that the commitment itself corresponds to any real-world data without additional context. The tool supports standard KZG verification on bn128 and BLS12-381, the most widely adopted curves in blockchain applications.