Optimistic Rollups: Frauds - lukso-network/network-optimism-integration-test GitHub Wiki

Technical knowledge

Cryptoeconomic Validity Game

At a high level the block submission & validity game is as follows:

  • Aggregators post a security deposit to start producing blocks.
  • Each block contains [access_list, transactions, post_state_root].
  • All blocks are committed to a ROLLUP_CHAIN contract (L1) by a bonded aggregator on a first come first serve basis (or round robin if desired).
  • Anyone may prove a block invalid, winning a portion of the aggregator’s security deposit.

To prove a block invalid you must prove one of the three following properties:

1. INVALID_BLOCK: The committed block is *invalid*. 
   This is calculated with `is_valid_transition(prev_state, block, witness) => boolean`
2. SKIPPED_VALID_BLOCK: The committed block "skipped" a valid block.
3. INVALID_PARENT: The committed block's parent is invalid.

Source: https://medium.com/

Currently, the challenge process of the world state must be completed within 7 days after the corresponding transaction:

    /// The dispute period
    uint256 public constant disputePeriodSeconds = 7 days;

from contracts/optimistic-ethereum/OVM/verification/OVM_BondManager.sol

Closer look on validators:

Source: https://gourmetcrypto.substack.com/

Fraud verification

OVM is the contract on L1 that is a virtual machine for L2 contracts, to verify state transitions. All L1 nodes compute calls to it, when any user proposes fraud. The "Optimistic" L2 chain has its own set of nodes, which may or may not be aggregators as well, and may or may not charge fees to include your L2 TX in a block.

Source: https://medium.com/

In case presented above, the optimistic execution scales because L2 transactions can be replayed on L1 — but only when necessary.

Fraud proof and L1

Only a single non-interactive fraud proof is needed to orphan any number of invalid optimistic rollup blocks (per side chain), making the system resilient to chain congestion. Caveat: as optimistic rollup uses fraud proofs, funds can still be stolen if the main chain is not censorship-resistant.