Loading...
Loading...
Data availability refers to the guarantee that all necessary data for validating transactions is published and accessible to all nodes in the network. This is crucial for maintaining the integrity and security of the network, as no decentralized network can validate transactions without it. Data availability represents one of the four core functions of blockchains, along with execution, settlement and consensus. Different blockchain technologies handle these functions differently. Data availability can be managed internally or outsourced, depending on the network’s architecture, as discussed below:
The data availability problem refers to the challenge of ensuring that all necessary data is available at any given time for transaction validation. Essentially, it asks, “How can a node be sure that all the necessary data for transaction validation is published and available without any omissions?” Complete data for all transactions is crucial because if a malicious actor executes an invalid transaction, includes it in a block, and the block gets verified without the necessary data being available to validate the transaction, it could lead to invalid or fraudulent states, compromising the network’s security.
Addressing the data availability problem in a decentralized network like Ethereum becomes increasingly challenging as the network scales. As transaction volume increases, more data needs to be propagated across the network, requiring more bandwidth and storage. This increased burden can lead to centralization since only nodes with sufficient resources can fully participate. Thus, a dilemma arises between ensuring data availability, achieving scalability, and maintaining decentralization.
Ethereum employs several solutions to tackle this dilemma, including light clients and rollups. Both help Layer 1 scale without compromising decentralization, but they do so at the cost of data availability autonomy. These solutions cannot ensure data availability independently and therefore require a method for third parties to provide this function.
To address the tradeoff between scalability and decentralization, Ethereum plans to implement an ultimate solution for data availability: Danksharding.
Danksharding, the pinnacle of Ethereum’s sharding strategy, aims to enhance scalability while preserving decentralization by distributing the data availability function across multiple shards. Core concepts introduced by Danksharding include blobs and Data Availability Sampling (DAS).
Blobs are large, efficient data chunks stored temporarily on the consensus layer. Previously, transactions on rollups had to be stored as calldata on the Ethereum Virtual Machine (EVM) on the execution layer. While this provided a straightforward method for data storage, it incurred high fees due to EVM computation. With the introduction of blobs, these data chunks can be stored directly on the consensus layer, bypassing the EVM and reducing costs. An early version of these blobs was implemented in the Proto-Danksharding upgrade in April 2024.
Data Availability Sampling (DAS) enables nodes to efficiently verify data availability by sampling random parts of the data instead of downloading entire blobs. This technique allows even nodes with limited resources, such as light clients, to actively participate in verifying transactions, promoting scalability without compromising decentralization.