The Data Availability Layer
Last updated
Last updated
Blockchain technology has revolutionized the way we handle data, providing a decentralized, immutable, and transparent system for recording transactions. One of the key aspects of blockchain technology is data availability.
Data availability refers to the ability of all participants in the network to access and verify the data stored on the blockchain. In a decentralized system like a blockchain, data availability is crucial to maintain the integrity and functionality of the system.
Data availability is important for several reasons:
Transparency: All transactions are visible to all participants, ensuring transparency. Security: It's harder for malicious actors to alter data when it's available to all participants. Decentralization: Data availability ensures that no single entity has control over the data.
Rollups originiated from Ethereum and it's the widely used scaling solution on Ethereum. Rollups consolidate data from multiple transactions into a single batch transaction posted to the layer 1 blockchain. However, this approach faces a significant hurdle: the data availability problem.
The essence of the data availability problem lies in the limitations of Ethereum's data capacity. While rollups aim to enhance scalability and efficiency, the sheer volume of data involved in each batch transaction poses a substantial cost. This expense primarily stems from the necessity to post all transaction data or state as calldata to Ethereum. This is exacerbated by a new proposal to increase cost of posting rollup data as calldata in
The data availability problem jeopardizes the transparency, security, and integrity of rollup systems. When essential data is inaccessible, participants cannot adequately verify transactions, leading to a breakdown in trust. Moreover, the manipulation or withholding of data by aggregators can result in erroneous or inconsistent updates to the main blockchain's state.
Resolving the data availability challenge is pivotal for the effective deployment of rollups. By tackling this obstacle, rollups can harness their scalability, efficiency, and cost-effectiveness benefits while upholding the transparency, security, and integrity of the underlying blockchain infrastructure.
Implementing robust data availability solutions ensures that transaction data is readily accessible to all participants, fostering trust and reliability within the rollup ecosystem.
Integrating aelf as a data availability layer for rollups presents a compelling solution, enhancing their functionality and bolstering security. Through the synergistic application of aelf's modular blockchain architecture, rollups stand to gain numerous advantages:
Security: The substantial value staked within aelf's Delegated Proof of Stake (DPoS) acts as a deterrent against blockchain attacks, as it aligns the motivations of network participants with the network's security and integrity. Furthermore, with its inception dating back to 2017, aelf has showcased its robustness. Its mainnet, which has been operational since 2020, has maintained its security without any major successful attacks being recorded.
Scalability: By capitalizing on aelf's in-built multi-chain parallel computing design, rollups can seamlessly scale to accommodate a high volume of transactions through aelf's high data throughput. This scalability ensures that rollups maintain optimal performance even as transaction throughput increases.
Data Integrity: Central to aelf's role as a data availability layer for rollups is the establishment of the Data Availability Committee (DAC). Within this framework, all aelf validator nodes serve as active members of the DAC, collectively assuming a pivotal responsibility in safeguarding the integrity and authenticity of blockchain data. This collaborative effort nurtures trust and assurance among users. To facilitate access to blockchain data, a light client is provided, enabling seamless querying. The light client verifies data validity through interaction with the DAC, ensuring the reliability of information retrieved from the aelf blockchain.
Decentralization: In the aelf blockchain network, validators hold a central role as nodes entrusted with verifying transactions and upholding the blockchain's integrity through its unique Delegated Proof-of-Stake (DPoS) consensus mechanism. Within this framework, token holders actively participate by electing validators through voting, who then proceed to oversee block creation and transaction validation processes. Incentivized by their stake in the network, validators are compelled to maintain honesty and transparency; any deviation risks their stake and validator status. This integrity is crucial for ensuring the validity and accessibility of all blockchain data, a cornerstone of the network's transparency and integrity. When a validator processes a chunk of data as a receipt, consensus is established regarding its validity. However, once integrated into a block as part of a blob, the receipt becomes redundant for consensus and can be pruned from the blockchain's state. This practice helps keep aelf nodes lightweight. Pruning occurs every 2,097,152 blocks, approximately every 12 days. Post-pruning, archival nodes assume responsibility for retaining transaction data, thereby maintaining the blockchain's efficiency and preserving essential transaction history.
Fast Finality: Rollups have two options for leveraging aelf as a data availability layer for achieving finality. Traditionally, other data availability layers would upload a merkle tree as proof onto Ethereum to ensure data commit finality. However, this is merely one of the choices available on the aelfDAL. With aelf boasting its own robust consensus layer, a track record of sustained liveliness, and substantial Total Value Locked (TVL) ensuring blockchain security, rollups may opt to utilize aelf's mainchain for finalizing their data commits. This alternative presents a notable advantage, being not only at least 10 times faster but also significantly more cost-effective compared to waiting for data finality on Ethereum.
Low Cost: Committing transaction data or state to Ethereum's calldata incurs significant costs. However, this process is considerably more economical on aelf, thanks to its consensus mechanism. A typical transaction is less than a cent.
Figure 2.0 shows an overview high level diagram explaining the overall structure of aelfDAL.
Figure 2.0. Overview structure of aelfDAL
The rollup sequencer sends a transaction containing a batch of transactions as a blob to aelfDAL.
The transaction is passed to the Execution Module for execution, where the hash of the blob in the transaction data is processed by the DA Contract.
The blob hash is then stored as a state in the DA Contract, ensuring verification that the corresponding blob has been successfully uploaded to a validator.
The SideCar detects that a transaction containing a blob has been completed.
The SideCar retrieves the blob data from the corresponding transaction.
It commits this blob data to the Consensus Module.
The Consensus Module then stores this blob data in a persistent blob memory. To manage memory resources efficiently, blobs automatically expire after 2,097,152 blocks (approximately 12 days), freeing up space for future storage needs.
While blobs themselves will not be directly accessible from the execution layer (such as smart contracts on aelf), users will be able to read them from both full nodes and light nodes.
Figure 2.1 shows how L2 rollups can implement data availability with aelfDAL.
Figure 2.1. Sequence Diagram of a L2 Rollup
L2 Sequencer sends transaction data or states corresponding to the batch of transaction to roll up to aelfDAL for data availability.
aelfDAL returns a corresponding transaction id. L2 Sequencer may attach an aelf light client in order to check if the transaction is processed.
Upon transaction reaching finality on aelfDAL, L2 Sequencer can then send proof and corresponding transaction id as calldata onto the verifier contract on Ethereum.
Verifier contract on Ethereum will validate proof and return.
Users can reference transaction id published as calldata with data available on aelfDAL to validate transactions processed on L2.
By harnessing aelf as a data availability layer, rollups can amalgamate the strengths of both technologies. The result is a formidable solution capable of efficiently scaling blockchain transactions while safeguarding data integrity and fortifying security measures. This strategic integration lays the groundwork for a more resilient and versatile blockchain ecosystem, poised to meet the evolving demands of decentralized applications and digital transactions.