mirror of https://github.com/zcash/zips.git
Don't use UFVK or UIVK when referring to Viewing Key components.
(A UFVK or UIVK is properly only the whole thing.) Signed-off-by: Daira Hopwood <daira@jacaranda.org>
This commit is contained in:
parent
b85a249a59
commit
880bf02301
34
zip-0316.rst
34
zip-0316.rst
|
@ -379,13 +379,13 @@ will normally take the union of information provided by all contained
|
|||
Receivers, and therefore the Priority List defined in the previous
|
||||
section is not used.
|
||||
|
||||
For each UFVK Type or UIVK Type currently defined in this specification,
|
||||
For each FVK Type or IVK Type currently defined in this specification,
|
||||
the same Typecode is used as for the corresponding Receiver Type in a
|
||||
Unified Address. Additional UFVK Types and UIVK Types MAY be defined in
|
||||
Unified Address. Additional FVK Types and IVK Types MAY be defined in
|
||||
future, and these will not necessarily use the same Typecode as the
|
||||
corresponding Unified Address.
|
||||
|
||||
The following UFVK or UIVK Encodings are used in place of the
|
||||
The following FVK or IVK Encodings are used in place of the
|
||||
:math:`\mathtt{addr}` field:
|
||||
|
||||
* An Orchard UFVK or UIVK Encoding, with Typecode :math:`\mathtt{0x03},`
|
||||
|
@ -396,16 +396,16 @@ The following UFVK or UIVK Encodings are used in place of the
|
|||
while the UIVK uses its non-change child key at path
|
||||
:math:`m_\mathsf{Orchard} / 32' / coin\_type' / account' / 0'`.
|
||||
|
||||
* A Sapling UFVK Encoding, with Typecode :math:`\mathtt{0x02},` is
|
||||
* A Sapling FVK Encoding, with Typecode :math:`\mathtt{0x02},` is
|
||||
the encoding of a Sapling Extended Full Viewing Key defined in
|
||||
[#zip-0032-sapling-extfvk]_. This SHOULD be an Extended Full Viewing
|
||||
Key at the Account level of the ZIP 32 hierarchy.
|
||||
|
||||
* A Sapling UIVK Encoding, also with Typecode :math:`\mathtt{0x02},`
|
||||
* A Sapling IVK Encoding, also with Typecode :math:`\mathtt{0x02},`
|
||||
is an encoding of :math:`(\mathsf{dk}, \mathsf{ivk})` given by
|
||||
:math:`\mathsf{I2LEOSP}_{88}(\mathsf{dk})\,||\,\mathsf{I2LEOSP}_{256}(\mathsf{ivk}).`
|
||||
Unlike Orchard, a Sapling UIVK is associated with the same spending
|
||||
authority as the corresponding UFVK, i.e. also at the Account level.
|
||||
Unlike Orchard, a Sapling IVK is associated with the same spending
|
||||
authority as the corresponding FVK, i.e. also at the Account level.
|
||||
|
||||
* There is no defined way to represent a Viewing Key for a Transparent
|
||||
P2SH Address in a UFVK or UIVK (because P2SH Addresses cannot be
|
||||
|
@ -414,12 +414,12 @@ The following UFVK or UIVK Encodings are used in place of the
|
|||
treated as unrecognized by Consumers.
|
||||
|
||||
* For Transparent P2PKH Addresses that are derived according to BIP 32
|
||||
[#bip-0032]_ and BIP 44 [#bip-0044]_, the UFVK and UIVK Encodings
|
||||
[#bip-0032]_ and BIP 44 [#bip-0044]_, the FVK and IVK Encodings
|
||||
have Typecode :math:`\mathtt{0x00}.` Both of these encodings are the
|
||||
serialization of an extended public key, defined in the section
|
||||
“Serialization format” of BIP 32 [#bip-0032-serialization-format]_.
|
||||
However, the UFVK uses the key at the Account level, i.e. at path
|
||||
:math:`m / 44' / coin\_type' / account'`, while the UIVK uses its
|
||||
However, the FVK uses the key at the Account level, i.e. at path
|
||||
:math:`m / 44' / coin\_type' / account'`, while the IVK uses its
|
||||
non-change child key at path :math:`m / 44' / coin\_type' / account' / 0`.
|
||||
(In accordance with BIP 44 and differently to Orchard, the Change level
|
||||
uses non-hardened derivation.)
|
||||
|
@ -449,10 +449,10 @@ Requirements for both Unified Addresses and Unified Viewing Keys
|
|||
all less than 256 bytes and so could use a one-byte length field,
|
||||
encodings for experimental types may be longer.)
|
||||
|
||||
* Each Receiver and UFVK SHOULD represent an Address or Full Viewing
|
||||
* Each Receiver and FVK SHOULD represent an Address or Full Viewing
|
||||
Key at the ZIP 32 or BIP 44 Account level.
|
||||
|
||||
* Each UIVK SHOULD represent an Incoming Viewing Key at the Account
|
||||
* Each IVK SHOULD represent an Incoming Viewing Key at the Account
|
||||
level for Sapling, or its non-change child Incoming Viewing Key for
|
||||
Orchard, or its non-change child extended public key for Transparent
|
||||
P2PKH.
|
||||
|
@ -503,9 +503,9 @@ should be sufficient because experiments are expected to be reasonably
|
|||
short-term, and should otherwise be either standardized in a ZIP (and
|
||||
allocated a Typecode outside this reserved range) or discontinued.
|
||||
|
||||
New types SHOULD maintain the same distinction between UFVK and UIVK
|
||||
authority as for Orchard, i.e. a UFVK is intended to give access to
|
||||
view all transactions to and from the address, while an UIVK is intended
|
||||
New types SHOULD maintain the same distinction between FVK and IVK
|
||||
authority as for Orchard, i.e. an FVK is intended to give access to
|
||||
view all transactions to and from the address, while an IVK is intended
|
||||
to give access only to view incoming payments (as opposed to change).
|
||||
|
||||
|
||||
|
@ -551,10 +551,10 @@ addresses MUST be derived from the non-change branch of the key path at
|
|||
distinct change spend authority in Orchard.
|
||||
|
||||
In the case of deriving a Transparent P2PKH Receiver from a Transparent
|
||||
P2PKH UIVK, the diversifier index is used as a BIP 44 child key index
|
||||
P2PKH IVK, the diversifier index is used as a BIP 44 child key index
|
||||
at the Index level to derive the address. As is usual for derivations
|
||||
below the BIP 44 Account level, non-hardened (public) derivation
|
||||
[#bip-0032-public-to-public]_ MUST be used. The UIVK is assumed to
|
||||
[#bip-0032-public-to-public]_ MUST be used. The IVK is assumed to
|
||||
be the extended public key for the non-change element of the path, and
|
||||
then the Index element of the path MUST be the diversifier index
|
||||
[#bip-0044-path-index]_. That is, if the UIVK was constructed correctly
|
||||
|
|
Loading…
Reference in New Issue