Glossary · Blockchain basics

Blockchain state

Published 24 May 2025 · Updated 21 Oct 2026 · 12 min read

Blockchain state is the agreed snapshot of balances and other current data at a particular block. On Ethereum, it includes account balances and nonces, contract code, and persistent storage. On Bitcoin, it is the unspent outputs. Blocks, transactions, and receipts record history, rather than current values.

  • Nodes applying the same rules and transactions to the same state reach the same state root.
  • Ethereum's state took about 390 GiB in a Geth node in January 2026. Daily growth more than tripled in 2025.
  • Ethereum plans for most nodes to verify blocks without storing state. Canton never builds one global state.

How blockchain state works

A transfer changes current state, while its transaction remains in history. Ethereum's state transition function takes an agreed starting state and valid transactions, then produces the next state. The protocol defines these rules, and clients implement them. Consensus selects the blocks to apply. Ethereum calls its mapping from addresses to accounts the world state.

Number 1

Start

Begin with the last agreed state of all accounts. Each Ethereum account has four fields: the nonce, balance, codeHash, and storageRoot.

Number 2

Execute

Run the block's transactions through the EVM. Its deterministic output means every node reaches the same new state from identical inputs and protocol rules.

Number 3

Update

Apply changed balances and nonces, then update contract storage. Solidity places state variables in 32-byte slots. The protocol keeps each contract's slots in its own storage trie.

Number 4

Commit

Record the updated Merkle Patricia Trie hash as the state root in the block header. This happens after all transactions and withdrawals execute.

Figure 1 · Real Merkle Patricia Trie rootsWatch a snapshot changeApply three transfers between Alice, Bob, and Carol one by one, then add 1 wei to compare balances, nonces, history, and roots.
Step
Block 1 amount
State: current values
Alice iconAlice0xa94f…bf0bNonce0Balance10 ETH
Bob iconBob0x095e…2d87Nonce0Balance5 ETH
Carol iconCarol0x8888…9db1AccountNot created yet
History: blocksNo blocks applied yet. History is empty.
Hash iconState root0x7771cf69e81e451bbab7b28c6d1180ae2b91f30a6bdbc4c8ccd2413411ee69a7Root of the two starting accounts. Fees are left out.

Two accounts supply the starting balances and nonces. The state root is fixed, and history is empty.

These real Merkle Patricia Trie roots are computed using Ethereum's rules. Fees are excluded, and addresses come from the official test suite.

Account model versus UTXO model

Bitcoin's state tracks spendable outputs rather than editable balances. A payment consumes whole outputs and creates new ones, often including change for the sender. Ethereum instead updates account records, such as balances and nonces. Both models record what remains available after a transaction, but they organize that information differently.

Figure 2 · Three ledgersCompare three bookkeeping modelsSwitch between Bitcoin, Ethereum, and Canton to see which entries a transaction removes, creates, or edits.
Coin iconBitcoin: UTXO setTransaction ac0bb677…e93d in block 972,456, 21 October 2026
RemovedOutput of 14,392,804 satsP2SH. Spent as input 1, so it leaves the UTXO set
RemovedOutput of 81,311 satsP2WPKH. Spent as input 2, so it leaves the UTXO set
CreatedOutput of 2,116 satsP2WPKH. A new unspent output
CreatedOutput of 14,460,399 satsP2WPKH. A new unspent output
FeeFee of 11,600 satsInputs minus outputs. The miner claims it in the block's coinbase transaction
2Removed
2Created
0Edited

The payment consumes two UTXOs and creates two replacements. The difference between input and output amounts pays the fee.

Ether iconEthereum: account stateSimpleTx_Cancun, ethereum/tests: a 10 wei transfer, 21,000 gas at 1,000 wei, base fee 14 wei
EditedSender 0xa94f…6ebf0bNonce 0 to 1. Balance 10,000,000,000 to 9,978,999,990 wei
CreatedRecipient 0x095e…2d87A new account holding 10 wei
CreatedBlock producer 0x8888…9db1Absent from the test's starting state, so it is created with the 20,706,000 wei tip
FeeBase fee of 294,000 wei21,000 gas × 14 wei, credited to no account, so it is burned
0Removed
2Created
1Edited

The sender's account changes, and two accounts are created. The sender pays gas, the new producer account receives the tip, and the base fee is burned.

Node iconCanton: contracts per participantIllustrative: Alice pays Bob 60 of a 100 USD Iou issued by a bank
RemovedIou: Bank owes Alice 100 USDArchived. Stored by the participants of the Bank and Alice
CreatedIou: Bank owes Bob 60 USDStored by the participants of the Bank and Bob
CreatedIou: Bank owes Alice 40 USDStored by the participants of the Bank and Alice
Not storedCarol's participantNot a stakeholder, so it stores none of these contracts
1Archived
2Created
0Edited

A contract is archived and new ones are created. Only participant nodes hosting the stakeholders store those contracts.

Bitcoin's example is from block 972,456 on 21 October 2026. Ethereum's is from the official test suite. Canton's is illustrative.

Solana also keeps data in accounts, each keyed by a 32-byte address and backed by a refundable deposit proportional to data size. Cosmos SDK chains combine their module stores into one state root, called the app hash, in the block header.

The size of blockchain state

Disk figures depend on the client, measurement method, and what is counted. Active state is not a complete node database. EIP-8037 warns that at a 200M gas limit and today's prices, state would pass 650 GiB in under a year. Nodes begin slowing at that threshold.

ChainWhat the state holdsSizeGrowth
EthereumWhat the state holdsIt holds accounts, code and storage slots. Storage was 81.7% of state in March 2024.SizeAbout 390 GiB in a Geth node's database in January 2026.GrowthEIP-8037 reports about 326 MiB daily after the gas limit reached 60M in November 2025.
BitcoinWhat the state holdsIts UTXO set contains outputs still available to spend.SizeIt held 164,241,311 outputs, about 13.3 GB, at block 935,000 on 4 February 2026.GrowthIt peaked near 189 million outputs in December 2024, then fell during 2025 consolidation.
SolanaWhat the state holdsIts accounts contain data keyed by 32-byte addresses.SizeAccountsDB files totaled about 495 GB in July 2026.GrowthNet state growth averaged about 0.3 GB daily in July 2026.
BaseWhat the state holdsIt holds its own accounts and contract storage, apart from Ethereum mainnet's state.SizeA Base full node requires at least 2 TB with Reth in June 2025.GrowthA 2026 study measured 435 GB of persistent state growth on Base through 2025.

A full node keeps recent snapshots, typically Ethereum's latest 128 blocks. An archive node keeps every historical snapshot. Ethereum's August 2026 guidance lists Geth and Nethermind full nodes at 500 GB or more and most archive clients at 12 TB or more. Geth puts a path-based archive node at about 2 TB without historical trie data. Since July 2025, nodes can drop 300 to 500 GB of pre-Merge history.

Who pays to keep state

On Ethereum, whoever writes new state pays once, and every full node keeps it with no further fee. Today a new storage slot costs 20,000 gas through SSTORE, or 22,100 when cold, under October 2026 rules. A cold update costs 5,000 gas. Contract code costs 200 gas per byte. The 2016 attacks showed what underpriced state reads cost the network.

In October 2026, Glamsterdam's EIP-8037 and EIP-8038 remain in Last Call. EIP-8037 reprices state creation, and EIP-8038 raises access charges. Sepolia activated Glamsterdam on 6 October 2026. Hoodi is scheduled for 26 October 2026. The mainnet activation date has not been decided. A new slot would cost about 110,000 gas, a transfer-created account 204,600 instead of 21,000, and a 24 KiB contract 37.8 million instead of 4.9 million. Solana requires a refundable deposit, with September 2026 cuts reducing its rate to 5,080 lamports per byte.

Figure 3 · Gas, deposits and dollarsCompare the cost of writingChoose a storage size or account, select the rules, and adjust the gas price to compare gas, deposits, and dollar estimates.
What to store
Rules
0.33 gwei
Gas22,100Zero to non-zero, cold slot
In ETH0.00000729 ETHAt 0.33 gwei
In US dollars$0.018At $2,454.56 per ETH
Paid back?NoEvery full node keeps the data with no further fee
The same write under each rule, in US dollars
Ethereum today$0.018
Ethereum with Glamsterdam$0.089
Solana deposit$0.085
ETH $2,454.56 and SOL $104.38 (Coinbase, 21 October 2026). Glamsterdam figures are not live on mainnet.

Under Ethereum's October 2026 rules, a writer pays once, while every full node stores the added state indefinitely.

Token prices are from 21 October 2026, the base fee from 20 October. Glamsterdam estimates use EIP-8037, EIP-8038 and EIP-2780, not live on mainnet.

When keeping state became costly

