It seems that Taproot allows us to protect each individual public key with a
password. It could work in this way: we have some normal, Taproot-based public
key, that is generated in a secure and random way, as it is today in Bitcoin
Core wallet. Then, we can create another public key, just by taking password
from the user, executing SHA-256 on that, and using it as a private key, so the
second key will be just a brainwallet. Then, we can combine them in a Schnorr
signature, forming 2-of-2 multisig, where the first key is totally random, and
the second key is just a brainwallet that takes a password chosen by the user.
By default, each key can be protected with the same password, used for the
whole wallet, but it could be possible to choose different passwords for
different addresses, if needed. Descriptors should handle that nicely, in the
same way as they can be used to handle any other 2-of-2 multisig.
_______________________________________________
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev