Proving approach
zkProver is the main component of Polygon zkEVM and solely responsible for proving execution correctness. Instead of using the arithmetic circuit model, the zkProver follows the state machine model. The approach therefore is to develop a state machine that allows a prover to create and submit a verifiable proof of knowledge, and anyone can take such a proof to verify it. The process that leads to achieving such a state machine-based system takes a few steps;- Modeling the deterministic computation involved as a state machine, described in the form of an Execution Trace.
- Stating the equations that fully describe the state transitions of the state machine, called Arithmetic Constraints.
- Using established and efficient mathematical methods to define the corresponding polynomials.
- Expressing the previously stated Arithmetic Constraints into their equivalent Polynomial Identities.