@ryanofsky recently suggested that I should write an overview of how the various pull requests spread over different repositories relate to some bigger picture view.
See the multisig tutorial for how things currently work.
I typically have the following future multisig wallet in mind to guide my thinking:
- a computer running Bitcoin Core holding one master key (key 1)
- one or more hardware wallets with additional keys, via HWI (keys 2 ... n)
- taproot keypath using n-of-n MuSig2
- a fallback with fewer keys after some time elapsed
- a GUI wizard to set this up (simple Python command line tool until then)
The descriptors for this could be hand crafted, but it would be nice to have:
6. Miniscript compiler that can generate this
What's Missing?
Misc
I have a PR that improves address display handling on the device:
Even better would be if we had a feature to ask the wallet for a signature to prove it has the private key (without passing that information to the outside world of course, see #24186). This requires BIP-322 support on our end (#24058), at least one hardware wallet to support it, and a new HWI signmessage command. Perhaps this can later be expanded to allow your device to prove that it (still) has the keys it needs as a co-signer.
Miniscript compilers currently doesn't support Taproot (e.g. to find the optimal tree structure), but I'm assuming you can still hand craft a leaf containing MiniScript.
@ryanofsky recently suggested that I should write an overview of how the various pull requests spread over different repositories relate to some bigger picture view.
See the multisig tutorial for how things currently work.
I typically have the following future multisig wallet in mind to guide my thinking:
The descriptors for this could be hand crafted, but it would be nice to have:
6. Miniscript compiler that can generate this
What's Missing?
createwalletdescriptorandgethdkeysRPCs for adding new automatically generated descriptors #29130 makes it possible to create a wallet with a seed, but without any descriptors.createwalletdescriptorandgethdkeysRPCs for adding new automatically generated descriptors #29130 addedgethdkeys, helpful but doesn't support arbitrary derivation pathscreatewalletto generate a blank wallet, fetch an xpub from it, and then callimportdescriptors.Misc
I have a PR that improves address display handling on the device:
Even better would be if we had a feature to ask the wallet for a signature to prove it has the private key (without passing that information to the outside world of course, see #24186). This requires BIP-322 support on our end (#24058), at least one hardware wallet to support it, and a new HWI
signmessagecommand. Perhaps this can later be expanded to allow your device to prove that it (still) has the keys it needs as a co-signer.Miniscript compilers currently doesn't support Taproot (e.g. to find the optimal tree structure), but I'm assuming you can still hand craft a leaf containing MiniScript.