KeystoneHQ / keystone3-firmware

Keystone3: Best Open Source Cold Wallet & Hardware Wallet
https://keyst.one/
Other
59 stars 20 forks source link

Custom BIP44 derivation paths #894

Open lbeder opened 2 months ago

lbeder commented 2 months ago

Hi,

Are there any plans to support custom BIP44 derivation paths? Keystone is an awesome device, but it's currently impossible to use it with custom derivation paths.

Basiclly, I'd like to input an arbitrarily long string, i.e. m/44'/x'/y'/z'/....'/0 , and have the addresses generated from the path.

soralit commented 2 months ago

Hi @lbeder , thanks for this suggestion. We got this idea very long ago (from the project start) and we found this functionality was quite advanced for all users. We'd like to collect more user feedback on this and determine when and how we can implement this. Also I'd like to learn how would you use this feature, only for bitcoin or other blockchains?

jpph commented 2 months ago

It is indeed dangerous, will need to warn and educate user. There is use case it is mandatory to change derivation path, for example subaccounts from trezor and ledger. Without being able to change path, we can only access account 0 of trezor and ledger....

lbeder commented 2 months ago

Hi @soralit,

Being able to use multiple paths is very useful to manage wallets that have lots of addresses in them.

For example, instead of having only 1 path with 500 accounts in it, the user can make multiple paths for different use cases.

m/44’/60’/X’/0 for addresses that only hold coin X

m/44’/60’/Y’/0 for addresses that are used for coin Y

m/44’/60’/3’/0 only used for some other purpose

I understand the average user may not have many accounts, so they might not need this function. But it would definitely be a useful option. It could even be something only enabled in "expert mode" settings if you felt that would be more appropriate.