Data availability is a critical consideration for blockchain scaling designs; rollups are the preferred scaling solution for Ethereum today because availability of data required to reconstruct the L2 state is guaranteed by the L1 network. But data availability—especially in the context of rollups—has many subtle, easy-to-miss details that are nevertheless important for security.
With “L2 summer” finally happening, and modular data availability layers moving from theory to production, educating the community on the implications of rollups’ approach to data availability for security and decentralization has become more important than ever. It is especially important for users to know how differences in where transaction data is stored determines if a rollup is “secured by Ethereum” or not.
As a contribution to this effort, I put together an article that covers the topic of data availability from first principles, discussing the (in)famous “data availability problem” in Layer 1 (L1) and Layer 2 (L2) blockchains—before exploring the different approaches rollup blockchains adopt to guarantee data availability, including publishing transaction data on Ethereum and using external data availability services.
Some other topics covered include:
The relationship between economic security of a data availability layer and the security guarantees it provides to rollups using it.
Drawbacks and challenges around using alternative data availability layers, rather than Ethereum, to store rollup data.
Differences in approaches to storing transaction data on Ethereum (spoiler: not every “Ethereum rollup” stores state data on Ethereum the same way).
All feedback and comments are welcome. I’d also like to know what others in the community think of the movement towards alternate data availability layers, and how that impacts the future of Ethereum’s rollup-centric roadmap.
PS: Also adding some recent tweets from the L2Beat team for context on emerging issues around rollups on Ethereum integrating with modular data availability layers:
- Thread by @donnoh: https://x.com/donnoh_eth/status/1736792589741736290?s=20
- Thread by @Bartek: https://x.com/bkiepuszewski/status/1738153297146495198?s=20
- Thread by @Bartek: https://x.com/bkiepuszewski/status/1737422769338421519?s=20
- Thread by @Bartek: https://x.com/bkiepuszewski/status/1736798073358364973?s=20