Block Verification
Block verification comes in two steps:
- Verify all the transactions inside that block (see Transaction Verification for details)
- Verify the Block Header
- miners_fee
- Verify that the miners fee is appropriate (see Miner Reward for details)
- note_commitment & nullifier_commitment
- Verify that the new Block Header has the correct Merkle roots for both the notes and nullifiers after all the transactions for that block have been applied to both trees
- target & randomness
- Verify that the difficulty of the block hash given the nonce is met
- timestamp
- Verify that the timestamp is within bounds
- sequence & previous_block_hash
- Verify that the block is referencing the correct previous block
- miners_fee