-
Notifications
You must be signed in to change notification settings - Fork 251
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
Decide where in the key tree ZIP 320 ephemeral addresses should go #1401
Comments
With the middle three options, it is possible to determine solely from the transaction graph structure which outputs went to TEX addresses: if an ephemeral address is observed, then for any transaction spending from that address, its transparent outputs are TEX addresses. With the first option, this isn't possible because there is no way to distinguish between a change address and an ephemeral address. You'd need to store the recipient address map in a memo field. With the last option, ephemeral addresses aren't detectable directly, and instead you need to rely on metadata conveyed in e.g. memo fields for detection. |
#1257 currently implements the second option:
In a pairing, @nuttycom and I looked through every BIP that mentions the word "change" to find BIP 32 derivation paths. All of them that were not BIP 44 generally changed the "purpose" level (so it would not precisely collide with us), and those that had a "change" level only defined 0 and 1 a la BIP 44 (so they would not collide semantically with us). We also looked over https://walletsrecovery.org/ (mentioned in BIP 88) and didn't see any non- We decided that the additional domain separation that the |
We've made the decision. I've filed updating the ZIP as zcash/zips#877. |
We have a few options that we need to decide between:
1
at theis_change
level of the path, where in BIP 44 it is treated as a boolean).2
at theis_change
level (effectively turning that level into an enum within Zcash).ZCASH_DOMAIN_SEPARATOR | 0
at theis_change
level (same as above, but providing domain separation from any accidental collisions against other specifications that may themselves have said "just use2
").The text was updated successfully, but these errors were encountered: