Core Concepts
Program Flow

Program Flow

The following is a high-level overview of the interactions involved:

  1. End User Action – the end user wants to prove the correct execution of a program. Some examples include proving the correctness of blockchain transactions, validating new rollup states, verifying smart contract function calls, etc.
  2. Program Execution – the program runs in zkMIPS’ execution environment.
  3. Proof Generation – a proof for the program’s correct execution is generated by zkMIPS and can be outsourced to ZKM’s Proof Network.
  4. Proof Verification – once the zkMIPS proof is generated, a verifier contract will be run on a destination chain to verify the proof.
  5. Settlement – in the case of proving the correctness of blockchain transactions, once the proof is verified on-chain, the transaction is considered to be settled.