Throughout this document, "999" is used as a placeholder for a BIP number.
This BIP defines a hierarchy based on BIP-0044 for deterministic wallets intended to facilitate multi-currency, multisignature wallet management.
This BIP is an application of BIP-0043.
The hierarchy defined in BIP-0044 places a coin's type level above the level designating account number. This limits the possible implementations of multi-currency, multisignature wallets. The hierarchy defined here facilitates the creation of wallets intended to be both multi-currency and multisignature, in which only one set of keys must be distributed among cosigners.
m / purpose' / wallet' / coin_type / change / address_index
Purpose is a constant tentatively set to 999 as there is no BIP number assigned to this proposal. Hardened derivation is used here.
This level is incremented for every wallet that one makes. Much like the account node in BIP-0044, this is intended to organize independent identities within the key space. Basically, each index in this level represents a group of cosigners. Hardened derivation is used here.
This is the BIP-0044 index of the coin being managed. Public derivation is used here. Public derivation is used so that cosigners need only know one of each other's public keys, rather than needing to distribute public keys for each coin.
0 is used for public addresses and 1 is used for change addresses. Identical to BIP-0044 behavior. Public derivation is used here.
The address index. This increases sequentially as it does in BIP-0044. Public derivation is used here.
wallet | coin | change? | address | path |
---|---|---|---|---|
first | Bitcoin | no | first | m / 999' / 0' / 0 / 0 / 0 |
first | Bitcoin | no | second | m / 999' / 0' / 0 / 0 / 1 |
first | Testnet | no | first | m / 999' / 0' / 1 / 0 / 0 |
second | Bitcoin | no | first | m / 999' / 1' / 0 / 0 / 0 |
second | Bitcoin | yes | first | m / 999' / 1' / 0 / 1 / 0 |
third | Testnet | yes | sixth | m / 999' / 2' / 1 / 1 / 5 |
Encompass uses this method for deriving keys in multisig wallets, except that "44" is used where "999" is above, since it was originally BIP-0044-based.