-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Description
This is a feature request.
Use case: I want to use multisignature (say, 2-of-2) wallet for multidevice multi-factor control (all wallet participants/devices are my own). So, ideally, I want to remeber one seed phrase and use different accounts (m/44'/0'/0', m/44'/0'/1', etc) on different devices. Current version of Copay allows this, but I don't want to expose BIP32 root key to any device, only account extended private key should be exposed. Now if I create wallet with such key and change derivation path from m/44'/0'/0' to just m, Copay says that derivation path is invalid.
So, first I can use one seed phrase and different BIP44 derivation paths on each device, but some quite smart malware on any device is able to steal BIP32 root key and all my funds. Second, I can use different seed phrases for different devices, but I want to remember only one and rule them all.
Example: let BIP39 seed phrase
ozone drill grab fiber curtain grace pudding thank cruise elder eight picnic
(it's one of test vectors here). Insert it to any BIP39 calculator, e.g. this. BIP32 root key is
xprv9s21ZrQH143K2vwt95G9vjWpa1o7izT4HqJFiKSdSeUAaYGz6zfW28ipAPB5eJqKccqFHU2BxGCvhQkVY7hMRdwDrHvsqe1GbkMCWPB9GGm
(don't be confused by difference between this key and test vector's key at https://github.com/trezor/python-mnemonic/blob/master/vectors.json, second uses BIP39 passphrase "TREZOR").
Account extended private key for m/44'/0'/0' is
xprv9zMcMWH49YtyJSbCRjL12jPnNQamikzKsBRNeRB8PYM8Kh6VqUmPkknju5XkEBg4PCisCJMad5KpZ8PMXknbRxjdqDMyKbSAGBYymbgmZj3
Account extended private key for m/44'/0'/1' is
xprv9zMcMWH49YtyLAoYxVobTWVgaEVRfNFUFDjT1rYtKCsNdUmZvhRGKaVjmM8ZcnQZU2CWf4eRdn5NAAoZ4Uiuf572W5YfKtgMmwebKgKQxy8
Now, I want to be able to create wallet with one of these two keys and derivation path "m", i.e.
2|xprv9zMcMWH49YtyJSbCRjL12jPnNQamikzKsBRNeRB8PYM8Kh6VqUmPkknju5XkEBg4PCisCJMad5KpZ8PMXknbRxjdqDMyKbSAGBYymbgmZj3|livenet|m|undefined
instead of
2|xprv9s21ZrQH143K2vwt95G9vjWpa1o7izT4HqJFiKSdSeUAaYGz6zfW28ipAPB5eJqKccqFHU2BxGCvhQkVY7hMRdwDrHvsqe1GbkMCWPB9GGm|livenet|m/44'/0'/0'|undefined
(last two should be same wallets).