Verify-only partial state: nodes that verify while holding only the state they need

Strawmap J* (2028~29) · validity-only partial state

This work lets a node store only the part of Ethereum's state that it needs, rather than all of it, while still being able to fully verify that blocks are correct.

Why it is needed

Today an Ethereum node must keep the entire state on disk, meaning every account balance and every contract's stored values, in order to verify blocks. State keeps growing as transactions accumulate, so the bar for running a node at home keeps rising. Verify-only partial state separates these two concerns. Whether a block executed according to the rules is checked with a proof or witness data, and the node stores only the parts of state it chooses, such as the accounts and contracts it uses. Verify-only means that the node does not produce blocks or serve all data, and only takes on the role of checking that the chain is correct. This lets even light hardware directly check its own assets and the state of the apps it uses often, without trusting someone else's server. It is classified as client implementation, specification and network work, not a change to consensus rules. The Strawmap expects it around the J fork, but this is not a confirmed schedule.

How it works

  1. Choose which state to keep The node operator decides the range of state to keep, such as their own accounts or frequently used contracts. The rest of the state is not stored on disk.
  2. Check block validity When a new block arrives, instead of re-executing it against the full state, the node uses the accompanying proof or witness data to check that the block was processed according to the rules.
  3. Update only my state Once verification is done, the node updates to the new values only the part of the state changed by the block that falls within the range it keeps.

← Roadmap