1
0
Fork 0
mirror of https://github.com/bitcoin/bips.git synced 2025-02-23 07:15:30 +01:00

Clarify the definition of identity and the relationship to BIP-44

This commit is contained in:
Justus Ranvier 2015-12-18 13:40:54 -06:00
parent 650fa601ad
commit 27848f7d6b
No known key found for this signature in database
GPG key ID: 2A5FDA70EAD9E623

View file

@ -71,9 +71,17 @@ Hardened derivation is used at this level.
===Identity===
Identity is a particular extended public/private key pair. The extended public key is a payment code.
The identity derivation level produces an extended public key and its associated extended private key.
Identities SHOULD have 1:1 correspondence with a BIP44 account, as in each BIP44 account in an HD wallet should be assigned exactly one payment code which shares the same index value.
When the extended public key at this level is combined with the metadata specified in the Representation section below, the resulting entity is called a "payment code."
This derivation level is equivalent to the Account level in BIP-44. Wallets SHOULD treat payment codes as intrinsically part of the BIP-44 account at the same index and create payment codes and accounts as pairs.
For example, the payment code created represented by (m / 47' / 0' / 0') is part of the account represented by (m / 44' / 0' / 0').
The second account in a wallet consists of the new account/payment code pair created by using an index of 1 in as the account/identity level of both paths.
Incoming payments received via this specification are equivalent to payments received to BIP-44 addresses, and unspent outputs from both types of addresses can be used as inputs in the same outgoing transaction.
Hardened derivation is used at this level.
@ -111,7 +119,7 @@ It is assumed that Alice can easily obtain Bob's payment code via a suitable met
====Definitions====
* Payment code: an extended public key which is associated with a particular identity
* Payment code: an extended public key and associated metadata which is associated with a particular identity/account
* Notification address: the P2PKH address associated with the 0<sup>th</sup> public key derived from a payment code
* Notification transaction: a transaction which sends an output to a notification address which includes an embedded payment code