# Fraud Proof

Optimistic rollups assume the validity of all layer-2 (L2) transaction state transitions unless proven otherwise. As a result, they are also referred to as assertions, as their validity is not predetermined. The verification logic relies on evidence of invalid state transitions to initiate the validation process, with fraud proofs serving as the medium to provide such evidence. The protocol allows for a dispute window during which network participants can come forward to submit fraud proofs disputing states they believe to be incorrect. For most Optimistic rollup protocols, this challenge period typically lasts around 7 days. By default, any transactions without disputes within this timeframe are considered valid.

## Types of Fraud Proofs

Fraud proofs can be categorized into two distinct types: **non-interactive** and **interactive**.

### Non-Interactive Fraud Proofs

Non-interactive fraud proofs use a method where no other parties are needed to prove the incorrectness of an assertion. They basically run all the state transitions between two assertions to establish whether the resultant state is consistent or not. They are simpler to design and implement, but they place limitations on the size of assertions, since the assertions need to be small enough to run with the computational capabilities of the current EVM (Ethereum Virtual Machine) architecture.

### Interactive Fraud Proofs

Interactive fraud proofs, on the other hand, involve two or more parties that work in tandem to verify an assertion, i.e., a party claiming a fraudulent assertion, and a party defending the said assertion. The verifier narrows down the assertion to a single state transition by interacting with the challenger, and eventually only verifies that one transition to establish its validity. This back-and-forth introduces a new level of complexity in the protocol, and it can be harder to design safely. But it has the advantage of not placing any limitations on L1, due to a much smaller volume of actual on-chain execution.

## Fraud Proofs on Mantle Network

### What is Cannon?

Cannon, developed by Optimism, is an on-chain MIPS instruction simulator. It facilitates EVM-equivalent fault proofs as part of an interactive dispute by employing `op-geth`

to execute on-chain instructions one at a time. This process involves on-chain contracts paired with an off-chain simulator.

### Why do we need this in Mantle?

In popular fraud-proof models currently, the contracts responsible for resolving disputes — on-chain validators — can only execute instructions in lower-level virtual machines like MIPS or WASM. This compels the Ethereum Virtual Machine (EVM) client (e.g., `op-geth`

) to recompile fraud proofs into a lower-level language (e.g., MIPs-opcode) for on-chain validators to interpret. Thus, Cannon implements an on-chain contract to simulate MIPs-opcode, enabling the verification of MIPs instructions' execution in the EVM environment. Simultaneously, it implements an off-chain simulator to generate proofs for any MIPS instruction, completing on-chain verification.

Mantle network will use the fraud proof model implemented by Cannon. You can learn more here.