Many thanks to Vitalik (EF), Justin (EF), Kelvin (OP) and Gabriel (Cartesi) for feedback and discussion.
The goal of this post is to bootstrap a discussion around a socially agreeable challenge period lower bound for optimistic rollups and, by consequence, around Ethereum’s strong censorship resistance guarantees.
Today, optimistic rollups add up to 91.9% of the total value secured by all rollups. We (L2BEAT), recently started to enforce a ≥7d challenge period requirement to be classified as Stage 1, which has sparked a debate on where this number comes from and how we can assess if it is appropriate. We feel it’s time to better formalize this value and either update it or ratify it as the community standard, as some projects have already started to argue that lower challenge periods might be equivalently safe.
The biggest misconception around challenge periods is the belief that they are set based on the time it takes to perform the interaction between two parties in a multi-round challenge. If the number of interactions is reduced, at the extreme to 1 with non-interactive protocols (example), it is sometimes suggested that the challenge period can be significantly reduced too.
The reality is that the challenge period has been originally set to allow a social response in case of a 51% consensus attack and prevent funds from being stolen. It’s important to note that, on L1, a strong censorship attack cannot cause funds sitting on a simple account to be stolen.
As far as we know, the details of such social response have never been precisely discussed.
There are two main ways optimistic rollups keep track of the time left to participate in a challenge: either with a global timer, or with a chess clock model. The first type is the simplest form and it is mainly employed by single-round challenge protocols.
The second type is used by multi-round protocols such as OPFP, BoLD or Dave, to prevent the attacker from wasting the honest players available time by not acting when it’s their turn. In practice, for each challenge two clocks are created, one for the asserter and one for the challenger, and the time from a clock is consumed only when it’s its owner time to make a move, and stops from getting consumed when it’s the other player’s turn. If a clock runs out of time, the other players win.
Funds can be compromised when honest players cannot perform their moves due to a strong censorship attack, causing their clocks to expire.
In this post we’ll focus on the chess clock model, as it represents most projects and because the global timer model case can be trivially deduced from it.
For simplicity, let’s assume that censorship is sustained, i.e. it is performed with no breaks. Moreover, we assume L1 rollbacks and L1 rollup-specific invalid state transitions to be a highly controversial and not desirable social response that should be avoided where possible.
We sketch the following timeline: