You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
No state root in the block header, so the hash of the block does not cover storage root.
Right now the sequencer does not actually sign the state root, which might be problematic later on. We must include the state root in the header.
No header / header + txs seperation → No sov-tx merkle root
Having small data that tells somethings about the chain is good.
Every chain that I'm aware of has
Block = header + transactions
That can become useful in many contexts.
With these changes the proposed header is as follows:
structL2Header{l2_height:u64,prev_hash:[u8;32],state_root:[u8;32],// these two maybe removed or not// depending on system tx decision// da_slot_height: u64,// da_slot_hash: [u8; 32],// da_slot_txs_commitment: [u8; 32],l1_fee_rate:u128,tx_merkle_root:[u8;32],// maybe removed due to // deposit_data: Vec<Vec<u8>>,timestamp:u64,}structSignedL2Header{header:SoftConfirmationHeader,hash:[u8;32],signature:Vec<u8>,}structL2Block{header:SignedSoftConfirmationHeader,txs:Vec<SovTx>,}
The text was updated successfully, but these errors were encountered:
We lack two things:
No state root in the block header, so the hash of the block does not cover storage root.
Right now the sequencer does not actually sign the state root, which might be problematic later on. We must include the state root in the header.
No header / header + txs seperation → No sov-tx merkle root
Having small data that tells somethings about the chain is good.
Every chain that I'm aware of has
Block = header + transactions
That can become useful in many contexts.
With these changes the proposed header is as follows:
The text was updated successfully, but these errors were encountered: