ethereum-optimism / cannon

On chain interactive fault prover for Ethereum
MIT License
582 stars 133 forks source link

Epic: Overhaul Challenge Game #80

Closed norswap closed 1 year ago

norswap commented 2 years ago

The game challenge game is a scaffold that was meant to facilitate the Cannon bug bounty. It is not secure as-is, as it assumes an honest defender, doesn't handle bonding (and probably has more issues).

This repository should inform the final design.

norswap commented 1 year ago

Note: it's become clear that the challenge game needs to be rethought completely, but these are nevertheless points of consideration.

ImTei commented 1 year ago

@norswap Can you please elaborate the issue on the challenge game you mentioned?

norswap commented 1 year ago

We essentially need to make it incentive-compatible, such that neither a malicious sequencer nor malicious challenger can cheese the honest parties, incurring cost for them that they don't pay for, or causing delays to the finalization of the state roots.

Arbitrum has a great writeup about these kinds of issue here: https://offchain.medium.com/solutions-to-delay-attacks-on-rollups-434f9d05a07a That should give you an idea of what I'm on about.

protolambda commented 1 year ago

The dispute game is out-of-scope: Cannon only focuses on the fault proof VM part that generates the witness data, and verifies a step onchain. The fault proof program running the L2 state-transition is covered by the op-program in Optimism monorepo. And the Dispute Game is being implemented as a separate project.