This app runs inside the BotSurf browser. Don't have it yet? Get the app or extension now!

Generate Plonk Proof

Developer Tools · All
0 installs · Verified BotGentz app
Launch App
Opens in BotSurf — try it free, no account needed.
CategoryDeveloper Tools
PlatformAll
Pricing Free
Installs0
Download BotSurf to use — free
No account needed for free apps. Once BotSurf is open, find this app in Apps from the + menu.

About this app

WHAT IT DOES

Generate Plonk Proof enables you to produce PLONK (Permutations over Lagrange-bases for Oecumenical Noninteractive arguments of Knowledge) zero-knowledge proofs, a next-generation zk-SNARK proof system that improves upon Groth16 with a universal trusted setup and faster proof generation. PLONK is widely adopted in modern blockchain applications including zkEVM rollups, privacy-preserving smart contracts, and scalable verification systems. The tool takes circuit inputs (JSON or text), a proving key, and a verification key, and generates a complete PLONK proof that demonstrates knowledge of inputs satisfying a circuit without revealing those inputs. The PLONK proof system uses polynomial commitments and permutation arguments to achieve efficient verification with a universal setup, meaning the same setup can be reused for different circuits. This tool supports the bn128 curve (standard for EVM compatibility) and generates proofs compatible with standard verification libraries.

HOW TO USE

Connect your wallet using the BGWallet connector (required for context). Select the input format: "JSON" for structured inputs (recommended) or "Text" for simple single-value inputs. Enter the circuit inputs in the text area—these should match the structure expected by your circuit (e.g., {"a": "123", "b": "456"} for a simple arithmetic circuit). Paste your circuit-specific proving key as a hex string with 0x prefix. Paste your verification key as a hex string with 0x prefix. Click "Generate Proof" to run the proof generation process. The tool displays the input format, key lengths, and the generated proof, which includes the polynomial commitment elements (A, B, C, Z, T1, T2, T3, W, W') and metadata. You can copy the complete proof to your clipboard for use with smart contracts or off-chain verification systems.

TECHNICAL MECHANISM

This tool implements PLONK proof generation following the PLONK arithmetization scheme. The circuit is represented as a set of gates with wire connections, which are encoded into polynomials using Lagrange interpolation. The proving process involves computing the witness assignments, constructing the permutation polynomial Z, and committing to the polynomial A, B, and C using a polynomial commitment scheme (typically KZG). The PLONK proof consists of multiple polynomial commitments and evaluation proofs: the wire polynomials A, B, C; the grand product polynomial Z; the quotient polynomials T1, T2, T3; and the opening proofs W and W'. The proof is generated using the bn128 curve and the KZG polynomial commitment scheme, which requires the proving key (including the SRS powers of tau). The proof generation involves multiple scalar multiplications and polynomial evaluations, making it computationally intensive but optimized for performance. The tool uses the bn128 curve for all operations, ensuring compatibility with Ethereum's pairing precompiles for fast on-chain verification.

WHAT IT CANNOT SEE

This tool cannot verify that the inputs correspond to actual on-chain state or values—you must ensure the inputs are correct and match the circuit's expected format. It does not support all ZK proof systems (only PLONK). The tool cannot generate proofs without the circuit-specific proving and verification keys; both are required for generation. It does not support hardware acceleration for proof generation; all computation is done in software in the browser. The tool cannot verify the correctness of the proving key without additional trust assumptions; you must trust the key generation ceremony. It does not support proof generation for circuits larger than browser memory limits; very large circuits may cause performance issues or errors. The tool cannot guarantee the security of the generated proof if the proving key is compromised; key integrity is essential for security. It does not support proof aggregation or recursive proofs; it only generates a single proof for a single input. The tool cannot generate proofs for circuits with mutable or dynamic parameters; the circuit and keys must be fixed. It does not support all PLONK variants or customized PLONK circuits beyond the standard implementation.

PLEASE NOTE

This tool is designed for developers working with PLONK zk-SNARKs, which are increasingly adopted in modern blockchain applications due to their universal setup and efficient proof generation. PLONK uses a universal trusted setup, meaning the same SRS can be used for any circuit of up to a certain size, unlike Groth16 which requires circuit-specific setups. The proof is structured with multiple polynomial commitments and opening proofs, which can be verified using standard PLONK verification libraries. The tool uses the bn128 curve for compatibility with Ethereum's pairing precompiles, enabling efficient on-chain verification. The input format must match the circuit's expectations exactly; mismatches will cause the proof generation to fail. The tool uses pure JavaScript for cryptographic operations, which may be slower than native implementations but works entirely in the browser. Always verify the generated proof using the verification key before using it in production systems. The proof is deterministic for a given set of inputs and keys, making it suitable for reproducible builds and testing.

Similar Apps

Log in to BotGentz

Suggest an App

Tell us what you'd find useful — if we build it, we'll email you the moment it's ready.