← Back to trust

Data availability

To No Avail

The substitution thesis is withdrawn. The surviving record establishes selected protocol capabilities while leaving deployment, demand, pricing, and category-level substitution unproved.

ContentsBrowse sections

The original substitution argument moved too quickly from implementation to market structure. It established that Avail and Ethereum expose overlapping data-availability functions, then treated overlap as evidence of substitution. That inference was not earned. Protocol capability, deployed configuration, observed use, commercial demand, and category durability are different empirical objects. A repository can establish the first, a live endpoint can partly establish the second, and neither can establish the rest.

The substitution argument is withdrawn. What follows is its reconstruction boundary: the narrow technical record that survived, the claims that did not, and the evidence a future paper would need before it could make a strategic claim.

Basis of analysis

The July 15 packet pins eleven protocol and measurement-code repositories, maps Avail's observed mainnet node to a release commit, records Ethereum's current blob schedule, reviews the scoped Avail audit reports, and preserves a point-in-time L2BEAT measurement. Those materials sit at different evidentiary levels, and the article keeps them apart. Pinned source at named commits shows implemented capability. An RPC self-report ties a running mainnet node to a release identifier, the lightweight tag carrying that identifier is unsigned, and the correspondence therefore runs from source to reported version rather than to an attested binary. Specification text and configuration entry record declared and scheduled blob capacity. The packet does not establish runtime activation across deployed nodes. The preserved L2BEAT capture reports configured-capacity ratios for one window under two populations. Review reaches historical code surfaces, leaves the earliest file's issues at “Reported,” and includes risk-accepted dispositions. The audit repository does not certify current HEAD. The packet does not authorize a market-share, price-convergence, affiliation, subsidy, displacement, or forecast claim, and no source read here supplies comparable prices and revenue, a defined demand denominator, verified client affiliation or subsidy data, or switching-cost evidence.

A shared function is not yet a shared trust contract, and a shared trust contract would still not prove substitution.

What the Source Record Establishes

The Avail mainnet RPC observed on 15 July 2026 identified itself as Avail DA Mainnet, node version 2.3.4-510ee26dde6, and runtime specification 51. The lightweight tag v2.3.4.3 points to a GitHub-verified commit carrying the node release source, though the tag itself is unsigned. That release declares core-node-13, and that tag resolves to the tree carrying the avail-core grid source, which is also the checkout this audit reviewed in July. Together these records supply a bounded source-to-reported-version correspondence, although a public RPC response cannot attest the binary or prove that every validator runs identical native software.

At those pins, the node constructs an evaluation grid from submitted application extrinsics, derives polynomial commitments, extends commitments by a factor of two, and places the result in the block-header extension (availproject/avail 2026; availproject/avail-core 2026). The light client generates random cell positions, fetches cells through its network path, verifies multiproofs against header commitments, and records a confidence value after sufficient cells verify (availproject/avail-light 2026). These are implementation claims about the pinned source, and they survive.

One earlier provenance claim does not. The current core source loads embedded points from g1_g2_1024.txt and calls them “pre-generated trusted” G1 and G2 points. Neither the pinned source tree, its reviewed history, nor the current official documentation located in this audit establishes that those points derive from Filecoin’s Powers of Tau ceremony. The earlier statement that Avail’s SRS was tied to that ceremony is withdrawn. A replacement requires a ceremony artifact, transformation transcript, digest correspondence, and an explicit account of the toxic-waste assumption.

The audit repository proves that several historical code surfaces received review. It does not certify current HEAD. Least Authority’s November 2022 file is labelled an initial report and leaves its recorded issues and suggestions at “Reported.” Halborn’s January 2024 report records three medium findings: one solved and two risk accepted. Its May 2024 report covers named historical commits, excludes later changes and economic attacks, and includes solved, partially solved, and risk-accepted dispositions (availproject/audits 2025). “Competent engineering” is therefore replaced by the narrower statement that identifiable implementations and review surfaces exist.

Why the Category Comparison Failed

The earlier draft described external data-availability systems as though they shared one primitive set. The source record contradicts that compression. Avail’s reviewed path combines a two-dimensional grid, KZG commitments, and a sampling client. Celestia’s current node uses an extended data square, namespaced Merkle-tree roots, and random share sampling rather than Avail’s commitment path (celestiaorg/celestia-node 2026). EigenDA organizes encoding, dispersal, operator quorums, retrieval, and KZG verification around a service and contract system (Layr-Labs/eigenda 2026). Ethereum PeerDAS extends each EIP-4844 blob into cells, arranges cells in columns, assigns custody groups, and couples availability to Ethereum’s own fork choice and validator duties (EIP-7594 2026; ethereum/consensus-specs 2026).

These systems address related publication problems. Their consensus attachment, commitment structure, retrieval path, custody model, bridge assumptions, pricing, and failure response are not interchangeable. Functional overlap can motivate a comparison; it cannot stand in for the comparison’s result.

Capacity Is Not Demand

Ethereum’s capacity facts are reproducible. EIP-4844 entered mainnet with Cancun on 13 March 2024. PeerDAS is final in EIP-7594 and entered the Fulu configuration in December 2025. BPO1 activated on 9 December 2025 with target 10 and maximum 15 blobs per block, and BPO2 activated on 7 January 2026 with target 14 and maximum 21 (EIP-8134 2026; EIP-8135 2026). BPO3 remains a draft with unset parameters at the reviewed pin (EIP-8138 2026).

A 15 July capture of L2BEAT’s server-rendered measurement record, synced through 14 July at 23:00 UTC, reported Ethereum at 32.54 percent of configured capacity for all tracked traffic and 29.12 percent for traffic attributed to scaling projects. That establishes unused headroom for one measurement window. It does not establish a durable price ceiling, a causal decline in external demand, or the commercial choice a rollup would make.

The same capture shows why denominator discipline matters. Avail’s all-traffic view recorded 29,745,187 bytes over the past day, 0.16 percent capacity use, and Rooch Network as the largest poster at 7.27 percent. Its scaling-project-only view recorded 1,985,716 bytes, 0.01 percent capacity use, and Lens at 94.16 percent. “Demand is concentrated” changes meaning when the population changes. Neither view identifies paid demand, subsidies, common ownership, contractual independence, or revenue.

The earlier draft nevertheless asserted affiliation, subsidy, native-default behavior, order-of-magnitude cost compression, and convergence toward settlement-layer operating overhead. None was reconstructed from a stable denominator and comparable units, and all are withdrawn.

Missing Causal Bridge

The proposed mechanism was called temporal commoditization: an external provider supplies a missing function, the settlement layer internalizes it, and the provider’s category narrows. That phrase may be memorable. No literature review sufficient to separate that mechanism from platform envelopment, vertical integration, architectural substitution, or ordinary capacity competition emerged from this audit, and the draft never observed the mechanism it named.

A credible substitution study would need at least four linked records: provider prices and realized revenue in comparable units, client-level posting volumes with affiliation and subsidy coding, settlement and bridge security assumptions, and adoption decisions with switching and integration costs. It would then need a counterfactual capable of separating Ethereum capacity changes from token prices, incentives, product launches, client churn, and non-Ethereum settlement demand. The earlier paper deliberately excluded much of that demand-side evidence while retaining a demand-side conclusion.

The Christensen inversion, the claim that Avail’s broader roadmap reveals doubt about standalone DA, and all three forecasts depended on this missing bridge. They are retired rather than softened.

Conditions for a Replacement

A future paper must close the following gates before relisting:

  1. Reconstruct a daily, versioned panel that separates all traffic, identified scaling traffic, test traffic, provider-internal traffic, and paid commercial traffic.

  2. Normalize posted bytes, effective price, token conversion, incentives, refunds, and realized provider revenue.

  3. Establish client identity, ownership, grants, fee waivers, and subsidy status from attributable evidence.

  4. Compare security and recovery paths without treating shared vocabulary as equivalent assurance.

  5. Study integration, switching, bridge, and settlement costs from client-side evidence.

  6. Pre-register a substitution test and alternatives.

  7. Obtain adversarial review from a data-availability protocol specialist, an industrial-organization or platform-economics scholar, and a quantitative methods reviewer.

Until those gates close, the correct claim is modest: Ethereum expanded native blob capacity, while external DA systems remain technically and institutionally heterogeneous. What that expansion does to any provider’s durable market position remains an open empirical question.

Scope of Inference

Every finding here is bounded to the artifacts the July 15 packet pins and to public sources as they stood on 15 July 2026. The population is Avail’s observed mainnet node together with the release, core, and light-client commits it reports, the pinned Celestia, EigenDA, and Ethereum consensus trees used for comparison, the specification texts covering blob capacity and PeerDAS, the scoped Avail audit reports, and one preserved L2BEAT capture. Inside that population the article reports implemented construction at named commits, a source-to-reported-version correspondence, declared and scheduled blob capacity, and configured-capacity ratios for a single window.

Each layer stops short of the next. Pinned source shows what an implementation contains and leaves what any deployed binary executes undetermined: the lightweight tag carrying the release identity is unsigned, and a public RPC response can neither attest the binary nor prove that every validator runs identical native software. Specification status and configuration entry record what Ethereum has declared and scheduled. The packet does not establish runtime activation across deployed nodes. Review coverage reaches historical code surfaces and stops there, and the audit repository does not certify current HEAD. The earliest file is labelled an initial report with its issues left at “Reported,” the later reports carry risk-accepted dispositions, and the May 2024 report excludes later changes and economic attacks.

Measurement is bounded twice, by window and by population. The L2BEAT capture is one server-rendered record synced through 14 July at 23:00 UTC, and its all-traffic and scaling-project-only views return different largest posters and different shares for the same provider. Bytes and capacity percentages stop short of paid demand. Neither view of the preserved capture identifies paid demand, subsidies, common ownership, contractual independence, or revenue, and no source this article reads supplies prices, realized revenue, incentives, refunds, client identity, ownership, grants, fee waivers, subsidy status, or client-side integration, switching, bridge, and settlement costs.

Nothing here supports a market-share, price-convergence, affiliation, subsidy, displacement, or forecast claim. Causal inference lies outside the design, which observes no counterfactual separating Ethereum capacity changes from token prices, incentives, product launches, client churn, and non-Ethereum settlement demand. The market, strategic, novelty, and prediction claims of the earlier draft are withdrawn on that ground, and no weaker version of them is reinstated anywhere in this text.

Falsification

One affirmative claim survives the withdrawal. At pins reviewed on 15 July 2026 the record establishes Avail’s implemented data-availability construction and Ethereum’s declared blob-capacity schedule, and it does not establish that settlement-native capacity absorbs external data-availability providers. Five observations would defeat that claim or a finding it rests on. Each names the section whose finding it reaches. No observation in this list reaches Ethereum’s declared blob-capacity schedule, which is checkable against the pinned EIP texts and is not contested here. Where an observation is absent from the current record, each entry says so.

  1. Reading the avail-core grid source and the node release source at their pinned revisions and finding no evaluation grid built from application extrinsics, no polynomial commitments, or no factor-of-two extension placed in the block-header extension would defeat the node-side implementation claims in What the Source Record Establishes. The light-client sampling claims rest on a separate pin in availproject/avail-light, recorded at the light-client sampling source. Both node-side trees are public and fixed at the revisions their records name.

  2. A ceremony artifact with a transformation transcript, a digest correspondence to the embedded points in g1_g2_1024.txt, and an explicit account of the toxic-waste assumption would defeat the withdrawal of the Powers of Tau provenance statement in What the Source Record Establishes. That withdrawal rests on an availability finding: neither the pinned source tree, its reviewed history, nor the current official documentation located in this audit carries such an artifact, so the record holds no observation that would settle the provenance question in either direction.

  3. The Celestia light-availability source showing Avail’s commitment path in place of namespaced Merkle-tree roots and share sampling, or the EigenDA architecture source resolving its dispersal and quorum arrangement into that same construction, would defeat the heterogeneity finding as it applies to that system in Why the Category Comparison Failed. Ethereum PeerDAS would remain distinct on the pinned specification text, so no single observation here restores the earlier draft’s single-primitive compression. Those trees are pinned and readable at the revisions their records name.

  4. All-traffic and scaling-project-only views of the preserved capture returning the same largest poster at the same share would remove the instance on which the denominator argument in Capacity Is Not Demand is built. That comparison runs against the 15 July capture the packet preserves, which reports byte counts over the past day and is the only record of that window the audit holds.

  5. A published panel carrying the four linked records the article names as a minimum, provider prices and realized revenue in comparable units, client-level posting volumes with affiliation and subsidy coding, settlement and bridge security assumptions, and adoption decisions with switching and integration costs, together with a counterfactual separating Ethereum capacity changes from token prices, incentives, product launches, client churn, and non-Ethereum settlement demand, would defeat the negative claim in Missing Causal Bridge and the modest formulation that closes Conditions for a Replacement. No such panel appears in the packet or in the sources it pins.

