CHAIN — /docs/chain/state-commitment
State commitment
The SVM has no native state trie — Solana validators never need one. A settling L2 does: withdrawals must be provable on L1 against a compact commitment to the entire account state. ZUL fills that gap with a sparse Merkle tree (SMT) over blake3.
The tree
STATE SMT
leaf key = account pubkey (32 bytes)
leaf value = blake3(account) // lamports, owner, data, flags
node hash = blake3(left || right)
state_root = root, included in every block header- Sparse: the keyspace is all 2^256 pubkeys; empty subtrees collapse to known default hashes, so only existing accounts cost anything.
- Incremental: after each block only the accounts touched by that block re-hash, updating log-depth paths instead of rebuilding the tree.
- Pinned across languages: the Anchor settlement program verifies SMT inclusion proofs with the same blake3 layout, and a cross-test pins the L1 implementation byte-for-byte to the node implementation — the kind of dual-implementation pair that drifts silently if untested.
What the root buys
| USE | HOW |
|---|---|
| Withdrawal claims | An exit proves its L2 balance/burn record exists under a settled root — L1 verifies the Merkle path. See Withdrawals & claims. |
| Public verifiability | Anyone replaying DA batches can recompute the root and compare it to what the sequencer settled — the basis of the stage-0 procedural challenge. See Trust model. |
| Light verification | Per-account state proofs against a 32-byte root, without holding the full account set. |
WHY NOT A LATTICE HASH
Solana's newer accumulator-style account hashing was considered and rejected: it produces a commitment but not practical inclusion proofs, and withdrawals live or die on inclusion proofs.
Note the chain has two Merkle trees with different jobs: this blake3 SMT over public account state, and the Poseidon commitment tree inside the shielded pool (Notes & commitments). Different hash functions because different verifiers: blake3 is fast on CPUs, Poseidon is cheap inside zk circuits.