Designed to tackle the data availability problem, Avail is a modular blockchain that solves this issue by taking the data off-chain and proving that data is, in fact, available. Data availability chains like Avail are emerging fields within the blockchain space. Not everyone is familiar with these concepts, but they are gaining traction as developers look for ways to scale their systems.
In this blog, we’ll list up facts about Avail, including some of the most common misconceptions, providing a clearer picture of the benefits Avail offers to developers for data availability.
1. Is Avail a data storage solution?
No, Avail is a blockchain that ensures the availability of data. It can prove that data exists on the blockchain, even if it is not currently being stored on it.
Data availability is different from data storage in that it focuses on providing proof of the availability of data without the need for full data retrieval, whereas data storage involves the actual storing and retrieving of data in its entirety.
Data availability plays a crucial role in a blockchain network's data integrity and security by ensuring that all participants can access and verify the presence of necessary data. It prevents the hiding of malicious transactions and potential compromises to the overall system's trustworthiness.
Data availability is the ability of nodes to download the data contained within all blocks propagated through a peer-to-peer network. It refers to the confidence a user can have that the necessary data to verify a block is indeed available to all network participants.
On the other hand, decentralized storage blockchains like Arweave, IPFS, Filecoin, and Sia enable end users to store and retrieve files directly on the blockchain. Unlike data availability chains, these storage chains focus on explicitly retrieving the complete data requested by users.
2. Is Avail a monolithic blockchain?
No, Avail is a modular data availability (DA) layer that offers a number of benefits over on-chain data availability. Modular blockchains typically separate data availability, transaction, and consensus processing — breaking them into more manageable components that can be developed and maintained independently.
Meanwhile, monolithic blockchains like Ethereum layer-1 are expected to do everything simultaneously, including execution, settlement, consensus, and data availability. Handling all tasks at the same time affects the efficiency of the said functions, ultimately leading to transaction bottlenecks and increased fees.
Moreover, monolithic blockchains rely on on-chain data availability. Boosting network throughput to increase blockchain performance serves as one of the core challenges facing monolithic blockchains. To increase throughput in monolithic systems, you either need to create larger blocks, increase block frequency, or improve block propagation to transfer more data. This reliance on on-chain data availability is inefficient and expensive as monolithic blockchains try to scale.
For example, full nodes on Ethereum L1 must download a copy of all the data in each block. This can be a significant amount of data, especially for large blocks. As such, on-chain data availability can make it difficult to scale blockchains, as the amount of data needed to process increases with the number of blocks. If the data is not available, the block is discarded.
Avail uses erasure coding and KZG polynomial commitments to ensure that data availability is guaranteed with high confidence. By using these two features, light clients, nodes that allow users to fetch tiny pieces of data through Data Availability Sampling, can verify data availability without downloading the entire blockchain, offering greater efficiency.
3. Is Avail a Data Availability Committee (DAC)?
No, Avail is not a Data Availability Committee (DAC).
Along with their permissioned and often centralized nature, DACs have some serious security loopholes because they rely on an honest majority assumption. DACs, a set of nodes responsible for off-chain data availability, trust most of the nodes in the committee will be honest. Such an assumption and reliance on a small group of nodes presents a risk. For example, block producers could disrupt the entire chain by withholding transaction data, preventing users from withdrawing funds.
In addition, DACs don't have any stake to slash if a data withholding attack is attempted. In other words, nodes have no financial incentive to behave honestly.
Avail is different; it operates as an independent blockchain with its own validator nodes, block producers, and consensus mechanisms. While DACs typically involve a limited number of participants (as few as 5), Avail plans to have hundreds of nodes working together to ensure network security.
Data availability on Avail is not reliant on validators alone, as any light client can also contribute to keeping data available. Light clients can determine data availability on their own via random data sampling without having to trust an honest majority. Blocks can be reconstructed from light nodes even if full nodes go down or attempt to censor data.
4. Are full nodes the only network participants supporting Avail?
No, there are light clients, full nodes, and validators supporting the Avail network.
As a modular blockchain, all of the network peers on Avail are redefined. In Avail, validators accept transactions and create blocks. Once a block is created, if data is not available, light clients can recognize this. While they exist in Avail, full nodes play a supplementary role to keep high redundancy, marking a massive departure from the critical role full nodes play in traditional, monolithic architectures.
In a monolithic blockchain, traditional light clients have their limitations — they rely on full nodes to provide accurate data. This can be risky because compromised nodes could provide false information. They may still require downloading a significant amount of data. This can be resource-intensive and limit their usability on devices with limited computational power.
Avail light clients are different; they can overcome the limitations of traditional light clients by using certain techniques, including data availability sampling (DAS), erasure coding, and KZG polynomial commitments.
Erasure coding duplicates and distributes data across an m x n matrix — to ensure redundancy and resilience against data loss. KZG commitments enable efficient sampling of data. Light clients then randomly fetch cells from the matrix and can instantly verify data availability by sampling only a few cells. This eliminates the need to download the entire database -— significantly reducing resource requirements and making it possible for light clients to verify the blockchain state - even if they don't have powerful hardware resources handy for computation. They can use lightweight devices like mobile phones and browser-based wallets.
The inclusion of light clients in everyday wallets is a future development that holds great potential. This would allow users to easily and conveniently verify the blockchain state without having to run a full node themselves. It would also make blockchain technology more accessible to a wider range of users.
5. Is Avail a part of Polygon?
No, Avail is not a part of Polygon anymore. We are now a fully independent entity. But we share a close history with Polygon.
Avail has always been compatible with different types of blockchains, including standalone chains, sidechains, and off-chain scaling solutions. However, the Avail team envisaged maintaining neutrality and flexibility, allowing the project to focus on a broader scope of rollup solutions beyond Ethereum and Polygon.
This transition occurred in March 2023. Avail is now fully dedicated to its objectives — encompassing all types of rollups and blockchains, not limited to those specific to Polygon or Ethereum.
The road ahead
Avail envisions a future where blockchain technology is more scalable, flexible, and accessible to developers. To achieve this, Avail is developing a robust consensus and data availability layer to provide raw blockspace to modular chains. This will allow developers to build rollups and appchains that are more scalable, flexible, and easy to use.
Stay tuned to the Avail blog for more information, and let’s bring blockchain closer to a modular, scalable future!