Program Flow
The following is a high-level overview of the interactions involved:
- 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.
- Program Execution – the program runs in zkMIPS’ execution environment.
- Proof Generation – a proof for the program’s correct execution is generated by zkMIPS and can be outsourced to ZKM’s Proof Network.
- Proof Verification – once the zkMIPS proof is generated, a verifier contract will be run on a destination chain to verify the proof.
- 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.