## 4 State of Art about Data Availability in L2 Rollups  
Blockchain operates in a trustless environment where every peer-to-peer network node can verify the global state independently, without the need for a central authority. In this regard, the term _data availability_ is used to denote the fact that any participant can access all the required information needed to verify the transactions in a trustless environment, independently. With reference to the rollup-based L2 solutions, this means that data used for state transitions in L1 need to be accessible to everyone to ensure that any participant can validate the rollup state independently [17].  
Data availability is critical in rollups as it directly affects security, functionality, and interoperability. It is essential to ensure that participants interact with a valid blockchain state and trust the rollup protocol. For instance, if data are unavailable and in case of a malicious rollup operator, the users may not be able to withdraw their funds from the main L1 chain because nodes can not correctly compute the new blockchain state and the user's current funds [18]. The main reasons for which data availability is important can be summarized as follows:  
* Security--Users can independently verify all the transactions and state transitions, maintaining the trustless nature of the blockchain.
* Integrity--Transactions and states are reliable, correct, and resilient to modifications.
* Functionality--It ensures that all required data are available for processing and validation and ensures the proper functionality of the rollup.
* Interoperability--It ensures consistent data access to allow the interaction between multiple blockchain layers and applications.
* Censorship Resistance--It ensures that transaction data are processed and stored without involving centralized authority or malicious rollup operator. Users can directly submit a transaction on the L1 zk-rollup contract to bypass the rollup operator censorship.  
Despite the importance of data availability, this property can lead to problems related to costs and performance due to the amount of data to be posted back on the L1 chain. Currently, there are two main approaches to data availability: on-chain and off-chain. The first one typically guarantees greater security while inducing more costs for the end-user. Conversely, the second one typically reduces costs and improves performance at the expense of smaller security or greater trust requirements.  
This section discusses in detail the current state of the art about data availability in rollups-based L2 solutions, which includes on-chain and off-chain data posting. The on-chain includes calldata and blob. The _calldata_ refers to a location where function arguments are stored. It is a read-only data area that does not alter the Ethereum state directly. This makes it a cost-effective way to store essential transaction data on-chain. On the other hand, _blob_ is a new technique introduced with Ethereum's EIP-4844 (Proto-Danksharding), which allows large amounts of data to be posted on-chain more efficiently. Blob are not directly accessible by the EVM and stored temporarily for verification. Section 4.1 presents a detailed explanation of on-chain data availability solutions. This section also discussesthe impact of data availability on scalability, security, and the overall performance of blockchain. Tables 3 and 4 present a detailed comparison of data availability in the most prominent rollup-based L2 solutions. Specifically, Table 3 summarizes the main technical characteristics of these solutions, while Table 4 highlights their scalability and security properties, as well as the strengths and weaknesses with respect to data availability.