spesmilo / electrum

Electrum Bitcoin Wallet
https://electrum.org
MIT License
7.36k stars 3.06k forks source link

Wallet password unification on Android: enforce irreversibility #9075

Open SomberNight opened 3 months ago

SomberNight commented 3 months ago

On Android, in the past, each wallet could have a separate wallet password. Then https://github.com/spesmilo/electrum/pull/6805 introduced the wallet password unification. With that:

Note that before any wallet is opened, currently we don't know if the password is unified. The kivy gui did not allow creation of new wallets until an existing wallet was opened (https://github.com/spesmilo/electrum/pull/6805#issuecomment-759370628). The qml gui however allows this atm. This lets the user reverse password unification by creating a new wallet with a different password.

Maybe we could revert to the kivy behaviour and disable the create wallet button (or show popup when it is clicked) until a wallet is opened.


Some problematic/impossible use cases/scenarios:

SomberNight commented 3 months ago

Maybe we could revert to the kivy behaviour and disable the create wallet button (or show popup when it is clicked) until a wallet is opened.

Note: @ecdsa had an idea that we could even go a step further, and disallow creating new wallets at all if the password is not unified: show an error to the user telling them that they need to manually change all their passwords to be the same. This sounds a bit extreme though.