mirror of
https://github.com/bitcoin/bips.git
synced 2025-01-18 13:26:08 +01:00
commit
d6468cfe2e
@ -20,19 +20,19 @@ This BIP defines the derivation scheme for HD wallets using the P2WPKH-nested-in
|
||||
With the usage of P2WPKH-nested-in-P2SH ([[bip-0141.mediawiki#p2wpkh-nested-in-bip16-p2sh|BIP 141]]) transactions it is necessary to have a common derivation scheme.
|
||||
It allows the user to use different HD wallets with the same masterseed and/or a single account seamlessly.
|
||||
|
||||
Thus the user needs to create a dedicated segregate witness accounts, which ensures that only wallets compatible with this BIP
|
||||
will detect the account and handle them appropriately.
|
||||
Thus the user needs to create dedicated segregated witness accounts, which ensures that only wallets compatible with this BIP
|
||||
will detect the accounts and handle them appropriately.
|
||||
|
||||
===Considerations===
|
||||
Two generally different approaches are possible for current BIP44 capable wallets:
|
||||
|
||||
1) Allow the user to use the same account(s) that they already uses, but add segregated witness encoded addresses to it
|
||||
1) Allow the user to use the same account(s) that they already uses, but add segregated witness encoded addresses to it.
|
||||
|
||||
1.1) Use the same public keys as defined in BIP44, but in addition to the normal P2PKH address also derive the P2SH address from it.
|
||||
|
||||
1.2) Use the same account root, but branch off and derive different external and internal chain roots to derive dedicated public keys for the segregated witness addresses.
|
||||
|
||||
2) Create dedicated accounts only used for segregated witness addresses.
|
||||
2) Create dedicated accounts used only for segregated witness addresses.
|
||||
|
||||
The solutions from point 1 have a common disadvantage: if a user imports/recovers a BIP49-compatible wallet masterseed into/in a non-BIP49-compatible wallet, the account might show up but also it might miss some UTXOs.
|
||||
|
||||
@ -53,7 +53,7 @@ serialization method.
|
||||
m / purpose' / coin_type' / account' / change / address_index
|
||||
</pre>
|
||||
|
||||
For the `purpose`-path level it uses `49'`. The rest of the levels are used as defined in BIP44
|
||||
For the `purpose`-path level it uses `49'`. The rest of the levels are used as defined in BIP44.
|
||||
|
||||
|
||||
===Address derivation===
|
||||
@ -68,7 +68,7 @@ To derive the P2SH address from the above calculated public key, we use the enca
|
||||
|
||||
==Backwards Compatibility==
|
||||
|
||||
This BIP is not backwards compatible by design as described under [#considerations]. A not compatible wallet will not discover accounts at all and the user will notice that something is wrong.
|
||||
This BIP is not backwards compatible by design as described under [#considerations]. An incompatible wallet will not discover accounts at all and the user will notice that something is wrong.
|
||||
|
||||
|
||||
==Test vectors==
|
||||
|
Loading…
Reference in New Issue
Block a user