1. Where did the current “7 days” number come from?
See this post:
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:
- (0h → 24h): a 51% strong censorship attack is detected.
- (24h → 6d): a hard fork is coordinated, implemented and activated to slash censoring validators.
- 1d: the time left on the honest players’ clock to play the game.
Historically, it took us 6 days to implement the fastest emergency fork we’ve done from start to finish ( EIP-608: Hardfork Meta: Tangerine Whistle in 2016), so if we use that as a benchmark, then 7 days seems reasonable for “how long does it take Ethereum to fork?”
There is one misconception in this post, which is that you need a hard fork to take out censoring validators. This is not true: the protocol has been deliberately designed so that a minority soft fork that counter-censors the censors is sufficient. And a soft fork can be done more quickly. But on the other hand, in a 51% censorship attack, you would expect an attack on the social layer, so things could get chaotic, and that’s an argument in the opposite direction. Hence, on the whole, “an onchain civil war started by a 51% censorship attack will take the chain out for 6 days” seems like a reasonable assumption.
2. What are the downsides of 7 day withdrawal windows?
To withdraw through the canonical bridge, you have to wait 7 days before you get your assets. This is a long time. Almost all users instead deposit and withdraw through liquidity providers, intermediaries which give you the coins immediately from their balance sheet, and then deposit and withdraw through the canonical bridge on their own, charging a fee to the user to account for the costs of rebalancing.
The need for liquidity providers to wait is a key thing that is preventing liquidity provider-based bridging from being cheap, unless it goes through trust-based third party bridges. As a result, (i) today bridging has costs that are low, but still significant, and (ii) a lot of it happens through the USDC and other bridges, making the Ethereum ecosystem de-facto more trust-dependent than it otherwise would be.
If we want actually-decentralized defi to thrive, we need faster withdrawals. In the medium term, this is why I support fast withdrawals through ZK proofs, or a hybrid 2-of-3 OP+ZK+TEE or OP+ZK+ZK scheme. This will bring withdrawal times down to 10-60 min, a 168-1000x cut to liquidity providers’ costs. In the short term, before such technologies are ready, allowing faster withdrawals from optimistic rollups could cut liquidity providers’ costs by 3-7x, which is still a helpful win.
3. What does a 1-2 day withdrawal window give us in terms of security?
The longest-lasting failure that the Ethereum blockchain has had was the consensus failure in 2016. This created a fork that split the chain in half, and within 12 hours, almost everyone was able to rejoin the correct fork. This wasn’t really “downtime”, because a sophisticated actor could easily have sent a transaction that would have gotten included on both chains. But the 12 hour duration is a reasonable precedent for an upper bound, especially if we want fraud proof posting to be available to less sophisticated actors. During the 2016 Shanghai DoS wars, individual clients were unusable for periods that lasted nearly as long.
Additionally, speaking of less sophisticated actors, 8 hours is a standard human sleep duration.
A 1-day withdrawal window is enough to ensure that you can send in a fraud proof transaction even if the fraud happens contemporaneously with any of the above issues (or even a combination: fraud proof 1h after you go to sleep, consensus failure right after you wake up → 8 + 12 hours lost, still less than 24 hours, and that assumes you’re the only fraud prover and you can’t send in fraud proof txs during the consensus failure!)
However, note that 1 day is not enough for a new fraud proving node operator to spin up, and due-diligence the software enough to feel comfortable putting down a 3600 ETH deposit. Additionally, it’s not enough time for a 6-of-8 security council to respond to a bug.
To solve both of these problems, I would highly recommend a mechanism where any security council member can flip a switch to extend the delay to 7 days or even longer. This ensures 1-2 day withdrawals in the normal case, but gives enough time to resolve issues when they do arise. For the same reasons as above, 1-2 days is enough time for the fastest member of a security council to be able to flip that switch, even if an exceptional situation happens.
Because of the above, I would argue 1-2 days is enough to deal with any problem other than a 51% censorship attack on Ethereum.
4. My tentative conclusion: 1-2 days ok for stage 1, 7 days for stage 2
A stage 1 rollup can already be hacked if 75% of the security council get hacked. A 51% censorship attack on Ethereum is already an extreme situation, similarly extreme to 75% of a security council being hacked. Hence, for rollups that already accept stage 1 assumptions, the somewhat weaker properties of a 1-2 day window seem fine.
For a stage 2 rollup, the goal is to achieve true Ethereum-equivalent security. Hence, we do want to be 51% attack resistant, because Ethereum itself is 51% attack resistant (in the sense that if you hold ETH on L1, you keep that ETH even if a 51% attack happens; an attacker cannot make invalid state transitions happen). So we want the 7 day delay on any optimistic components.
Note that this does NOT mean that when rollups upgrade to stage 2, we will see a degradation of UX or liquidity costs. The reason is that I expect stage 2 to come from a 2-of-3 scheme, where an optimistic prover is only one of the three. In the normal case, instant proving systems (either ZK + TEE, or ZK + ZK) will ensure near-instant withdrawals. Hence, liquidity costs will be far lower than even 1-day-withdrawal optimistic rollups. The 7 day window will only come into play in the exceptional case, when an instant proof system breaks and the optimistic system needs to come in to serve as the tiebreaker.