Data Availability Layer

For an overview of Espresso's approach to DA, see Tiramisu: The Three-Layered Espresso DA.
The standard requirement for data availability is to disseminate all transaction data amongst every node participating in consensus before a decision can be reached. This presents a fundamental bottleneck in the throughput of sequencing (i.e., consensus) protocols. To resolve this data availability problem, the Espresso Data Availability (DA) layer is designed to make data available to all network participants across a large number of nodes off the critical path of consensus. Instead, nodes are only required to download a small chunk of data, as opposed to the entire data blob associated with a block.
Specifically, the Espresso DA layer utilizes Verifiable Information Dispersal (VID), a technique that encodes block data into erasure-coded chunks and every storage node has to store only one chunk rather than the full block. Using VID, Espresso guarantees that a block will only be finalized if data is verified to be available.
Optimistically, there is also a randomly sampled data availability committee (DA committee), selected from the larger staking set and rotated every round. This DA committee receives the entire data blob and allows for very fast data retrievability, with the VID protocol acting as a fallback in case the DA committee fails to make data available.
The Espresso DA layer ensures data is made available for rollups (optimistically by the DA committee, and guaranteed through VID) without incurring the high costs of posting transactions to Eth L1 as calldata. It also avoids centralized DA solutions, which allow the DA operators to freeze the rollup and censor its users.