pull down to refresh

Slow progress, but this PR gives a sketch of what's possible. Don't use this on mainnet, or at all :-)

I like to keep such experiments on my own fork, and then incrementally PR things to the main repo. But this isn't my main focus at the moment, so don't hold your breath.
https://github.com/Sjors/bitcoin/pull/91

Proof-of-me: https://nostr.com/nevent1qvzqqqqqqypzqc4fyp9rz484zld7ukpjqvsg89ltm7a2r0hle0c5d4lsvyugtklrqy2hwumn8ghj7un9d3shjtnwdaehgu3wvdhk6qg0waehxw309ahx7uewwfjkccteqy2hwumn8ghj7mn0wd68ytnfdehhxarp9e3kxqg5waehxw309aex2mrp0yhxgctdw4eju6t0qyxhwumn8ghj7mn0wvhxcmmvqqspfdvf02twa9jrf9s0wt3zxk3p84cpqlhwtsqgqgm7d6qmrehlurgz6ydqz

Looks very cool. Is this very different than Nunchuk's implementation of MuSig2?

reply

It's unrelated, though it might be useful to include Nunchuck in an interop test.

Hardware Wallet Integration: We plan to add hardware signing support in the future.

They might need similar changes on the Bitcoin Core side? I haven't studied their implementation yet.

reply

I will try not to get too excited, but I'd love to see MuSig2 in Core. I think there haven't been too many software wallets that have rolled it out -- it maybe is only Nunchuk and BitGo (but they are institutional, I think?) Seems like Keeper, Bitcoin Safe, and Liana haven't implemented it yet.

reply

MuSig2 is already in Core! Just no hardware wallet support and very tedious to setup even between two core wallets.

reply

Ah I didn't realize this. That's very cool! I found it difficult enough to set up a normal multisig in Core, I may wait to try making a musig2 wallet.

But could one still create a PSBT with a musig2 wallet in Core and then export that into something like Ledger or Coldcard Edge (which I think can sign musig2) and use a hardware wallet that way?

reply
191 sats \ 1 reply \ @sjors OP 13 Jun

Once setup, using it is easier, especially between two core wallets.

However Ledger isn't going to sign anything without first registering the BIP388 policy, and then passing it back (along with an hmac) at signing time.

Core can't currently produce this BIP388 policy and it can't store the hmac provided by the ledger. So you'd have to use the Ledger drivers manually (lookup Moosig). Not fun.

I forgot what ColdCard requires, if anything, maybe passing psbt's around already works?

https://github.com/bitcoin/bips/blob/master/bip-0388.mediawiki

reply

Yes, that sounds quite a bit beyond what I'm willing to do (or should attempt).

reply

More cowbell

reply