Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ZIP-221: Validate the block commitments (auth data and history tree) in the non-finalized and finalized state #2562

Closed
conradoplg opened this issue Aug 3, 2021 · 1 comment
Assignees
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

Comments

@conradoplg
Copy link
Collaborator

conradoplg commented Aug 3, 2021

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 (mainly set_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

@conradoplg conradoplg added C-enhancement Category: This is an improvement S-needs-triage Status: A bug report needs triage labels Aug 3, 2021
@mpguerra mpguerra added NU Sprout Network Upgrade: Sprout specific tasks (before Overwinter) NU-1 Sapling Network Upgrade: Sapling specific tasks NU-5 Network Upgrade: NU5 specific tasks P-Medium labels Aug 5, 2021
@mpguerra mpguerra added this to the 2021 Sprint 21 milestone Aug 5, 2021
@teor2345 teor2345 changed the title ZIP-221: Validate the History Tree ZIP-221: Validate the History Tree in the non-finalized and finalized state Aug 5, 2021
@mpguerra mpguerra removed the S-needs-triage Status: A bug report needs triage label Aug 16, 2021
@conradoplg conradoplg changed the title ZIP-221: Validate the History Tree in the non-finalized and finalized state ZIP-221: Validate the block commitments (auth data and history tree) in the non-finalized and finalized state Aug 20, 2021
@conradoplg
Copy link
Collaborator Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
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
Projects
None yet
Development

No branches or pull requests

3 participants