Over the past 90 days I have been running a small piece of instrumentation against Ethereum's blob fee market โ a Python listener that logs blob_gas_used and blob_gas_limit at every block, then joins those records against the blob and calldata footprints of the twelve largest rollups by total value locked. The output is uncomfortable in a specific, structural way. The median rollup in that set filled, across the entire window, less than 4.7% of the blob capacity it effectively provisions. Three of them never exceeded 1.2%. And yet all twelve continue to publish DA roadmaps whose central claim is identical: that data availability โ not execution, not proving, not state growth โ is the binding constraint on their scaling path.
This is the anomaly I want to dissect. Not because low utilization is inherently pathological. Provisioned headroom is rational under bursty demand, and no serious engineer sizes a data pipeline to its median. The problem is that the entire commercial architecture of the modular thesis has been priced as if DA were scarce. It is not scarce. In the current regime it is close to free, and the fee curve behaves accordingly. A market where the product is abundant while the marketing insists it is scarce tends to produce one specific class of error: capital allocated to relieve a bottleneck that does not exist, followed by a research literature that must then explain why the relief produced no measurable improvement.
Context: how data availability became the centerpiece of the scaling debate
For most of the last decade the binding constraint on Ethereum was execution and the cost of committing state to L1. Calldata was expensive, block space was contested, and every rollup design was forced into a single question โ how cheaply can we commit our state roots, plus enough transaction data for an independent party to reconstruct our chain? The modular thesis answered that question by splitting the stack. If execution, settlement, and data availability are separable, then the settlement chain no longer has to carry the data; it only has to guarantee that the data was published somewhere retrievable.
The mechanics of that guarantee are where the disagreements begin. Ethereum's own answer arrived with EIP-4844, which introduced blobs: a separate, ephemeral fee market for data that remains available at the consensus layer for roughly eighteen days before being pruned. Celestia's answer was a dedicated DA chain secured by data availability sampling. EigenDA's answer was to rent Ethereum's economic security through restaking. Avail, and a long tail of others, offered variants on the same theme. Each is a different security model with a different cost structure, and the marketing around them collapsed that diversity into a single word โ DA โ which is precisely the kind of abstraction that hides the thing you need to measure.
I wrote about this at length in 2022, in a paper whose thesis was that data availability, not execution, was the emerging security frontier. I stand by the mechanism. What I underestimated โ and what the last eighteen months have made obvious โ is the difference between DA being the theoretical frontier and DA being the practical bottleneck. A frontier can be real and still be empty. The theoretical claim and the economic reality are two different statements, and the industry has spent two years treating the first as evidence for the second.
What the fee market is actually telling us
Blob space under EIP-4844 is priced by a mechanism deliberately modeled on EIP-1559, with one critical difference: the base fee for blobs updates against a targeted utilization ratio and can fall to near-zero when demand is weak. This is not a bug. It is the intended behavior of a market with elastic supply and a long-run capacity target. But it produces an outcome the modular narrative did not anticipate. Because the fee floor is essentially zero, the marginal cost of DA is essentially zero, which means no rollup has a meaningful economic reason to economize on it. When a resource is priced near zero, consumption stops being a signal of value and starts being a signal of indifference.
My window data, anonymized, looked roughly like this:
- Rollup A: median utilization 4.6%, peak 61%, on-chain disputes 0
- Rollup B: median utilization 1.1%, peak 22%, on-chain disputes 1
- Rollup C: median utilization 8.9%, peak 74%, on-chain disputes 0
- Rollup D: median utilization 0.7%, peak 9%, on-chain disputes 0
- Rollup E: median utilization 3.3%, peak 48%, on-chain disputes 2
The pattern is not that demand is absent. It is that demand is spiky, and the capacity is sized for a spike that arrives perhaps twice a quarter. Between spikes, the resource sits idle and free.
There is a second-order effect that is more interesting. A rollup that commits to a dedicated DA layer โ a Celestia or an EigenDA โ is not buying raw bandwidth. The bandwidth is cheap everywhere; what varies is the cost of the guarantee that the data will actually be retrievable when a fraud proof needs it. And that guarantee is, for most rollups, entirely theoretical, because most rollups never enter a dispute at all.
Here the numbers get sharp. In the twelve-month window I instrumented, the number of on-chain fraud-proof disputes across all major optimistic rollups remained in the low double digits. The number of state commitments those same rollups posted ran into the hundreds of thousands. The ratio of disputes to commitments is therefore on the order of one in ten thousand or worse. This matters because the entire value proposition of a high-assurance DA layer is that it guarantees data availability precisely in the rare scenario where a dispute occurs. You are paying a premium โ in complexity, in latency, in an additional trust surface โ to insure against an event that, empirically, almost never fires.
That is not an argument that the insurance is worthless. Tail risks are, by definition, rare. It is an argument that the insurance is mispriced, and that the mispricing is invisible because it has been folded into the word DA.
Mapping the invisible costs of abstraction layers
When a rollup says it uses Celestia for DA, or posts blobs to Ethereum, it is describing a stack of at least four distinct operations that the word DA flattens into one. Each operation has a different cost, a different failure mode, and a different trust assumption:
- Publication. The data is written to some medium. Cost: the raw fee, which is currently trivial.
- Retention. The data remains retrievable for the window in which it might be needed. Cost: determined entirely by the medium's pruning policy โ eighteen days for Ethereum blobs, longer or shorter for others.
- Retrievability guarantee. Some mechanism โ sampling, an honest minority, a committee โ ensures a node that wants the data can actually get it. Cost: the security budget behind that mechanism, which is where the real expense lives.
- Verification. The consumer of the data can check that what was published matches what was committed. Cost: usually borne by the verifier, and usually the step that gets skipped.
The modular narrative prices step one and assumes steps two through four come free. They do not. They are the invisible costs of the abstraction, and they are exactly the costs that determine whether a DA layer is actually secure or merely marketed as such. When I audit a rollup's DA integration, this is the first place I look, because the failure modes are asymmetric: a cheap publication layer that silently fails at retention produces a chain that looks healthy until the one moment it matters.
There is a latency cost buried in this stack as well. A dedicated DA layer adds a hop between the sequencer and the settlement chain. That hop is usually tens to hundreds of milliseconds, which is invisible in a dashboard but material in a liquidation cascade. The abstraction does not remove the latency; it relocates it, and it relocates it to exactly the moment when the system is under load and the hop is most congested. This is the recurring theme of my work on abstraction: the layer does not eliminate the cost, it hides it until the cost is least affordable.
Parsing the entropy in Layer 2 state transitions
There is a deeper confusion running through the DA debate, and it concerns what a rollup is actually posting. The state commitment โ the root hash โ is a fixed-size object. Everything else is transaction data, and transaction data is compressible. A well-engineered rollup can often squeeze its per-transaction data footprint by an order of magnitude before it ever touches a blob. This means the DA bill a rollup pays is a function not of its throughput but of the efficiency of its serialization layer.
I have watched teams spend six figures on a DA integration and never once profile their compression. The result is that they are paying for bandwidth they could have avoided with a week of engineering. The entropy in their state transitions โ the genuinely irreducible information content โ is a small fraction of what they actually post. The rest is redundancy that a better encoder would have removed.
This is the same pattern I documented in the 2020 DeFi composability work, when I found that teams were paying for oracle updates they did not need and could not use. The mechanism is identical: an abstraction layer hides a cost, the cost compounds silently, and the team attributes the expense to the protocol rather than to its own integration. Unraveling the spaghetti code of legacy DeFi taught me that most protocol costs are actually integration costs in disguise. The same lesson applies here, one layer down.
Where the constraint actually lives
If DA is not the bottleneck, what is? The honest answer, based on the audit work I did on optimistic rollup fraud-proof mechanisms in 2024, is that the real constraints are proving and dispute latency. A challenge period is not free. It is a latency tax on every withdrawal, and its length is calibrated to the worst-case time a dispute could plausibly take to resolve. If your interactive dispute game has a pathological branch โ a move that can be griefed into consuming the entire challenge window โ then your effective finality time is set by that branch, not by your median case.
During the 2024 audit I spent six weeks mapping the game trees of two major optimistic rollups. The finding that stayed with me was not a single exploitable bug but a structural property: the challenge period was sized for the median dispute and validated against the mean, while the adversarial case โ a well-funded griefer willing to extend the game โ sat in the tail. Under high volatility, when the value at risk in a pending dispute spikes, that tail is exactly where rational attackers migrate. The DA layer had nothing to do with it. The DA layer was fine. The constraint was in the dispute mechanism, and no amount of additional data availability would have moved it.
Proving cost is the other side of the same coin. In 2026 I prototyped a small neural-network verification circuit in Circom, trying to prove that an AI agent's decision was a function of specific on-chain data without revealing the model weights. The prototype worked. It was also computationally absurd โ the prover cost dwarfed any DA fee by orders of magnitude. That experience recalibrated my sense of where the money in a modern rollup actually goes. Data availability is the cheap part of the stack. Verification is the expensive part, and it is the part that the marketing consistently underweights because it does not fit on a comparison chart.
This is the core of my contrarian position, and I want to state it as a testable claim rather than a slogan. For any rollup currently spending more than a trivial fraction of its operating budget on DA, the marginal dollar would produce more security per unit of spend if redirected to proving efficiency and dispute-game hardening. I would be delighted to be shown wrong. The way to show me wrong is to produce a rollup whose DA costs are a material share of its budget and whose dispute mechanism is already optimal. I have not found one.
The privacy externality nobody prices
There is a cost that never appears on any DA comparison table, and it is borne entirely by users. Posting transaction data to a public DA layer means that data is, by construction, public and permanent for the retention window. Every input, every call, every amount. Rollups built on KYC-gated fiat on-ramps therefore publish the financial behavior of verified users to anyone who cares to look, while the compliance burden โ the identity checks, the geofencing, the account freezes โ is pushed onto those same honest users. The sophisticated actors route around it with a few fresh wallets and a compliant-looking front. The theater is expensive for the compliant and optional for everyone else.
DA makes this worse in a way that is rarely acknowledged. A monolithic chain at least has the excuse of shared block space. A modular DA layer is explicitly a data-availability product, which means its entire purpose is to make the data maximally available โ to everyone, including the parties the KYC regime was ostensibly designed to exclude. The abstraction has turned a compliance feature into a data leak, and the cost of that leak is charged to the users who followed the rules.
The security theater of sampling
Data availability sampling is elegant on paper. A light node downloads a random subset of the data, and if the data were not fully published, the sampling would fail with high probability. The security argument rests on an honest-minority assumption and on the existence of enough sampling nodes to make the probability of undetected withholding negligible.
The problem is the last clause. Sampling security is a function of how many independent samplers exist, and in practice that number is small and highly correlated. The samplers are run by the same infrastructure operators, funded by the same foundations, and often hosted on the same cloud providers as the sequencers themselves. A security model that assumes an honest minority of an adversary-controlled or correlated population is not a security model; it is a hope with a probability attached.
I reverse-engineered Celestia's DAS proofs in 2022, and the cryptography is sound. The cryptography was never the weak point. The weak point is the assumption about who runs the samplers, and that assumption is not enforced by the protocol โ it is asserted by the marketing. When I ask a DA team how many independent samplers their network actually has, the answer is usually a range, delivered with a caveat, and the caveat is always the same: it will grow. Growth is not a security parameter. It is a projection.
Finding signal in the consensus noise: the governance problem
There is one more layer to this, and it is the one that determines whether any of the above gets fixed. The DA layers, like most protocol projects, are governed by token votes. And token votes, in my experience, are a mechanism for ratifying decisions that were already made elsewhere.
The pattern is stable across the sector. Voter turnout in on-chain governance rarely exceeds single-digit percentages of the eligible supply, and the votes that do arrive are dominated by a handful of addresses โ foundations, early investors, and the large delegates they seed. A proposal to change a fee parameter or a pruning window is not a debate among stakeholders; it is a formality executed by the stakeholders who already agreed on the outcome off-chain. The community, in the sense the word is used in these proposals, is an audience.
This matters for DA specifically because the parameters that determine DA security โ the sampling window, the retention period, the honest-minority threshold โ are governance parameters. If governance is captured, then those parameters will be set to whatever minimizes cost for the parties with the largest positions, and the security margin will be whatever is left over. The noise in the consensus is loud; the signal is that a small number of addresses decide, and everyone else watches.
The counter-argument, and why it fails
The strongest counter-argument is that DA is cheap precisely because it is under-provisioned relative to future demand, and that building the capacity now โ before the demand arrives โ is the correct long-term bet. On this view, low utilization is a feature: you are building the highway before the traffic.
I take the argument seriously, and I think it fails for a specific reason. Infrastructure investment is rational when the cost of building later exceeds the cost of building now. For DA, the opposite is true. Blob capacity scales with the number of validators and can be expanded by a protocol upgrade; dedicated DA layers can add capacity by adding nodes. There is no scarce physical resource โ no land, no spectrum, no fiber. The cost of building DA capacity later is approximately the same as the cost of building it now, and building it now incurs the additional cost of operating and securing it in the meantime. The highway analogy requires a highway that gets more expensive to build over time. DA does not.
The second counter-argument is that DA is a security purchase, not a bandwidth purchase, and that security is worth paying for even at low utilization. This is closer to correct, and it is the argument I would make if I were on the other side. But it collapses into the sampling problem: the security you are buying is only as strong as the number and independence of the parties enforcing it, and that number is, today, small and unmeasured. You are paying a premium for a guarantee whose enforcement you cannot verify. That is not a security purchase. It is a subscription to an assumption.
Takeaway
Here is the forward-looking judgment, stated as something you can watch rather than something you have to believe. Over the next two quarters, track two numbers: the fraction of rollups that publish independent sampler counts for their DA layer, and the fraction of rollup operating budgets allocated to proving efficiency versus DA. If the first number stays near zero while the second stays skewed toward DA, then the industry is not buying security โ it is buying a narrative, and the narrative is being priced as infrastructure. If the first number rises and the second rebalances, then the modular thesis is doing what it promised. The blobs are empty today. What matters is whether anyone is honest about why.
Appendix: instrumentation and reproducibility
For readers who want to verify the utilization figures, the method is straightforward. I query eth_getBlockByNumber for each block in the window and read the blobGasUsed and excessBlobGas fields, then compute the implied base fee per blob using the same exponential update rule the protocol uses. Rollup attribution is done by matching each blob's to address against the rollup's known batch inbox contract, and cross-checked against the rollup's published state-commitment cadence. The script is roughly 300 lines of Python, depends only on a standard JSON-RPC provider, and is deliberately kept small so that anyone can reproduce the results rather than trust them. That is the point of a technical appendix: not to impress, but to let you disagree with evidence instead of with adjectives.