{
  "$schema": "https://degreesofsatoshi.com/encyclopedia/schemas/article-v1.json",
  "schemaVersion": "1.0.0",
  "id": "validity-rollups",
  "canonical": "https://degreesofsatoshi.com/encyclopedia/validity-rollups/",
  "collection": "ethereum",
  "title": "Validity rollups: what does the proof prove?",
  "description": "Learn how validity rollups prove state changes, why data still matters, and why a proof does not make every transaction private or instant.",
  "aliases": [
    "ZK-rollup",
    "zero-knowledge rollup",
    "validity proof"
  ],
  "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": "A validity rollup executes transactions outside Ethereum and submits a cryptographic proof that a proposed state change follows its rules. Ethereum verifies the proof. The rollup also publishes reconstruction data; proof generation, settlement and withdrawals remain distinct steps.",
    "claimId": "validity-rollups-quick-answer",
    "sourceIds": [
      "validity",
      "data-availability"
    ]
  },
  "keyFacts": [
    {
      "label": "Proof scope",
      "value": "Correct execution of the rules encoded by the proof system",
      "sourceIds": [
        "validity"
      ],
      "id": "proof-scope",
      "claimId": "validity-rollups-fact-proof-scope"
    },
    {
      "label": "Data requirement",
      "value": "A rollup publishes data needed to reconstruct its state",
      "sourceIds": [
        "validity",
        "data-availability"
      ],
      "id": "data-requirement",
      "claimId": "validity-rollups-fact-data-requirement"
    },
    {
      "label": "Privacy",
      "value": "Validity proofs alone do not make transactions confidential",
      "sourceIds": [
        "validity"
      ],
      "id": "privacy",
      "claimId": "validity-rollups-fact-privacy"
    }
  ],
  "prerequisites": [
    "ethereum-layer-2",
    "ethereum-smart-contracts"
  ],
  "sections": [
    {
      "id": "proof-mechanism",
      "heading": "A verifier checks a statement about execution",
      "sourceIds": [
        "validity"
      ],
      "paragraphs": [
        "A rollup represents its accounts and other state with a compact cryptographic commitment. After executing a batch, the operator proposes a new commitment and produces a proof linking the old state, the transactions and the resulting state under the rollup’s rules.",
        "An Ethereum verifier contract checks that proof instead of repeating every underlying computation. The security claim concerns the specified computation and the implemented proof system. Bugs in either can undermine the intended result."
      ]
    },
    {
      "id": "worked-example",
      "heading": "Example: proving a balance update",
      "sourceIds": [
        "validity"
      ],
      "paragraphs": [
        "Imagine an account with 10 tokens makes an authorized transfer of 3 tokens. Ignoring fees for this example, the new balance is 7 and the recipient gains 3. A correct proof must be consistent with authorization, sufficient funds and both balance changes under the encoded rules.",
        "It does not establish that the recipient shipped a promised product, that the token has value or that the user understood the signature. Those are different claims. A mathematical proof of execution is powerful precisely because its scope is specific."
      ]
    },
    {
      "id": "data-and-privacy",
      "heading": "A proof is not the data needed to use the chain",
      "sourceIds": [
        "validity",
        "data-availability",
        "scaling"
      ],
      "paragraphs": [
        "Users and independent operators still need enough published data to reconstruct the rollup state. A tiny state commitment cannot tell a user their balance or supply every input needed to prepare an exit. Data availability remains a separate requirement.",
        "The label ZK-rollup does not promise private payments. A proof system may have a zero-knowledge property while the rollup publishes transaction information publicly. Systems that keep reconstruction data outside Ethereum introduce different availability assumptions and are commonly described as validiums rather than rollups."
      ]
    },
    {
      "id": "timing-and-limits",
      "heading": "Proof-based settlement still has stages",
      "sourceIds": [
        "validity",
        "pos"
      ],
      "paragraphs": [
        "An operator must include the transaction, assemble a batch, generate the proof and get it accepted on Ethereum. Ethereum inclusion and finality then matter. A withdrawal can require additional bridge steps. Avoid interpreting the absence of a fraud-proof challenge interval as a guarantee of immediate payment.",
        "Assess the actual deployment: who can submit batches, what happens during an outage, how upgrades work and whether users can exit without cooperation. A sound proof system addresses invalid state changes; it does not by itself guarantee prompt service or eliminate administrative authority."
      ]
    }
  ],
  "faq": [
    {
      "question": "Does ZK mean my transactions are private?",
      "answer": "No. Rollups can publish transaction information publicly while using validity proofs. Privacy depends on the application and the exact information it reveals.",
      "sourceIds": [
        "validity"
      ]
    },
    {
      "question": "Are withdrawals always instant?",
      "answer": "No. Batching, proof production, Ethereum inclusion and the bridge workflow can all take time. A validity proof removes a particular need for fraud-proof challenges, not all waiting.",
      "sourceIds": [
        "validity",
        "pos"
      ]
    },
    {
      "question": "Can a validity proof establish that a token is well backed?",
      "answer": "Not on its own. It establishes a statement about the encoded computation. Real-world reserve or delivery claims require evidence outside that computation.",
      "sourceIds": [
        "validity"
      ]
    }
  ],
  "claims": [
    {
      "id": "validity-rollups-quick-answer",
      "articleSlug": "validity-rollups",
      "statement": "A validity rollup executes transactions outside Ethereum and submits a cryptographic proof that a proposed state change follows its rules. Ethereum verifies the proof. The rollup also publishes reconstruction data; proof generation, settlement and withdrawals remain distinct steps.",
      "sourceIds": [
        "source-b267e88f1835f980",
        "source-73ba119e5fae20da"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b267e88f1835f980",
          "locator": "Data availability; validity proofs; withdrawals; EVM compatibility"
        },
        {
          "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": [
          "Checked proof scope, published state data, privacy limitation and bridge steps. Correctly qualifies overbroad upstream no-delay language.10−3=7."
        ]
      }
    },
    {
      "id": "validity-rollups-fact-proof-scope",
      "articleSlug": "validity-rollups",
      "statement": "Proof scope: Correct execution of the rules encoded by the proof system",
      "sourceIds": [
        "source-b267e88f1835f980"
      ],
      "sourceLocators": [
        {
          "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": [
          "Checked proof scope, published state data, privacy limitation and bridge steps. Correctly qualifies overbroad upstream no-delay language.10−3=7."
        ]
      }
    },
    {
      "id": "validity-rollups-fact-data-requirement",
      "articleSlug": "validity-rollups",
      "statement": "Data requirement: A rollup publishes data needed to reconstruct its state",
      "sourceIds": [
        "source-b267e88f1835f980",
        "source-73ba119e5fae20da"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b267e88f1835f980",
          "locator": "Data availability; validity proofs; withdrawals; EVM compatibility"
        },
        {
          "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": [
          "Checked proof scope, published state data, privacy limitation and bridge steps. Correctly qualifies overbroad upstream no-delay language.10−3=7."
        ]
      }
    },
    {
      "id": "validity-rollups-fact-privacy",
      "articleSlug": "validity-rollups",
      "statement": "Privacy: Validity proofs alone do not make transactions confidential",
      "sourceIds": [
        "source-b267e88f1835f980"
      ],
      "sourceLocators": [
        {
          "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": [
          "Checked proof scope, published state data, privacy limitation and bridge steps. Correctly qualifies overbroad upstream no-delay language.10−3=7."
        ]
      }
    }
  ],
  "sources": [
    {
      "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": "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": "scaling",
      "label": "Scaling overview",
      "publisher": "ethereum.org contributors",
      "url": "https://raw.githubusercontent.com/ethereum/ethereum-org-website/dcc900ff125891da5b6c723b905a7113cf1bd864/public/content/developers/docs/scaling/index.md",
      "canonicalUrl": "https://ethereum.org/en/developers/docs/scaling/",
      "version": "dcc900ff125891da5b6c723b905a7113cf1bd864",
      "checkedAt": "2026-10-02T14:35:47.354550+00:00",
      "locator": "Layer 2 scaling; rollups; sidechains; validium",
      "sha256": "184af71e45f53390c4f782d936954caf42715feb82048072d79eb05495569a21",
      "note": "Supports rollup execution/settlement roles and distinct security assumptions of sidechains and offchain data systems.",
      "recordId": "source-27bb64638570155e",
      "contentSha256": "184af71e45f53390c4f782d936954caf42715feb82048072d79eb05495569a21"
    },
    {
      "id": "pos",
      "label": "Proof of stake",
      "publisher": "ethereum.org contributors",
      "url": "https://raw.githubusercontent.com/ethereum/ethereum-org-website/dcc900ff125891da5b6c723b905a7113cf1bd864/public/content/developers/docs/consensus-mechanisms/pos/index.md",
      "canonicalUrl": "https://ethereum.org/en/developers/docs/consensus-mechanisms/pos/",
      "version": "dcc900ff125891da5b6c723b905a7113cf1bd864",
      "checkedAt": "2026-10-02T14:35:43.818781+00:00",
      "locator": "Validators; transaction execution; finality; fork choice",
      "sha256": "54450f20b10562f7b1094f3ba79aee51512206e45aeccabb636e1c533a70f9cd",
      "note": "Supports 12-second slots, 32-slot epochs, stake-weighted checkpoint voting and block verification.",
      "recordId": "source-0fc300dcdcf420c6",
      "contentSha256": "54450f20b10562f7b1094f3ba79aee51512206e45aeccabb636e1c533a70f9cd"
    }
  ],
  "related": {
    "articles": [
      "optimistic-rollups",
      "ethereum-blobs-data-availability",
      "rollup-sequencers"
    ],
    "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. “Validity rollups: what does the proof prove?.” Published 2026-10-02; updated 2026-10-02. https://degreesofsatoshi.com/encyclopedia/validity-rollups/"
}
