ZIP 32: Wording improvements to avoid implying that we want an internal address/FVK for every

external address/FVK.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
This commit is contained in:
Daira Hopwood 2022-01-19 19:09:56 +00:00
parent 8b8b3f7c5d
commit df0f9e6bee
1 changed files with 9 additions and 8 deletions

View File

@ -260,12 +260,13 @@ Sapling internal key derivation
-------------------------------
The above derivation mechanisms produce external addresses suitable for giving out to senders.
For each such external address, we also want to produce another address for use by wallets for
internal operations such as change and auto-shielding. Unlike BIP 44 that allows deriving a
stream of external and internal addresses in the same hierarchical derivation tree [#bip-0044]_,
for each external full viewing key we only need to be able to derive a single internal full
viewing key that has viewing authority for just internal transfers. We also need to be able to
derive the corresponding internal spending key if we have the external spending key.
We also want to be able to produce another address derived from a given external address, for
use by wallets for internal operations such as change and auto-shielding. Unlike BIP 44 that
allows deriving a stream of external and internal addresses in the same hierarchical derivation
tree [#bip-0044]_, for any external full viewing key we only need to be able to derive a single
internal full viewing key that has viewing authority for just internal transfers. We also need
to be able to derive the corresponding internal spending key if we have the external spending
key.
Deriving a Sapling internal spending key
````````````````````````````````````````
@ -431,9 +432,9 @@ Orchard child key derivation
Orchard internal key derivation
-------------------------------
As in the case of Sapling, for each external address, we want to produce another address
As in the case of Sapling, for a given external address, we want to produce another address
for use by wallets for internal operations such as change and auto-shielding. That is, for
each external full viewing key we need to be able to derive a single internal full viewing
any external full viewing key we need to be able to derive a single internal full viewing
key that has viewing authority for just internal transfers. We also need to be able to
derive the corresponding internal spending key if we have the external spending key.