Skip to main content

Two Problems with Ethereum Rollups

Most rollups are still using centralized sequencer due to various reasons. But centralized sequencer means it’s easy to be targeted by attackers and could be compromised to double-spent the users on the rollup.

In this type of attack, the sequencer sends a version of a block with an important transaction to the user but commits a different version, without that transaction, to the L1 chain. For example, the sequencer might show the user a block that includes their transaction to pay for a vehicle, but the version committed to the L1 chain leaves out that transaction. This can lead to double-spending because the user believes their transaction went through, while the official record on the L1 chain doesn’t include it.

To avoid such a double-spending attack, the user would need to wait for the transaction to reach L1 finality, which requires a significant wait time. First, they must wait for the batch transaction to be sent to L1, typically every few minutes. For instance, Optimism Mainnet takes 4 minutes (source). Then, they must wait for L1 finality, which takes 64 slots, with each slot lasting 12 seconds, amounting to 12.8 minutes. In total, this wait is at least 15 minutes. This results in a second problem: slow finality, which is unsuitable for certain applications that require faster confirmation times.