ZIP-221: Validate the block commitments (auth data and history tree) in the non-finalized and finalized state #2562
Labels
C-enhancement
Category: This is an improvement
NU Sprout
Network Upgrade: Sprout specific tasks (before Overwinter)
NU-1 Sapling
Network Upgrade: Sapling specific tasks
NU-5
Network Upgrade: NU5 specific tasks
Milestone
Motivation
#2553 adds the history tree to the finalized state, and #2135 will add to the non-finalized state. However, to make the PRs smaller, they just add the tree but don't validate it.
Validate the history tree root against the block the header. For Nu5-onward this will require #2048.
Note: part of this was implemented in 91b1fcb which was later reverted since it required note commitment trees and finalized state support which weren't ready at the time. Check
block_is_valid_for_recent_chain
and also the adjustments in the test (mainlyset_block_commitment
).Security
After NU5 activation, Zebra needs to validate the transaction v5 authorizing data tree in the finalized state, so that we can detect modified checkpointed blocks.
Specifications
https://zips.z.cash/zip-0221
Designs
N/A
Related Work
Follow up to #2553
The text was updated successfully, but these errors were encountered: