Bitcoin Forum

Bitcoin => Electrum => Topic started by: danwagnerco on June 03, 2022, 03:59:05 PM



Title: Electrum 4.2.2 2-of-3 multisig: sign transaction with remote wallet?
Post by: danwagnerco on June 03, 2022, 03:59:05 PM
Hello -- two questions about using the 2-of-3 multisig in Electrum.

Given three (3) people in three (3) separate locations, each with a Ledger Nano S hardware device -- I will call them Person Orange (with an orange-colored Ledger), Person Green (with a green-colored Ledger), and Person Black (with a black-colored Ledger) who are all in contact with one and other but are not physically in the same place.

Question 1: Is there a way to create a 2-of-3 multisig wallet in Electrum in this situation?

I have created a 2-of-3 multisig wallet in Electrum when holding all the hardware devices myself, but not when they are all in different locations.

Question 2: Is there a way to sign a transaction in a 2-of-3 multisig wallet in Electrum when all hardware devices are in separate locations?

Along the lines of question 1, suppose Person Orange and Person Green want to send bitcoin out of the wallet but they are not in the same location. Is this possible?

Thank you so much for your help! -Dan


Title: Re: Electrum 4.2.2 2-of-3 multisig: sign transaction with remote wallet?
Post by: DireWolfM14 on June 03, 2022, 04:11:59 PM
Question 1: Is there a way to create a 2-of-3 multisig wallet in Electrum in this situation?

I have created a 2-of-3 multisig wallet in Electrum when holding all the hardware devices myself, but not when they are all in different locations.

Yes, of course.  As you noticed when creating the multi-sig wallet by yourself; while creating one you need the master public keys from the other two.  The most convenient way would be for all three individuals to be in a remote meeting with each other, all create a multi-sig wallet, then share their master public key with the other two participants.  It doesn't all have to happen at the same time, but it does make things easier.

For additional privacy I would want to use GPG to encrypt my master public key before sending it to the other participants.


Question 2: Is there a way to sign a transaction in a 2-of-3 multisig wallet in Electrum when all hardware devices are in separate locations?

Again, that's not a problem.  One person can create and sign a transaction, save it to disk, and then share it with the other participants via email.  One of the other two participants will import the transaction, and add the next signature.  Once the required number of signatures has been reached, any of the participants can broadcast the transaction.


Title: Re: Electrum 4.2.2 2-of-3 multisig: sign transaction with remote wallet?
Post by: nc50lc on June 04, 2022, 03:49:11 AM
Question 2: Is there a way to sign a transaction in a 2-of-3 multisig wallet in Electrum when all hardware devices are in separate locations?
There is a "Cosigner Pool" plugin that will do exactly what you're asking.
You can enable it in "Tools->Plugins->Cosigner Pool" of all three cosigners (restarting Electrum might be necessary).

After that, a "Send to cosigner" button will show up in the advance transaction menu after you sign it.
Click it to do its thing.


Title: Re: Electrum 4.2.2 2-of-3 multisig: sign transaction with remote wallet?
Post by: NotATether on June 04, 2022, 04:14:31 AM
There is a "Cosigner Pool" plugin that will do exactly what you're asking.
You can enable it in "Tools->Plugins->Cosigner Pool" of all three cosigners (restarting Electrum might be necessary).

After that, a "Send to cosigner" button will show up in the advance transaction menu after you sign it.
Click it to do its thing.

Since multisig setup just requires the master public keys, wouldn't simply extracting them from the Ledgers and inserting them into the 3 electrum wallets work in that case for setup at least?

Or would that plugin also be necessary for initialization as well?


Title: Re: Electrum 4.2.2 2-of-3 multisig: sign transaction with remote wallet?
Post by: nc50lc on June 04, 2022, 04:40:05 AM
Or would that plugin also be necessary for initialization as well?
That's only for signing transactions.
I missed the "situation" above question number 1 so I guess I have to add that it's only an answer to 'Question 2'.


Title: Re: Electrum 4.2.2 2-of-3 multisig: sign transaction with remote wallet?
Post by: Pmalek on June 04, 2022, 04:46:34 PM
You asked something similar back in March.
https://bitcointalk.org/index.php?topic=5390338.0

Hardware wallets don't always perform as expected in multi-sig environments. I am not sure if that's true for all of them, but I have come across topics where users are having problems with Ledger devices. o_e_l_e_o  (https://bitcointalk.org/index.php?topic=5390338.msg59568045#msg59568045)also mentioned this to you in your other thread.


Title: Re: Electrum 4.2.2 2-of-3 multisig: sign transaction with remote wallet?
Post by: danwagnerco on June 06, 2022, 07:42:07 PM
You're right @Pmalek -- the answer from @o_e_l_e_o was incredibly helpful, and after communicating Electrum contributors on Github the "sequence of hardware devices" challenge I was having got addressed nicely in version 4.2.2:

https://github.com/spesmilo/electrum/commit/238619f1ed7cb8e7bc60f9de0bfddc0116914b79

Incredible turnaround speed and general responsiveness :) and you can even see my dumb face if you hover over the linked comment on the commit haha. You definitely hit the nail on the head with these Ledger devices too!

I am working through the suggestion from @nc50lc and the potential workaround from @NotATether this afternoon and will hopefully have all this all tied up with a bow before the end of the day.

Thanks so much to everyone for your help in this thread, as a newcomer these helpful responses have no doubt saved me days of trial and error! -Dan