The data availability problem and the DA landscape for rollups
Thread586 words
Explains why DA limits rollup throughput and maps the options by security and cost: validiums with a single provider, DAC-based validiums, Celestiums, and full rollups posting to Ethereum.
Key claims
Rollup throughput is capped by the underlying DA layer, not sequencer compute
Validiums are cheapest but have the weakest security
Celestiums add slashable economic guarantees to a DAC
0/ Data availability is the primary scaling bottleneck for $ETH-based rollup L2s and a hot topic at the frontier of blockchain scaling. But what is the data availability problem and how is it addressed?
A 馃У about the DA problem and the current DA landscape (0/XX)
1/ The data availability problem refers to the question how peers in a blockchain network can be sure that all the data of a newly proposed block is available
2/ If part of the data is not available, the block might contain malicious transactions which are being hidden by the block producer
3/ Even if the block contains non-malicious transactions, hiding them might compromise the security of the system
4/ This data availability problem is especially prominent in the context of #rollup systems. It is very important that sequencers have tx data available, as the rollup needs to know about the state of the network and account balances
5/ This also introduces limitations to #rollups in general. Because even if the sequencer were an actual supercomputer, the number of transactions per second it can actually compute will be limited by the data throughput of the underlying data availability solution
6/ If the data availability solution used by a #rollup is unable to keep up with the amount of data the rollup鈥檚 sequencer wants to dump on it, then the sequencer (and the rollup) can鈥檛 process more transactions regardless of its own technological capacity to do so
7/ Since, rollups have proven to be the most promising scaling solution, the Ethereum 2.0 roadmap focuses on transforming the $ETH L1 into a major data availability / settlement layer for rollups
8/ But even while #ETH2 is not here yet, the spectrum of data availability solutions that #Ethereum鈥檚 various L2s can use has grown rapidly to tackle the data availability problem
9/ In the bottom left of the above chart, offering comparably low security guarantees, are pure validiums. A #validium uses zero knowledge proofs for transaction validity and stores transaction data off-chain with a centralized data provider
10/ #Validiums offer the lowest cost per transaction in the above landscape. The security is comparably weak as accessing the latest state in a validium requires off-chain data to be available. Hence, a risk that the data provider misbehaves or goes offline does exist
11/ To address these security concerns most current validium designs utilize a data availability committee (DAC) rather than a single data provider (as in the pure validium)
12/ Basically, DAC-based solutions can be thought of as validiums with multiple nodes, where nodes or members of the committee are trusted parties that keep copies of data off-chain and make data available. Examples of DAC-based validiums are @DeversiFi and @Immutable
@deversifi @Immutable 13/ Celestiums on the other hand are a novel type of L2 network that is based on @CelestiaOrg鈥檚 data availability layer but uses #Ethereum for settlement and dispute resolution
>>> Celestia Deep-Dive thread coming soon
@deversifi @Immutable @CelestiaOrg 14/ #Celestiums are a form of a permissionless DAC scaling solution with additional economic guarantees on data availability because the decentralized committee can be slashed in case of malicious behavior
@deversifi @Immutable @CelestiaOrg 15/ Traditional $ETH rollups are the final group in the top right corner of the graph. #Rollups directly use the underlying $ETH L1 as DA layer, which comes with strong security guarantees, but also high costs since every tx has to be posted on-chain
@deversifi @Immutable @CelestiaOrg If you liked this thread please support with a a follow & retweet 馃檹
