Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: The Bitcoin Co-op on August 07, 2018, 03:38:22 PM



Title: How Forks Ruin Multisig: a Cautionary Tale
Post by: The Bitcoin Co-op on August 07, 2018, 03:38:22 PM
As the founders of CoinFest (http://www.coinfest.org), we were one of the earliest to experiment with real use cases for large multisig wallets. We were even 10-of-15 at one point back when CoinKite was still around. Things got complicated sometimes, but we never had to face losing any funds... until the Bitcoin Cash fork.

Splitting Bitcoin Cash was somewhat confusing ordinarily, but a massive headache with multisig wallets. It took Copay (our current multisig wallet) a while to enable it in their app, and meanwhile we sat on a nice stash of untouchable coins. Annoying.

Eventually, we got around to trying to split the coins, and then things got even weirder. All signatories have now confirmed the Bitcoin Cash wallet, but because there's a lot of us and a couple had technical difficulties, there was a significant window of time between the wallet's initiation and the final confirmation. In that time, Bitcoin Cash underwent a major update and I had to restore to a new phone (old one stolen) with my back-up; this appears to have had the effect that some signatories can see each other and others can't, and the wallet set-up cannot complete.

BitPay says we need every signatory's back-up to fix this, but one signatory is now refusing. He's essentially acting maliciously, but he also has a point: multisig wallets are intended for us to not have to trust each other or give up our back-ups while having shared control of funds. What we're asking is antithetical to the concept of Bitcoin, but we need him to acquiesce or else we lose all the BCH.

Moral of the story: be careful out there, guys. Also, anybody got any multisig wallet recommendations that might save us, here?


Title: Re: How Forks Ruin Multisig: a Cautionary Tale
Post by: suchmoon on August 08, 2018, 12:22:30 AM
I'm confused as to what your issue is. Do you (and your co-signers) have control of your private keys or not?


Title: Re: How Forks Ruin Multisig: a Cautionary Tale
Post by: keychainX on August 10, 2018, 04:57:58 AM
As the founders of CoinFest (http://www.coinfest.org), we were one of the earliest to experiment with real use cases for large multisig wallets. We were even 10-of-15 at one point back when CoinKite was still around. Things got complicated sometimes, but we never had to face losing any funds... until the Bitcoin Cash fork.

Moral of the story: be careful out there, guys. Also, anybody got any multisig wallet recommendations that might save us, here?

Actually, you didn't loose any cash, you were just unable to move the Bitcoin Cash funds, which you actually got airdropped for free.

To answer your question regarding any multisig wallet recommendations, you can use  for example libbitcoin-explorer or you could create one with a library such as bitcoinjs-lib.

You can also use electrum Cash multisig wallet, the doc here: http://docs.electrum.org/en/latest/multisig.html#create-a-pair-of-2-of-2-wallets


Title: Re: How Forks Ruin Multisig: a Cautionary Tale
Post by: The Bitcoin Co-op on August 10, 2018, 07:33:09 AM
I'm confused as to what your issue is. Do you (and your co-signers) have control of your private keys or not?

Yes, but this is insufficient to claim our BCH due to a Copay wallet error. As detailed in the OP, set-up of the BCH wallet failed and there is no option to try again.

To answer your question regarding any multisig wallet recommendations, you can use  for example libbitcoin-explorer or you could create one with a library such as bitcoinjs-lib.

You can also use electrum Cash multisig wallet, the doc here: http://docs.electrum.org/en/latest/multisig.html#create-a-pair-of-2-of-2-wallets

We're open to using a new wallet for future general purposes, but what we need now is one wherein we can import our multisig wallet and re-attempt set up. Or maybe if we import the "incomplete" wallet it will function. It would be easier if we could fix Copay, though, due to the rogue signatory--he already confirmed the BCH wallet on Copay.


Title: Re: How Forks Ruin Multisig: a Cautionary Tale
Post by: mr_sparkles on August 11, 2018, 11:46:38 AM
Surely if it's something like 10-of-15, there are still 5 other possible signatories?

So you all have your private keys - I don't understand how it's not possible for you to generate the signatures and the signature algorithm in BCH is unchanged. So I guess this must be just an implementation issue with Copay?


Title: Re: How Forks Ruin Multisig: a Cautionary Tale
Post by: The Bitcoin Co-op on August 11, 2018, 02:52:11 PM
Surely if it's something like 10-of-15, there are still 5 other possible signatories?

So you all have your private keys - I don't understand how it's not possible for you to generate the signatures and the signature algorithm in BCH is unchanged. So I guess this must be just an implementation issue with Copay?

Well now it's 3-of-6. BitPay (developer of Copay) says they need every single signatory's back-up to fix the problem. All of the signatories did sign to create the BCH wallet, so surely it should have been set up, but it wasn't. I guess this would be classified as an implementation issue, yes.


Title: Re: How Forks Ruin Multisig: a Cautionary Tale
Post by: Abdussamad on August 11, 2018, 10:13:34 PM
have you tried restoring in electron cash? you are not tied to copay you know? no need to share  seeds


Title: Re: How Forks Ruin Multisig: a Cautionary Tale
Post by: buwaytress on August 12, 2018, 03:57:59 PM
It's not really an issue for me. Multisig decisions are for the original blockchain, and in the case of BCH forks, it simply means as you said: that those "airdropped coins" aren't accessible. But the original purpose and funds meants to be secured by multisig are still there, still yours to control. I don't really see the sole signatory's act as malicious. He/she may have security concerns related to the original assets protected (Bitcoin).

As Abdussamad says too: why not just restore with another wallet? Move all your funds from original wallet to new one. Abandon the original one for Bitcoin and use that seed to restore with BCH electron.