Solizone EVMChapter 03 / 17
Blocks and the chain
How executed transactions become a parent-linked chain of Solizone blocks.
Solizone blocks
Transactions are grouped into canonical Solizone EVM blocks.
Solizone EVM currently uses its own block format:
SZB1A block contains the information needed to represent one step in the Solizone execution chain.
Conceptually:
SolizoneBlock
├── header
└── transactionsThe header contains commitments and chain metadata.
Blocks are deterministic and hashable.
Solizone block bytes
↓
hash
↓
canonical block IDParent-linked chains
Each block contains the hash of its parent.
That gives us:
block #0
hash A
↓
block #1
parent = A
hash B
↓
block #2
parent = B
hash CThis relationship is what makes the blocks a chain instead of just independent execution batches.
The BlockProducer is responsible for maintaining this progression.
BlockProducer
The BlockProducer tracks:
next block height
parent block hash
chain configurationFor each new block:
transactions
↓
BlockProducer
↓
REVM execution
↓
new state
↓
new Solizone blockThen it updates:
parent_hash = newly produced block hash
next_height += 1The next block continues from there.
Restarting the producer
A blockchain node should not forget where it was every time the process stops.
Solizone EVM can restore the producer using:
next_height
parent_hashFor example:
last block = #6
next_height = 7
parent_hash = hash(block #6)After restart:
produce block #7
parent = hash(block #6)The chain continues instead of restarting.