The Data Availability (DA) layer ensures consensus on the presence and accessibility of transaction data within a blockchain network.
Traditionally, the data stored in the DA layer can be utilized by potential block producers to reconstruct the state of the chain and start producing new blocks. This prevents potential issues like Layer 2 operators arbitrarily freezing the chain or censoring rollup users. Leveraging the DA layer for security allows rollups to optimize for scalability. For instance, a rollup might choose larger blocks and faster block times to enhance performance.
Radius uses the DA layer to store order commitments, serving a different purpose than the traditional method of storing transaction data. To delve deeper into this concept, let’s see how Radius works.
Sequencers are responsible
for ordering transactions and building blocks. They have the power to censor and extract MEV (Maximal Extractable Value) through front-running and sandwiching. Radius is a shared sequencing layer for decentralizing sequencing and block building in rollups.
To eliminate harmful MEV and censorship, Radius utilizes an encrypted mempool and a ZKP scheme called PVDE (Practical Verifiable Delay Encryption). This ensures that the sequencing process is trustless.
The user sends an encrypted transaction to the sequencing layer.
The sequencer orders the transaction.
The sequencer sends an order commitment (order, signature) to the user.
The sequencer decrypts the transaction and builds the block.
The block is submitted to the rollup.
The rollup executes the transactions in the order provided by the sequencer.
The rollup submits the transactions to the settlement layer.
Radius sequencers submit an order commitment upon ordering user transactions. This commitment guarantees transaction inclusion and provides users with fast pre-confirmation. The order commitment ensures that the sequencer has ordered the encrypted transaction without decrypting it.
To ensure that sequencers or subsequent entities (e.g., rollups) do not violate the committed order, we use the DA layer to store the ordered list of encrypted transactions, where the index of each element represents the promised order. Users can verify transaction inclusion and order, and make a claim in case it’s violated.
We utilized DA for order validation in Madara, which involved creating a separate
mc-sync-block crate. This crate instantiates a local database where blocks of encrypted transactions are stored. It reads encrypted transactions from the sequencer’s local database and stores them in the DA, parallel to the main thread of transaction flow. This approach ensures lower coupling and greater control over error handling and gas optimizations. Additionally, the time required for rollup block requests is shorter than the DA storage time, necessitating such modularization.
By using the Celestia DA layer to store order commitments, Radius not only enhances the security and reliability of transaction sequencing but also lays the foundation for a more equitable and censorship-resistant blockchain environment.