mirror of
				https://github.com/bitcoin/bips.git
				synced 2025-11-03 14:19:40 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			65 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			65 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
<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: 2014-04-24
 | 
						|
</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.
 | 
						|
 | 
						|
Note that m / 0' / * is already taken by BIP32 (default account), which
 | 
						|
preceded this BIP.
 | 
						|
 | 
						|
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.
 | 
						|
 | 
						|
 | 
						|
==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]]
 |