Solizone EVMChapter 04 / 17
State persistence
Checkpoints and snapshots: how EVM state survives a restart.
Checkpoints
The EVM state also needs to survive restarts.
Solizone EVM uses SolizoneCheckpoint.
A checkpoint contains:
SolizoneCheckpoint
├── StateSnapshot
├── next_height
└── parent_hashSo the checkpoint captures both:
execution state
and
chain position
Together they answer:
What does the EVM currently look like?
and
Where should the next block continue from?State snapshots
A StateSnapshot is a deterministic representation of the current EVM state.
It can include:
accounts
balances
nonces
contract bytecode
contract storageThe snapshot can be serialized.
Later:
snapshot
↓
decode
↓
new MemoryStateThis lets a completely new process reconstruct the execution environment.
Snapshot commitment vs state root
These two are intentionally separate.
State root
current protocol state
↓
state_rootUsed for execution and block correctness.
Snapshot commitment
serialized snapshot
↓
Keccak256
↓
snapshot_commitmentUsed to fingerprint persisted state.
They may describe related information, but they serve different jobs.
Persistence backends
Solizone EVM keeps persistence behind interfaces.
For checkpoints:
CheckpointBackend
├── FileCheckpointBackend
└── LogosStorageCheckpointBackendThis is important because the execution layer should not care where the checkpoint lives.
From the node's perspective:
checkpoint_backend.save(checkpoint)could mean:
write to diskor:
upload to Logos Storagewithout changing REVM itself.