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

Implement ZIP-32 Sapling and Orchard key derivation #267

Closed
dconnolly opened this issue Feb 25, 2020 · 13 comments
Closed

Implement ZIP-32 Sapling and Orchard key derivation #267

dconnolly opened this issue Feb 25, 2020 · 13 comments
Labels
A-cryptography Area: Cryptography related NU-1 Sapling Network Upgrade: Sapling specific tasks NU-5 Network Upgrade: NU5 specific tasks

Comments

@dconnolly
Copy link
Contributor

dconnolly commented Feb 25, 2020

In order to match what zcashd currently does.

Note: can skip Sprout key derivation, since new Sprout keys are useless, and zcashd never implemented this feature.

image
image
image

https://zips.z.cash/zip-0032

@dconnolly
Copy link
Contributor Author

This is relevant to #265 and #266 work in progress.

@str4d
Copy link
Contributor

str4d commented Mar 19, 2020

Note that we haven't actually implemented Sprout HD derivation. We defined it for completeness, but @daira and I are considering removing it, and instead deprecating Sprout address generation in zcashd.

@str4d
Copy link
Contributor

str4d commented Mar 19, 2020

That said, if you do want to be able to generate Sprout address, HD generation from the same seed as Sapling addresses makes the most sense.

@dconnolly dconnolly linked a pull request Mar 28, 2020 that will close this issue
@dconnolly dconnolly added NU Sprout Network Upgrade: Sprout specific tasks (before Overwinter) NU-1 Sapling Network Upgrade: Sapling specific tasks labels Apr 2, 2020
@dconnolly dconnolly added this to the Wallet Support 💰 milestone Apr 9, 2020
@dconnolly dconnolly removed a link to a pull request Apr 13, 2020
@mpguerra mpguerra removed this from the Wallet Support 💰 milestone Jan 5, 2021
@dconnolly dconnolly mentioned this issue Mar 5, 2021
53 tasks
@mpguerra
Copy link
Contributor

What are we missing here? Because I see that both #300 and #301 are done.

Can we close this one?

@teor2345
Copy link
Contributor

Is there any verification-only work left in this ticket for NU5?

We won't need to derive addresses until we start work on zebra-client. And we might not want to generate sprout addresses anyway, because new sprout addresses can't receive any funds. (As of Canopy, transfers into the Sprout value pool are not allowed.)

@mpguerra mpguerra removed the E-easy label Mar 23, 2021
@teor2345 teor2345 changed the title Implement ZIP-32 Sprout and Sapling key derivation Implement ZIP-32 Sapling and Orchard key derivation May 6, 2021
@mpguerra
Copy link
Contributor

mpguerra commented May 6, 2021

Moving this out of the NU5 tracking issue for now

@mpguerra
Copy link
Contributor

mpguerra commented May 6, 2021

In #1854 we mention we need to do Orchard validation only for NU5 activation. Do we need to split this out into its own ticket? If so, I would need some help understanding what is required here.

@teor2345
Copy link
Contributor

teor2345 commented May 6, 2021

Note that we haven't actually implemented Sprout HD derivation. We defined it for completeness, but @daira and I are considering removing it, and instead deprecating Sprout address generation in zcashd.

Just confirming we don't have to do sprout key generation.

@teor2345
Copy link
Contributor

teor2345 commented May 6, 2021

In #1854 we mention we need to do Orchard validation only for NU5 activation.

That's not what I meant - I said that there had been a recent orchard update to ZIP-32. I've clarified that comment.

Do we need to split this out into its own ticket? If so, I would need some help understanding what is required here.

@dconnolly does ZIP-32 require us to do any validation on sapling or orchard addresses for NU5? Or can we just leave key generation to zebra-client?

@str4d
Copy link
Contributor

str4d commented May 6, 2021

ZIP 32 is only relevant for wallets; it does not affect full node consensus rules.

@teor2345
Copy link
Contributor

teor2345 commented May 6, 2021

Great, I'll take it out of NU5 entirely.

@dconnolly
Copy link
Contributor Author

In #1854 we mention we need to do Orchard validation only for NU5 activation.

That's not what I meant - I said that there had been a recent orchard update to ZIP-32. I've clarified that comment.

Do we need to split this out into its own ticket? If so, I would need some help understanding what is required here.

@dconnolly does ZIP-32 require us to do any validation on sapling or orchard addresses for NU5? Or can we just leave key generation to zebra-client?

What @str4d said, not required for NU5 validation, we can leave this for later

@dconnolly dconnolly added NU-5 Network Upgrade: NU5 specific tasks and removed NU Sprout Network Upgrade: Sprout specific tasks (before Overwinter) labels Mar 14, 2022
@conradoplg conradoplg added the A-cryptography Area: Cryptography related label Jun 1, 2022
@mpguerra mpguerra moved this to 🆕 New in Zebra Sep 22, 2022
@mpguerra mpguerra added this to Zebra Sep 22, 2022
@teor2345
Copy link
Contributor

We're not planning to do full-node wallet work any time soon.

If we do, we'll need to decide if this ticket is in scope, and update its content, because the spec has changed since it was created.

@teor2345 teor2345 closed this as not planned Won't fix, can't repro, duplicate, stale Sep 29, 2022
Repository owner moved this from 🆕 New to ✅ Done in Zebra Sep 29, 2022
@mpguerra mpguerra moved this from ✅ Done to 🛑 Won't Fix in Zebra Nov 9, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-cryptography Area: Cryptography related NU-1 Sapling Network Upgrade: Sapling specific tasks NU-5 Network Upgrade: NU5 specific tasks
Projects
Archived in project
Development

No branches or pull requests

6 participants