{
  "$schema": "https://degreesofsatoshi.com/encyclopedia/schemas/article-v1.json",
  "schemaVersion": "1.0.0",
  "id": "ethereum-blobs-data-availability",
  "canonical": "https://degreesofsatoshi.com/encyclopedia/ethereum-blobs-data-availability/",
  "collection": "ethereum",
  "title": "Ethereum blobs and data availability",
  "description": "Understand how Ethereum blobs carry rollup data, how commitments differ from data, and why availability is not permanent archival storage.",
  "aliases": [
    "blob",
    "EIP-4844",
    "data availability",
    "proto-danksharding"
  ],
  "dates": {
    "published": "2026-10-02",
    "modified": "2026-10-02",
    "verified": "2026-10-02T15:10:23.134Z",
    "dataAsOf": null
  },
  "authorship": {
    "publisher": "Degrees of Satoshi editorial project",
    "process": "AI-assisted research and drafting with a separate automated source-verification pass; no external expert or named human review is implied."
  },
  "quickAnswer": {
    "text": "Blobs are a way to publish data alongside Ethereum transactions, designed for uses such as rollups. Their data is handled separately from EVM execution and has a separate fee market. Availability lets others obtain and check the data; it is not a promise of permanent storage.",
    "claimId": "ethereum-blobs-data-availability-quick-answer",
    "sourceIds": [
      "eip4844",
      "data-availability",
      "validity"
    ]
  },
  "keyFacts": [
    {
      "label": "Purpose",
      "value": "Publish data needed by systems such as rollups",
      "sourceIds": [
        "eip4844",
        "data-availability"
      ],
      "id": "purpose",
      "claimId": "ethereum-blobs-data-availability-fact-purpose"
    },
    {
      "label": "Execution",
      "value": "EVM execution can reference blob commitments but cannot read arbitrary blob contents directly",
      "sourceIds": [
        "eip4844"
      ],
      "id": "execution",
      "claimId": "ethereum-blobs-data-availability-fact-execution"
    },
    {
      "label": "Cost",
      "value": "Blob gas has a fee market distinct from execution gas",
      "sourceIds": [
        "eip4844"
      ],
      "id": "cost",
      "claimId": "ethereum-blobs-data-availability-fact-cost"
    }
  ],
  "prerequisites": [
    "ethereum-layer-2",
    "ethereum-gas-fees"
  ],
  "sections": [
    {
      "id": "why-publish-data",
      "heading": "Other people need the inputs, not just a claimed result",
      "sourceIds": [
        "data-availability",
        "optimistic",
        "validity"
      ],
      "paragraphs": [
        "A rollup can announce a new state commitment, but a commitment is only a compact reference to data. Independent participants need the relevant data to reconstruct balances and execution, challenge incorrect results where applicable, and prepare operations such as withdrawals.",
        "Data availability asks whether that data can be obtained when the network accepts the result. It differs from execution validity, which asks whether the state transition follows the rules. A system needs an explanation for both questions."
      ]
    },
    {
      "id": "blob-mechanism",
      "heading": "Blob data travels beside execution",
      "sourceIds": [
        "eip4844"
      ],
      "paragraphs": [
        "EIP-4844 introduced a transaction type that refers to blobs through cryptographic commitments. The execution layer processes the transaction while the blob data is handled separately. The EVM has access to a versioned hash reference, not an instruction that reads arbitrary bytes from the blob.",
        "This separation lets Ethereum price and handle data publication differently from ordinary execution. A rollup can use that publication channel while its own software interprets the data. A blob is not a smart contract, a new account or a general promise to host a file forever."
      ]
    },
    {
      "id": "worked-example",
      "heading": "Example: sharing a publication cost across a batch",
      "sourceIds": [
        "eip4844",
        "validity"
      ],
      "paragraphs": [
        "Suppose a hypothetical rollup spends 0.001 ETH publishing data for a batch containing 100 equally sized actions. Dividing that one cost equally gives 0.00001 ETH per action. This illustrates how batching can spread a shared publication expense.",
        "It is not a fee quote. Real batches contain different data sizes, compression varies, blob demand changes, and users also pay for execution and other protocol costs. A rollup’s pricing policy decides how those expenses appear in the user’s final fee."
      ]
    },
    {
      "id": "availability-not-archive",
      "heading": "Availability and long-term retrieval are different services",
      "sourceIds": [
        "eip4844",
        "validity",
        "data-availability"
      ],
      "paragraphs": [
        "The protocol has a bounded obligation to serve blob data rather than a promise that every node retains it permanently. Historical reconstruction beyond that availability window requires retained copies or archival services. A hash proves which data was committed; it cannot regenerate missing bytes.",
        "Blob capacity, pricing parameters and distribution mechanisms can change with network upgrades. This entry describes the mechanism and deliberately does not present the original EIP’s capacity constants as current limits. For a live operational limit, identify the active fork and client specification."
      ]
    }
  ],
  "faq": [
    {
      "question": "Can a smart contract read all the bytes in a blob?",
      "answer": "Not directly through normal EVM execution. EIP-4844 exposes references and a verification mechanism, while blob contents are handled outside the execution data available to contracts.",
      "sourceIds": [
        "eip4844"
      ]
    },
    {
      "question": "Does availability mean the data is stored forever?",
      "answer": "No. Availability at acceptance and permanent archival retrieval are separate guarantees. Older blob data requires retained copies.",
      "sourceIds": [
        "eip4844",
        "validity"
      ]
    },
    {
      "question": "Do blobs make every rollup transaction cheap?",
      "answer": "No. They provide a separate data publication channel. Demand, batch usage, execution costs and the rollup’s fee policy still affect what a user pays.",
      "sourceIds": [
        "eip4844",
        "validity"
      ]
    }
  ],
  "claims": [
    {
      "id": "ethereum-blobs-data-availability-quick-answer",
      "articleSlug": "ethereum-blobs-data-availability",
      "statement": "Blobs are a way to publish data alongside Ethereum transactions, designed for uses such as rollups. Their data is handled separately from EVM execution and has a separate fee market. Availability lets others obtain and check the data; it is not a promise of permanent storage.",
      "sourceIds": [
        "source-62554f5963866df3",
        "source-73ba119e5fae20da",
        "source-b267e88f1835f980"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-62554f5963866df3",
          "locator": "Abstract; gas accounting; consensus-layer validation; rationale"
        },
        {
          "sourceId": "source-73ba119e5fae20da",
          "locator": "Data availability problem; rollups; availability versus retrievability"
        },
        {
          "sourceId": "source-b267e88f1835f980",
          "locator": "Data availability; validity proofs; withdrawals; EVM compatibility"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read4844 references, separate gas and bounded retention; avoids original capacity constants as currentlimits.0.001/100=.00001."
        ]
      }
    },
    {
      "id": "ethereum-blobs-data-availability-fact-purpose",
      "articleSlug": "ethereum-blobs-data-availability",
      "statement": "Purpose: Publish data needed by systems such as rollups",
      "sourceIds": [
        "source-62554f5963866df3",
        "source-73ba119e5fae20da"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-62554f5963866df3",
          "locator": "Abstract; gas accounting; consensus-layer validation; rationale"
        },
        {
          "sourceId": "source-73ba119e5fae20da",
          "locator": "Data availability problem; rollups; availability versus retrievability"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read4844 references, separate gas and bounded retention; avoids original capacity constants as currentlimits.0.001/100=.00001."
        ]
      }
    },
    {
      "id": "ethereum-blobs-data-availability-fact-execution",
      "articleSlug": "ethereum-blobs-data-availability",
      "statement": "Execution: EVM execution can reference blob commitments but cannot read arbitrary blob contents directly",
      "sourceIds": [
        "source-62554f5963866df3"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-62554f5963866df3",
          "locator": "Abstract; gas accounting; consensus-layer validation; rationale"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read4844 references, separate gas and bounded retention; avoids original capacity constants as currentlimits.0.001/100=.00001."
        ]
      }
    },
    {
      "id": "ethereum-blobs-data-availability-fact-cost",
      "articleSlug": "ethereum-blobs-data-availability",
      "statement": "Cost: Blob gas has a fee market distinct from execution gas",
      "sourceIds": [
        "source-62554f5963866df3"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-62554f5963866df3",
          "locator": "Abstract; gas accounting; consensus-layer validation; rationale"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read4844 references, separate gas and bounded retention; avoids original capacity constants as currentlimits.0.001/100=.00001."
        ]
      }
    }
  ],
  "sources": [
    {
      "id": "eip4844",
      "label": "EIP-4844: Shard Blob Transactions",
      "publisher": "Ethereum Improvement Proposals",
      "url": "https://raw.githubusercontent.com/ethereum/EIPs/ac912ca6a9685590345dd8e5736cda75976d0131/EIPS/eip-4844.md",
      "canonicalUrl": "https://eips.ethereum.org/EIPS/eip-4844",
      "version": "ac912ca6a9685590345dd8e5736cda75976d0131",
      "checkedAt": "2026-10-02T14:35:51.590523+00:00",
      "locator": "Abstract; gas accounting; consensus-layer validation; rationale",
      "sha256": "2772bdb675d90d89ebb4bf74269e48c8ea46745e78161c8574ffa78328b31885",
      "note": "Defines blob commitments, separately priced blob gas and time-limited data serving; original capacity constants are not treated as current limits.",
      "recordId": "source-62554f5963866df3",
      "contentSha256": "2772bdb675d90d89ebb4bf74269e48c8ea46745e78161c8574ffa78328b31885"
    },
    {
      "id": "data-availability",
      "label": "Data availability",
      "publisher": "ethereum.org contributors",
      "url": "https://raw.githubusercontent.com/ethereum/ethereum-org-website/dcc900ff125891da5b6c723b905a7113cf1bd864/public/content/developers/docs/data-availability/index.md",
      "canonicalUrl": "https://ethereum.org/en/developers/docs/data-availability/",
      "version": "dcc900ff125891da5b6c723b905a7113cf1bd864",
      "checkedAt": "2026-10-02T14:35:47.112785+00:00",
      "locator": "Data availability problem; rollups; availability versus retrievability",
      "sha256": "8ef54fe5d3ff94dec32a7de22795770098bed269e308d5a2ad1dd6e542d909e9",
      "note": "Supports why a hash is not sufficient to reconstruct data and why availability differs from permanent historical storage.",
      "recordId": "source-73ba119e5fae20da",
      "contentSha256": "8ef54fe5d3ff94dec32a7de22795770098bed269e308d5a2ad1dd6e542d909e9"
    },
    {
      "id": "validity",
      "label": "Zero-knowledge rollups",
      "publisher": "ethereum.org contributors",
      "url": "https://raw.githubusercontent.com/ethereum/ethereum-org-website/dcc900ff125891da5b6c723b905a7113cf1bd864/public/content/developers/docs/scaling/zk-rollups/index.md",
      "canonicalUrl": "https://ethereum.org/en/developers/docs/scaling/zk-rollups/",
      "version": "dcc900ff125891da5b6c723b905a7113cf1bd864",
      "checkedAt": "2026-10-02T14:35:47.579728+00:00",
      "locator": "Data availability; validity proofs; withdrawals; EVM compatibility",
      "sha256": "c3d22a952a4e66b8ee0bd45a80fd013b2a6ee9d78e1d346482297c2768fe2712",
      "note": "Supports validity proofs and public rollup data; no claim that every withdrawal is instant or that every ZK system is private.",
      "recordId": "source-b267e88f1835f980",
      "contentSha256": "c3d22a952a4e66b8ee0bd45a80fd013b2a6ee9d78e1d346482297c2768fe2712"
    },
    {
      "id": "optimistic",
      "label": "Optimistic rollups",
      "publisher": "ethereum.org contributors",
      "url": "https://raw.githubusercontent.com/ethereum/ethereum-org-website/dcc900ff125891da5b6c723b905a7113cf1bd864/public/content/developers/docs/scaling/optimistic-rollups/index.md",
      "canonicalUrl": "https://ethereum.org/en/developers/docs/scaling/optimistic-rollups/",
      "version": "dcc900ff125891da5b6c723b905a7113cf1bd864",
      "checkedAt": "2026-10-02T14:35:47.579696+00:00",
      "locator": "Fraud proving; censorship resistance; exiting the rollup",
      "sha256": "cb9e43862d4716e7fac18423a53aa8efde7597ef9ed4c19d65acb7ceca2f21cd",
      "note": "Supports challenge periods, dispute verification, sequencer ordering and withdrawal distinctions; concrete timings depend on the implementation.",
      "recordId": "source-e415b897a2b02da7",
      "contentSha256": "cb9e43862d4716e7fac18423a53aa8efde7597ef9ed4c19d65acb7ceca2f21cd"
    }
  ],
  "related": {
    "articles": [
      "ethereum-gas-fees",
      "optimistic-rollups",
      "validity-rollups"
    ],
    "dossiers": [],
    "wallets": []
  },
  "revisionHistory": [
    {
      "date": "2026-10-02",
      "kind": "published",
      "summary": "First publication after primary-source research and independent automated verification."
    }
  ],
  "citation": "Degrees of Satoshi editorial project. “Ethereum blobs and data availability.” Published 2026-10-02; updated 2026-10-02. https://degreesofsatoshi.com/encyclopedia/ethereum-blobs-data-availability/"
}
