Picture this: You stumble upon a brand-new DeFi platform that promises an astronomical annual percentage yield (APY) for staking your cryptocurrency. Intrigued by the potential returns, you decide to explore further. But as you delve deeper, you realize that this platform is built on Ethereum, a blockchain network undergoing significant advancements.
You’ve probably heard that Ethereum’s roadmap for sharding has essentially scrapped execution sharding and is now exclusively focused on data sharding to maximize Ethereum’s data space throughput. Understanding this, you continue your research and come across discussions about modular blockchains, rollups, volitions/validiums, and the concept of ‘data availability solutions.’
Confused at one point, you scratch your head and ask yourself, what really is data availability? Before proceeding, you feel it would be helpful to have a little refresher on the basics of how most blockchains work.
Armed with this knowledge, you connect your Metamask wallet to the DeFi platform and eagerly click on the ‘stake’ button to participate in the staking program. As you initiate the staking process, you wonder how the advancements in Ethereum’s sharding and data availability solutions might impact the platform’s performance and security. But what unfolds next?”
In this article, we’ll be talking about the concept of data availability, a platform’s scalability, data management, and potential improvements in transaction throughput.
…
Now, let’s answer the question as to what happens next.
When your transaction enters the mempool, it waits to be validated by the miners/validators. Once your transaction gets included in the block, it is forever etched into the blockchain’s history. This block, carrying your transaction, is then broadcasted to the network of nodes that maintain the blockchain. These nodes, known as full nodes, diligently download the new block and meticulously validate every transaction within it, including yours. They ensure that you’re not pilfering anyone’s funds and that you possess sufficient ETH to cover the gas fees, among other things. Essentially, full nodes play a vital role in enforcing the blockchain’s rules upon miners/validators.
However, this mechanism has a downside: it creates scalability issues for traditional blockchains. As full nodes meticulously examine each transaction for compliance, the number of transactions processed per second remains limited. To process more transactions, blockchain developers would need to increase the hardware requirements for running full nodes.
But that also poses a problem: higher hardware requirements would deter potential full node operators, jeopardizing decentralization. We can’t afford to have fewer people scrutinizing the work of miners/validators, as it would erode trust in the system.
This conundrum highlights the importance of data availability in traditional blockchains. Block producers (miners/validators) must broadcast and make transaction data available so that full nodes can validate their work, ensuring adherence to the blockchain’s rules. If block producers fail to provide the necessary transaction data, full nodes are unable to verify their work, which compromises the integrity of the blockchain
Now, let’s delve into how data availability intertwines with rollups, the much-hyped solution for scalability.
The Significance of Data Availability in Rollups
Rollups tackle scalability challenges by shifting the burden of transaction computation and execution away from full nodes to a more powerful entity known as a sequencer. Instead of raising the hardware requirements for running full nodes, why not reduce the number of transactions full nodes need to validate? The sequencer takes charge of executing transactions and generates a rollup block, leveraging its superior computing power.
But this raises an important question: Can we trust the sequencer? Since full nodes can’t match the sequencer’s computational abilities, verifying its work becomes a challenge. Enter fraud proofs—an integral component of Optimistic Rollups.
In order to understand the data availability problem, it is best to first start off by understanding the concept of “fraud proofs”.
Fraud proofs rely on community members submitting evidence that exposes invalid or malicious transactions included by the sequencer. However, to compute fraud proofs, users need access to the transaction data executed by the sequencer. Therefore, the sequencer must make this data available. Without transaction data, no one can hold the optimistic rollup’s sequencer accountable.
In the case of ZK Rollups, ensuring the integrity of the sequencer is simpler. The sequencer must provide validity proofs, such as ZK-SNARKs or STARKs when executing a batch of transactions. These proofs guarantee the absence of invalid or malicious transactions, and anyone, even a smart contract, can easily verify them. However, data availability remains crucial for ZK Rollups. Users need access to transaction data to check their account balances and engage with the rollup effectively.
You might wonder, why not make the sequencer an almighty supercomputer to process a colossal number of transactions per second?
Now, here’s where things get interesting. By shifting the workload away from full nodes, rollups offer the potential to execute an astounding number of transactions per second, reducing gas fees and keeping everyone content. But even with an immensely powerful sequencer and scalability improvements, the need for data availability remains. Without access to transaction data, users would be left in the dark, unable to verify their account balances or interact with the rollup effectively. So, how is data availability ensured in rollup solutions?
In both Optimistic Rollups and ZK Rollups, the sequencer plays a crucial role in providing data availability. Let’s take a closer look at how this works:
- Optimistic Rollups: In Optimistic Rollups, the sequencer is responsible for proposing blocks that contain batches of transactions. These transactions are executed off-chain, and only the resulting state changes are included in the rollup block. However, to ensure accountability, the sequencer must make the transaction data available to anyone who wants to validate the rollup’s integrity.
To achieve this, Optimistic Rollups rely on fraud-proof. Anyone can submit a fraud-proof if they detect an invalid or malicious transaction included by the sequencer. Fraud proofs provide cryptographic evidence that can be independently verified by anyone. If a fraud-proof is valid, it triggers a mechanism where the invalid transaction is reverted, and the sequencer is penalized.
To compute fraud proofs, users or third-party validators require access to the transaction data. Therefore, the sequencer needs to make this data available, allowing anyone to hold them accountable. By ensuring data availability, Optimistic Rollups maintain transparency and prevent the sequencer from acting dishonestly.
- ZK Rollups: ZK Rollups take a different approach to ensure data availability. In ZK Rollups, the sequencer still proposes blocks, but the transactions are validated using zero-knowledge proofs (such as ZK-SNARKs or STARKs). These proofs provide a way to verify the correctness of the transactions without revealing the transaction data itself.
The sequencer in ZK Rollups must provide validity proofs, which allow anyone to verify the integrity of the transactions and the resulting state changes. Validity proofs provide cryptographic evidence that the transactions have been executed correctly according to the rollup’s rules.
However, even in ZK Rollups, data availability is crucial for users to interact with the rollup effectively. Users need access to transaction data to know their account balances, verify their own transactions, and enable smart contracts to interact with the rollup. Therefore, while the transaction details are not directly revealed in the validity proofs, the sequencer must still make the transaction data available for user transparency and usability purposes.
Conclusion
Both Optimistic Rollups and ZK Rollups address scalability challenges by shifting transaction execution off-chain. However, they still rely on the sequencer to ensure data availability. In Optimistic Rollups, the sequencer provides transaction data to enable fraud proofs, while in ZK Rollups, the sequencer provides validity proofs while still making transaction data accessible for user transparency and usability. By maintaining data availability, rollup solutions strike a balance between scalability and the integrity of the underlying blockchain.
Credits:
The original paper proposes a fraud and data availability proof system to increase light client security and to scale blockchains (by Mustafa Al-Bassam, Alberto Sonnino, and Vitalik Buterin)
https://github.com/ethereum/research/wiki/A-note-on-data-availability-and-erasure-coding
A rollup centric roadmap for Ethereum
Scaling ETH in 2020 and Beyond — a talk by Vitalik
Podcast with John Adler on the Data Availability Problem