diff options
author | Justus Ranvier <justusranvier@riseup.net> | 2015-12-18 13:40:54 -0600 |
---|---|---|
committer | Justus Ranvier <justusranvier@riseup.net> | 2015-12-18 13:40:54 -0600 |
commit | 27848f7d6bfa1152c80fb16e8c235a38644e0680 (patch) | |
tree | 3c43f47a5e4f8407e12ee4d0381bf8186cadd76a /bip-0047.mediawiki | |
parent | 650fa601ad0fb7b928dbc7c34fb4abe3388e2e5d (diff) | |
download | bips-27848f7d6bfa1152c80fb16e8c235a38644e0680.tar.xz |
Clarify the definition of identity and the relationship to BIP-44
Diffstat (limited to 'bip-0047.mediawiki')
-rw-r--r-- | bip-0047.mediawiki | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/bip-0047.mediawiki b/bip-0047.mediawiki index 99b0be2..50baaac 100644 --- a/bip-0047.mediawiki +++ b/bip-0047.mediawiki @@ -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 |