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

Finish retroactively enabling ZIP 216 before NU5 #6396

Closed
str4d opened this issue Feb 2, 2023 · 1 comment · Fixed by #6399
Closed

Finish retroactively enabling ZIP 216 before NU5 #6396

str4d opened this issue Feb 2, 2023 · 1 comment · Fixed by #6399
Assignees
Labels
A-consensus Area: Consensus rules A-sapling Area: Sapling protocol C-cleanup Category: PRs that clean code up or issues documenting cleanup. NU5 Network upgrade: NU5-specific tasks
Milestone

Comments

@str4d
Copy link
Contributor

str4d commented Feb 2, 2023

In #6000 we enabled ZIP 216 for blocks prior to NU5 during Sapling proof verification. However, we still have ZIP 216 conditionals present in the note decryption logic, due to Sapling outgoing plaintexts being exposed to the consensus rules as part of Sapling coinbase outputs.

We should strip out these conditionals and apply ZIP 216 uniformly before NU5, assuming that all Sapling coinbase outputs satisfied it.

@str4d str4d added C-cleanup Category: PRs that clean code up or issues documenting cleanup. A-consensus Area: Consensus rules NU5 Network upgrade: NU5-specific tasks A-sapling Area: Sapling protocol labels Feb 2, 2023
@str4d
Copy link
Contributor Author

str4d commented Feb 2, 2023

This is also necessary for migrating to zcash_primitives 0.10, where we improved type safety in a way that prevents us constructing pre-ZIP 216 types. If it turns out that we cannot apply ZIP 216 uniformly to pre-NU5 blocks, we will instead need to weaken the new type-safe APIs to allow pre-ZIP 216 construction.

@str4d str4d self-assigned this Feb 2, 2023
@str4d str4d added this to the Release 5.5.0 milestone Feb 2, 2023
str4d added a commit to str4d/zcash that referenced this issue Feb 2, 2023
This completes the work started in zcash#6000.

Closes zcash#6396.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-consensus Area: Consensus rules A-sapling Area: Sapling protocol C-cleanup Category: PRs that clean code up or issues documenting cleanup. NU5 Network upgrade: NU5-specific tasks
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant