Configure data availability
During Arbitrum chain configuration, you'll choose the data availability (DA) option that best suits your needs. This choice affects how transaction data is stored and accessed for validation—impacting security, costs, and performance.
Using the Chain SDK lets you select from multiple DA options, tailoring your decision to meet your specific requirements.
Available data availability options
1. Rollup mode (Ethereum/parent chain DA)
This is the default option for chains that prioritize security. Transaction data is posted to the parent chain as calldata or blobs (after EIP-4844), using Ethereum's DA layer.
- Set
DataAvailabilityCommitteetofalsein your chain config using the Chain SDK. No additional steps are required.
2. AnyTrust mode
This mode uses an external Data Availability Committee (DAC), which is a group of permissioned nodes that you choose and run, or outsource to a Rollup-as-a-Service (RaaS). Instead of posting all the data to the parent chain, the batch poster sends a lightweight Data Availability Certificate (DACert) signed by the required number of DAC members (configurable). The data is stored offchain and made available when needed.
- Set
DataAvailabilityCommitteetotruein your chain config. - Deploy a Data Availability Server (DAS) for each DAC member using Nitro's DAS software.
- Generate a keyset (BLS public keys and quorum threshold) from DAC members.
- Register the generated keyset on the
SequencerInboxcontract after deployment. - Configure nodes (sequencer, batch poster, validators) to connect to the DAS endpoints (via REST/RPC aggregators).
For a complete, detailed set of instructions on setting up DAC, DAS, and generating keysets, refer to Get started.
3. Alternative data availability (Alt-DA)
In this mode, transaction data is posted to an external modular DA network (such as Celestia) using blobs and data availability sampling. You integrate this by running a sidecar server alongside your node, which handles communication with the external DA network. Onchain commitments, such as Blobstream for verification, ensure that transaction data is available and verifiable.
- Use a modified Nitro build with Celestia integration, such as the celestia-server sidecar, to enable alternative data availability. Set the DA provider in your node flags and specify your preferences, for instance, selecting Celestia as the main provider with a fallback to AnyTrust or Ethereum. You can integrate other DA options, like EigenDA or Avail, in a similar way.