Two of these conditions resolve against pinned source trees and one against the preserved dashboard capture. A ceremony transcript and a measurement panel stand differently, since the packet contains neither. That absence is the ground on which the substitution thesis was withdrawn, and no repeated query of the pinned sources will resolve either condition.


The original argument tried to turn a roadmap into an outcome. The source record supports a more exact discipline. Code can show that a mechanism exists. Deployment evidence can show that some version is live. A dashboard can describe a bounded observation window. None, alone or together, determines why clients choose a provider or whether a category will endure.

This review yields that boundary. The strategic thesis is withdrawn; the research question survives.


References

availproject/audits. 2025. “Avail Security Audits.” Repository commit fe669f817c56fc949bc48438aa6d458361ff5db6. GitHub.

availproject/avail. 2026. “Avail Node.” Release commit 510ee26dde6c3e678a8b8f1726dd99039de39276; current audit checkout 39d0ccb8b9daf094544f083e47a5f63a9ca1d103. GitHub.

availproject/avail-core. 2026. “Avail Core.” core-node-13, commit e423ad027225a8bcca63ca113f6afee5fdda8af7. GitHub.

availproject/avail-light. 2026. “Avail Light Client.” Repository commit a8ecb74d475c1dd85ef42705d836a30c1f49cef5. GitHub.

celestiaorg/celestia-node. 2026. “Celestia Node.” Repository commit 26c5e393e0068152417f51cf186e656906d1e432. GitHub.

EIP-7594. 2026. “PeerDAS: Peer Data Availability Sampling.” Final specification at repository commit a9b074cffb5bea63b201ee5fabf19553dbfe483a. Ethereum Improvement Proposals.

EIP-8134. 2026. “Hardfork Meta: BPO1.” Ethereum Improvement Proposals.

EIP-8135. 2026. “Hardfork Meta: BPO2.” Ethereum Improvement Proposals.

EIP-8138. 2026. “Hardfork Meta: BPO3.” Draft at the reviewed repository pin. Ethereum Improvement Proposals.

ethereum/consensus-specs. 2026. “Ethereum Consensus Specifications.” Repository commit 8c12caee279d77b322446d33440b37479117dcde. GitHub.

L2BEAT. 2026. “Data Availability Throughput.” Measurement captured 15 July 2026; implementation pin 94c1d681aa27e533e6dd4b63b1aef56004aa4682. L2BEAT.

Layr-Labs/eigenda. 2026. “EigenDA.” Repository commit bfa451e1aaa5eb53ec250758054bbc3267e66208. GitHub.

Code Records

availproject/avail. 2026. Node release version declaration; availproject/avail@510ee26; runtime/src/version.rs, lines 6–36; Git blob a0e04f7f906716f85a9e28926fe8885b82a813b6. Source.

availproject/avail-core. 2026. Grid construction, column extension, commitments, and multiproofs; availproject/avail-core@e423ad0; kate/src/gridgen/core.rs, lines 69–207 and 265–359; Git blob bd93b6af9d31c113c6490511f5dce5ba26e356ef. Source.

availproject/avail-light. 2026. Cell-position generation, multiproof verification, and recorded confidence; availproject/avail-light@a8ecb74; core/src/light_client.rs, lines 137–159 and 210–248; Git blob 7890fd498af8ecee24d489f96cdbe77a999ab8f1. Source.

celestiaorg/celestia-node. 2026. Light-availability share sampling against the Celestia header; celestiaorg/celestia-node@26c5e39; share/availability/light/availability.go, lines 76–181; Git blob 8f15d0aa0278680696cb6128c3dcf9898e827d71. Source.

Layr-Labs/eigenda. 2026. Disperser, encoder, operator, retriever, contract, and encoding-library separation; Layr-Labs/eigenda@bfa451e; docs/contributing.md, lines 17–27; Git blob 82f69cb6933c91432ae3e76d720cb507a4a8c177. Source.