summaryrefslogtreecommitdiff
path: root/bip-0047.mediawiki
diff options
context:
space:
mode:
authorJustus Ranvier <justusranvier@riseup.net>2015-12-18 13:40:54 -0600
committerJustus Ranvier <justusranvier@riseup.net>2015-12-18 13:40:54 -0600
commit27848f7d6bfa1152c80fb16e8c235a38644e0680 (patch)
tree3c43f47a5e4f8407e12ee4d0381bf8186cadd76a /bip-0047.mediawiki
parent650fa601ad0fb7b928dbc7c34fb4abe3388e2e5d (diff)
downloadbips-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.mediawiki14
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