Adding state can be cheap for a user but costly for the nodes that keep it. Networks respond by changing prices or removing data they no longer need. These changes address different pressures: costly reads, unused entries, transaction volume, and historical storage.

  1. September to November 2016

    Attacks force two forks

    The Shanghai attacks created about 19 million empty accounts and slowed some blocks to 20 to 60 seconds. Tangerine Whistle raised read costs on 18 October 2016. Spurious Dragon made empty accounts removable on 22 November 2016.

  2. August 2021

    GasToken refunds are reduced

    GasToken used refunds to turn stored data into a gas battery, adding unnecessary entries. London's EIP-3529 cut refunds on 5 August 2021 to limit that incentive.

  3. 2023 to 2024

    Bitcoin adds spendable entries

    Bitcoin's UTXO set roughly doubled from about 85 million outputs in February 2023 during the inscriptions, BRC-20, and runes waves. Runes launched at block 840,000 on 20 April 2024.

  4. December 2024 to 2025

    A peak precedes consolidation

    The count peaked near 189 million outputs in December 2024, then fell during cheap-fee consolidation in 2025. In April 2025, 49% of UTXOs held less than 1,000 satoshis.

  5. 2025

    Higher limits accelerate growth

    Ethereum's gas limit rose from 30M to 36M in February, 45M in July, and 60M on 25 November 2025. Daily state growth more than tripled from roughly 105 MiB to 326 MiB.

  6. July 2025

    Older history becomes optional

    All Ethereum execution clients supported partial history expiry from 8 July 2025. Dropping pre-Merge block data can save 300 to 500 GB, letting a node "fit comfortably on a 2 TB disk" without removing current values.

  7. September 2026

    Solana lowers its deposits

    Solana began its five-step rent reduction in September 2026, cutting the rate from 6,960 to 5,080 lamports per byte in two steps. Three more steps await Agave 4.4 and checks on state growth.

  8. October 2026

    Glamsterdam reaches its first public testnet

    Sepolia activated Glamsterdam on 6 October 2026. Hoodi is scheduled for 26 October 2026. The proposed pricing makes persistent additions more expensive, rather than charging recurring rent.

Statelessness and the future of state

Ethereum's October 2026 roadmap separates state verification from storage, but proposals remain at different stages. Ethereum's documentation puts weak statelessness several years away. Keeping less data, proving execution, and setting aside inactive records are distinct changes, not one upgrade.

Weak and strong statelessness

Under the weak model, a few nodes retain the full state. The strong model removes that requirement entirely. Validators would keep a state root and check blocks against witnesses.

Verkle versus binary trees

In October 2026, Verkle's EIP-6800 is stagnant. Draft EIP-7864 proposes a binary tree with no fork assigned. It uses only hash functions, which its authors call safe against quantum computers, unlike Verkle's elliptic curves.

Smaller verification witnesses

The Verkle trees page on ethereum.org puts a 1,000-leaf Merkle witness at about 3.5 MB. A Verkle witness for the same data would be about 150 kB.

History expiry boundaries

Partial history expiry has been live since July 2025. Full EIP-4444 expiry would have clients stop serving history older than 14,299 epochs, about 63.6 days.

State expiry research

The Ethereum Foundation estimated in December 2025 that about 80% of state was untouched for over a year. Expiry is still research. EIP-7736 is stagnant, and no expiry or rent EIP is scheduled.

Proofs as a second check

EIP-8025 remains a draft in October 2026. It lets consensus-layer nodes check optional zero-knowledge execution proofs. In this draft, nodes still re-execute blocks, and proofs add a second signal.

State beyond Ethereum mainnet

Moving execution elsewhere changes who keeps records and how others verify them. Ethereum rollups, channels, and participant networks differ in where their state lives and which data others can see.

Optimistic rollups

Challenges secure posted commitments

A contract on Ethereum receives each state root. Anyone with enough stake can challenge an incorrect one with a fraud proof. Arbitrum One sets the stake behind each proposed state root at 3,600 ETH in October 2026, and withdrawals wait until its challenge period ends.

Arbitrum One's October 2026 window lasts 6 days 8 hours.

ZK rollups

Proofs secure posted commitments

Each new state root arrives with a validity proof. Layer-2 transactions become final only when the layer-1 contract accepts that proof. Scroll is an example of this model, where the proof establishes valid execution.

This model requires layer-1 acceptance of the proof.

State channels

Signed balances between parties

In a state channel, state means the latest balance sheet the parties have signed. Only opening and closing touch the chain. The intermediate record is therefore an agreement between those parties, rather than a snapshot maintained by every node.

This model uses a party-specific record of balances.

Canton Network

Private records per participant

