From df0f9e6beea5939a9b8cd9683c7c62cd6464bacd Mon Sep 17 00:00:00 2001 From: Daira Hopwood Date: Wed, 19 Jan 2022 19:09:56 +0000 Subject: [PATCH] ZIP 32: Wording improvements to avoid implying that we want an internal address/FVK for every external address/FVK. Signed-off-by: Daira Hopwood --- zip-0032.rst | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/zip-0032.rst b/zip-0032.rst index 2309d078..27282aee 100644 --- a/zip-0032.rst +++ b/zip-0032.rst @@ -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.