Skip to content

Rollup node: asynchronous refutation games

Alain Mebsout requested to merge alain@functori@async-refutations into master

What

This MR makes playing the refutation games completely asynchronous with the rest of the rollup node.

Depends on !11825 (merged).

Why

This way, an operation that is taking too long (such as a IO like a network call, or even a non-interleaved catching up of the L2 chain) or an unexpected failure in the main loop of the rollup node cannot prevent a rollup node from playing refutation games. This change removes some attacks that were possible on the rollup node (to make it timeout on a refutation game and forfeit the operator deposit).

How

The refutation coordinator is called by an independent and asynchronous loop which monitors new L1 blocks on its own.

Manually testing the MR

dune exec tezt/tests/main.exe -- -f sc_rollup.ml refutation

Merge request reports

Loading