Each participant holds an Active Contract Set for its hosted stakeholders. The synchronizer orders encrypted messages but cannot decrypt transaction payloads. Participants exchange commitments to their shared contracts at regular intervals to detect divergence.

No shared global snapshot exists for participants to query.

Solana

Accounts indexed by address

A refundable minimum balance keeps each account onchain. The deposit calculation includes 128 bytes of overhead plus the account's data size. At 165 data bytes, a token account requires 1,488,440 lamports, about $0.16, returned when the account closes. These amounts use September 2026 rates and 21 October 2026 prices.

Further cuts await Agave 4.4, expected in November 2026.

Cosmos SDK

Module stores share commitments

The IAVL store uses a versioned AVL Merkle tree. Each module contributes its own store, so the application commits multiple stores together. This is a different data structure from Ethereum's Merkle Patricia Trie.

The app hash commits all module stores together.

Planning products around blockchain state

A product that reads or writes blockchain state needs decisions about layout, operating costs, and verification. We cover storage layout, gas budgets under the proposed Glamsterdam pricing, node and indexer choices, and proof checks. PixelPlex's Ethereum development work covers products whose behavior depends on accounts, contract storage, and layer-2 execution.

PixelPlex case icon

PixelPlex indexes Canton Network transfers, updates and validator data with CC View, its real-time explorer and data API. By August 2026 it covered more than 600 days of on-chain data. Its API had served over 96 million transfers across REST and WebSocket, with errors below 0.03%. We also built Echo's ZK rollup, which posts validity proofs to Layer 1.

  1. Data and storage layout

    Define account records and contract variables together. Identify which values occupy each storage slot before estimating the cost of writing them.
  2. Gas cost budgets

    Compare present charges with the Glamsterdam proposals, still in Last Call in October 2026. Test contracts that depend on fixed gas values against the proposed creation and access rules.
  3. Nodes and indexing

    Choose infrastructure around the records the product needs. Our Canton development services cover deploying, configuring, and managing participant nodes.
  4. Proof verification

    Plan how a light client checks provider data against a block header. Ethereum's eth_getProof supplies proofs for accounts and selected storage keys.
  5. Transition testing

    Use official Ethereum test vectors to check expected account changes and roots. Separate transaction fees from transfer amounts when reviewing the results.

Does your product read, store, or prove onchain state?

We can discuss storage, node infrastructure, and proof checks in the context of your product's requirements.

Discuss your project

Blockchain state FAQ

What does state mean in a blockchain?

Blockchain state is the current snapshot used to apply the next valid transactions. Ethereum's documentation states, "Instead of a distributed ledger, Ethereum is a distributed state machine." Its rules connect one valid snapshot to the next through transaction execution.

How does state differ from the blockchain itself?

The blockchain includes a record of blocks and their transactions, while the active snapshot contains current values. Bitcoin Core makes the distinction explicit: its chainstate folder holds unspent outputs separately from block files. Keeping one does not mean retaining every historical snapshot.

What is an Ethereum state root?

It is a 256-bit hash committing to the global state trie after a block's transactions and withdrawals execute. It sits in the block header. Proofs let a verifier check an account or storage value against that commitment without receiving the entire database.

How big is Ethereum's state database?

About 390 GiB of a Geth node's database held state in January 2026, according to EIP-8037. That is not the node's total disk use. Paradigm measured 245.5 GiB on a reth node in March 2024 with a different method, so the two numbers do not form one trend line.

How do full nodes and archive nodes differ?

A full node keeps recent snapshots, while an archive node preserves every historical state. Archive requirements depend heavily on the client. Reth lists at least 2.8 TB for an Ethereum archive node in June 2025, and ethereum.org lists Erigon at 2.5 TB or more.

What would stateless Ethereum actually mean?

Most verifying nodes would check blocks using witnesses instead of storing the full state. This changes who must store data, not whether transactions have effects. In October 2026, this remains research rather than Ethereum's live verification model.

Does Bitcoin have state like Ethereum does?

Yes, Bitcoin maintains the UTXO set, which records every unspent output available for a later input. An output can be spent only once. A payment removes consumed outputs and adds new ones, so its bookkeeping does not require editing an account balance.
Sources (51)

Get updates about blockchain, technologies and our company

We will process the personal data you provide in accordance with our Privacy policy. You can unsubscribe or change your preferences at any time by clicking the link in any email.

Follow us on social networks and don't miss the latest tech news

  • facebook
  • X
  • linkedin
  • instagram
Stay tuned and add value to your feed