diff options
Diffstat (limited to 'bip-0043.mediawiki')
-rw-r--r-- | bip-0043.mediawiki | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/bip-0043.mediawiki b/bip-0043.mediawiki new file mode 100644 index 0000000..24dcb82 --- /dev/null +++ b/bip-0043.mediawiki @@ -0,0 +1,61 @@ +<pre> + BIP: BIP-0043 + Title: Purpose Field for Deterministic Wallets + Authors: Marek Palatinus <slush@satoshilabs.com> + Pavol Rusnak <stick@satoshilabs.com> + Status: Draft + Type: Standards Track + Created: 24-04-2014 +</pre> + +==Abstract== + +This BIP introduces a "Purpose Field" for use in deterministic wallets +based on algorithm described in BIP-0032 (BIP32 from now on). + +==Motivation== + +Although Hierarchical Deterministic Wallet structure as described by BIP32 +is an important step in user experience and security of the cryptocoin wallets, +the BIP32 specification offers implementors too many degrees of freedom. +Multiple implementations may claim they are BIP32 compatible, but in fact +they can produce wallets with different logical structures making them +non-interoperable. This situation unfortunately renders "BIP32 compatible" +statement rather useless. + + +==Purpose== + +We propose the first level of BIP32 tree structure to be used as "purpose". +This purpose determines the further structure beneath this node. + +<pre> +m / purpose' / * +</pre> + +Apostrophe indicates that BIP32 hardened derivation is used. + +We encourage different schemes to apply for assigning a separate BIP number +and use the same number for purpose field, so addresses won't be generated +from overlapping BIP32 spaces. + +Example: Scheme described in BIP44 should use 44' (or 0x8000002C) as purpose. + +Not all wallets may want to support the full range of features and possibilities +described in these BIPs. Instead of choosing arbitrary subset of defined features +and calling themselves BIPxx compatible, we suggest that software which needs +only a limited structure should describe such structure in another BIP and use +different "purpose" value. + + +==Master node serialization== + +Because this scheme can be used to generate nodes for more cryptocurrencies +at once, or even something totally unrelated to cryptocurrencies, there's no +point in using a special version magic described in section "Serialization +format" of BIP32. We suggest to use always 0x0488B21E for public and 0x0488ADE4 +for private nodes (leading to prefixes "xpub" and "xprv" respectively). + +==Reference== + +* [[bip-0032.mediawiki|BIP32 - Hierarchical Deterministic Wallets]] |