Skip to content

Full Execution Proofs (FEP)

What are Full Execution Proofs?

Full Execution Proofs (FEP) are zero-knowledge proofs that validate the correctness of a chain’s entire state transition. They ensure that the virtual machine (VM) underlying the chain (e.g., Polygon zkEVM, Succinct’s zkVM, or MoveVM) executes state transitions in compliance with the protocol’s specifications.

Key features:

  • Comprehensive validation: Verifies that all state transitions adhere to predefined rules.
  • Scalability: Supports high-throughput applications in both rollup and validium modes.
  • Interoperability: Facilitates seamless interactions across Layer 2 chains and with Ethereum Layer 1.

By leveraging Full Execution Proofs, CDK configs help achieve scalability, security, and interoperability tailored to specific use cases.


Why use Full Execution Proofs?

  • Security: Ensures that all state transitions on the chain are executed correctly.
  • Flexibility: Supports multiple configs, including rollup and validium modes, balancing scalability and security.
  • Developer-friendly: Simplifies the process of building and deploying Layer 2 solutions with pre-built components.

Full Execution Proofs provide developers with tools to build robust, secure, and interoperable Layer 2 chains.

How Full Execution Proofs work

Full Execution Proofs validate the entire state transition of a chain using cryptographic proofs. These proofs are generated by the chain’s prover and submitted to Ethereum Layer 1 for validation.

Workflow:

  1. Transaction submission: Transactions are sent to the chain’s sequencer.
  2. State transition execution: The virtual machine executes all state transitions on the chain.
  3. Proof generation: The prover generates zero-knowledge proofs for the executed state transitions.
  4. Validation: Proofs are submitted to Ethereum Layer 1 for verification.

This ensures that state transitions are secure, trustless, and fully validated.


Architectural components of CDK configs with FEP

Component Repository Notes
Node (RPC and Sequencer) cdk-erigon Customizable; typically:
- Sequencer = 1 node
- RPC = multiple nodes
Prover zkevm-prover Generates zero-knowledge proofs
Contracts zkevm-contracts Includes Layer 1 contracts for zk-rollup and validium functionality
CLI tool cdk Simplifies deployment and configuration
Transaction pool manager zkevm-pool-manager Manages transaction storage
Aggregator cdk Combines multiple proofs for efficient validation
Data availability cdk-data-availability Optional; used for validium configs

Component descriptions

  • Node (RPC and Sequencer): A fork of Erigon responsible for managing multiple RPC nodes and running a sequencer to execute transactions and create blocks and batches.
  • Prover: A cryptographic tool that generates zero-knowledge proofs for zk-rollup and validium configs.
  • Contracts: Smart contracts deployed on Ethereum Layer 1 to implement zk-rollup and validium functionality:
  • PolygonRollupManager
  • PolygonZkEVMBridgeV2
  • PolygonZkEVMGlobalExitRootV2
  • FflonkVerifier
  • PolygonZkEVMDeployer
  • PolygonZkEVMTimelock
  • CLI tool: Simplifies the deployment and configuration of CDK components through an intuitive command-line interface.
  • Transaction pool manager: Stores and manages user-submitted transactions.
  • Aggregator: Combines multiple proofs into a single proof for submission to Ethereum, optimizing the validation process.
  • Data availability: Ensures transaction data integrity; optional for validium configs.

Support services

Bridge services

  • Bridge service: A backend service enabling interactions with bridge contracts via Merkle proofs.
  • Bridge UI: A user-friendly portal for managing deposits and withdrawals.

Explorer services

  • Blockscout: Recommended for inspecting transactions and proofs. Alternative explorers can also be used.