Data availability is supposed to be the boring plumbing layer. Instead, it’s become a competitive battlefield that’s fragmenting the modular stack even further.
The Current DA Landscape
| DA Layer |
Approach |
Security Model |
Price per MB |
Status |
| Ethereum Blobs |
Native L1 |
Ethereum validators |
~$20/MB |
Production |
| Celestia |
Dedicated L1 |
Own validator set |
~$0.05/MB |
Production |
| EigenDA |
Restaking |
ETH restakers |
~$0.02/MB |
Production |
| Avail |
Dedicated L1 |
Own validator set |
~$0.03/MB |
Early |
| Near DA |
L1 sidecar |
Near validators |
~$0.01/MB |
Beta |
The Fragmentation Problem
1. Security Model Confusion
Each DA layer has fundamentally different security assumptions:
- Ethereum blobs: Secured by the full Ethereum validator set. Gold standard.
- Celestia: Independent validator set. Strong but separate from Ethereum.
- EigenDA: Restaked ETH. Novel security model, less battle-tested.
- Avail: Independent chain. Youngest of the bunch.
How does a developer evaluate these trade-offs? Most can’t. They pick based on price or marketing.
2. The Dependency Risk
If your DA layer goes down, your rollup halts. Full stop.
- Celestia had a minor incident in Q3 2025 that caused 3 rollups to temporarily stall
- EigenDA’s dependency on EigenLayer adds another layer of systemic risk
- Using non-Ethereum DA means you can’t verify data on L1
3. Price Wars Aren’t Sustainable
EigenDA cut prices 10x and added a free tier to compete with Celestia. This is VC-subsidized pricing. When the subsidies end:
- Will rollups migrate to whoever is cheapest next?
- Will DA layers raise prices after achieving lock-in?
- Is DA becoming a commodity race to zero?
The Real Question
Do we even need multiple DA layers? If DA is supposed to be commodity infrastructure, shouldn’t we converge on one or two solutions?
Ethereum’s danksharding roadmap will eventually make blobs cheap enough for most use cases. Are Celestia and EigenDA building for a temporary window before Ethereum catches up?
My Take
The DA wars are good for prices but bad for developers. The cognitive overhead of choosing, evaluating, and monitoring DA layers is real overhead that monolithic chains don’t have.
We need DA layer abstraction - let rollup frameworks handle DA selection automatically based on cost/security preferences.
The developer experience of choosing DA layers is worse than you described.
My Actual Experience
When I was evaluating DA for our rollup deployment:
Celestia Integration
1. Learn Celestia's namespace concept
2. Set up a Celestia light node (or use a provider)
3. Configure blob submission
4. Handle Celestia-specific proofs
5. Monitor Celestia consensus
Docs: Good but Celestia-specific terminology everywhere. “Namespaces,” “shares,” “data squares” - none of this maps to Ethereum concepts.
EigenDA Integration
1. Understand EigenLayer's AVS model
2. Configure EigenDA disperser
3. Handle blob encoding (KZG commitments)
4. Monitor operator availability
5. Manage restaking dependencies
Docs: Assumes you understand EigenLayer first. That’s a prerequisite with its own learning curve.
Ethereum Blobs (EIP-4844)
1. Use blob transactions
2. Done
Docs: Standard Ethereum tooling works.
The Cost vs Complexity Matrix
| DA Option |
Monthly Cost (10MB/day) |
Integration Effort |
Monitoring Effort |
| Ethereum Blobs |
~$6,000 |
1 day |
Minimal |
| Celestia |
~$15 |
1-2 weeks |
Medium |
| EigenDA |
~$6 |
1-2 weeks |
High |
Yes, Celestia and EigenDA are 400x cheaper. But is the complexity worth it at your scale?
My Rule of Thumb
- Spending < $5K/month on DA: Use Ethereum blobs
- Spending $5-50K/month: Consider Celestia
- Spending $50K+/month: Worth evaluating all options
Most projects aren’t at the scale where DA cost matters. They’re adding complexity for savings that don’t move the needle.
ZK rollups have specific DA requirements that make this decision even more complex.
ZK Rollup DA Needs
ZK rollups need to post two types of data:
- State diffs - What changed (compact)
- Transaction data - What happened (verbose)
With validity proofs, you technically only need state diffs for security. But for user experience and data reconstruction, you want full transaction data available.
The ZK-Specific DA Trade-offs
State Diff Only (Validium Model)
- Post state diffs to L1, full data to off-chain DA
- Cheapest option
- Users trust that data is available somewhere
- If DA layer fails, users can’t independently verify
Full Data (ZK Rollup Model)
- Post everything to L1 or DA layer
- More expensive
- Users can fully verify and reconstruct state
- No trust assumptions beyond the DA layer
DA Layer Evaluation for ZK Specifically
| Feature |
Ethereum |
Celestia |
EigenDA |
| ZK proof verification |
Native |
Not supported |
Not supported |
| Proof of DA inclusion |
Not needed |
Merkle proofs |
KZG commitments |
| Verification cost on L1 |
Zero |
~$0.50 |
~$0.30 |
| Composability with L1 |
Perfect |
Cross-chain |
Ethereum-aligned |
The Underappreciated Risk
Here’s what people miss: if you use an external DA layer, you need to prove on L1 that the data was actually posted to that DA layer. This adds:
- An additional verification step
- Another potential point of failure
- Gas costs for DA attestation on L1
For ZK rollups, Ethereum blobs remain the simplest and most secure option. The cost savings of alternative DA layers need to be weighed against the added proof complexity.
The operational challenges of running multi-DA setups are significant.
Multi-DA Architecture
Some teams run multiple DA layers for redundancy:
Rollup Sequencer
├── Celestia (primary DA)
├── EigenDA (secondary DA)
└── Ethereum blobs (settlement + fallback DA)
Sounds great on paper. In practice:
Monitoring Requirements
For EACH DA layer, you need to monitor:
- Liveness - Is the network producing blocks?
- Inclusion - Was your blob actually included?
- Propagation - Can light nodes access your data?
- Cost - Are fees within expected range?
- Finality - Has the DA been finalized?
That’s 5 metrics x 3 DA layers = 15 monitoring dimensions just for data availability.
Incident Scenarios
Scenario 1: Celestia congestion
- Blob fees spike 10x
- Automatically failover to EigenDA?
- But EigenDA uses different blob format
- Need format conversion in the hot path
Scenario 2: EigenDA operator set change
- Operators get slashed, quorum drops
- Is the remaining set sufficient?
- Do you failover preemptively?
Scenario 3: Both DA layers delayed
- Rollup can’t post data anywhere
- Sequencer queue builds up
- User transactions pending indefinitely
- Only escape hatch: fall back to expensive Ethereum blobs
My Recommendation
Pick ONE external DA layer plus Ethereum blobs as fallback. Multi-DA adds exponential complexity for marginal resilience. The simpler your DA setup, the faster you can respond when things break.