1/ This is the story of the "15 out of 15 Multisig Project".
We came together for the purpose of learning, experimentation, fundraising for devs, and community.
#Bitcoin
THREAD
We came together for the purpose of learning, experimentation, fundraising for devs, and community.
#Bitcoin



2/ It started out as a joke.
Over the past few months, I have been exploring different multisig options, including @CasaHODL @unchainedcap @ElectrumWallet @LilyWallet
I found this to be so ridiculous, I originally posted it as a joke! https://twitter.com/thebitcoinrabbi/status/1276110895794606087?s=20
Over the past few months, I have been exploring different multisig options, including @CasaHODL @unchainedcap @ElectrumWallet @LilyWallet
I found this to be so ridiculous, I originally posted it as a joke! https://twitter.com/thebitcoinrabbi/status/1276110895794606087?s=20
3/ But after some time of experimenting with multisig, I thought, why not, lets see if I can find 14 other people that like playing around with multisig. It could be a fun project.
As far as I know, its the biggest multisig setup thats ever been done https://twitter.com/thebitcoinrabbi/status/1299049518974087173?s=20
As far as I know, its the biggest multisig setup thats ever been done https://twitter.com/thebitcoinrabbi/status/1299049518974087173?s=20
4/ We needed to get organized and make a very specific plan. It's not easy to get 15 people together and have them all in sync. The critical point of a N of N is that if one single person doesn't sign, then all funds are totally lost
We gathered the team https://twitter.com/thebitcoinrabbi/status/1299063746074206208?s=20
We gathered the team https://twitter.com/thebitcoinrabbi/status/1299063746074206208?s=20
5/ The first step of making the wallet was for everyone to generate a new wallet and Zpub to combine together for the multisig. We needed 15 Zpubs collected on a spreadsheet.
6/ Now everyone would take the other 14 Zpubs and create the wallet on their Electrum. We all confirmed with each other that we had the same addresses.
Once we knew that everyone had the wallet setup, we could start sending funds.
At least that's what was supposed to happen...
Once we knew that everyone had the wallet setup, we could start sending funds.
At least that's what was supposed to happen...
7/ This is where we ran into trouble. After several of us confirmed that the wallet was setup properly, some anxious, #reckless bitcoiners decided to send funds.
Meanwhile, it was discovered that some people generated their Zpubs outside of electrum.
This was a problem...
Meanwhile, it was discovered that some people generated their Zpubs outside of electrum.
This was a problem...
8/ When you generate a single sig segwit wallet, it's a zprv/zpub pair derived from the seed. In order to make a multisig, you need to convert that to to a Zprv/Zpub pair.
But this is not a standard. Some used electrum, others used a tool from @lopp https://github.com/jlopp/xpub-converter
But this is not a standard. Some used electrum, others used a tool from @lopp https://github.com/jlopp/xpub-converter
9/ So at this point, we have 2 key holders who can't figure out how to sign. There is already over 1 million sats locked in this wallet. We reached out to devs, we looked at different wallets and tools, but things looked bleak.
It was several hours of confusion...
It was several hours of confusion...
10/ Finally, after getting a clear understanding of the issue, the hero of the day @theinstagibbs assessed our problem and wrote a script to find the missing Zprv.
The day was officially saved! https://twitter.com/theinstagibbs/status/1299440818512683011?s=20
The day was officially saved! https://twitter.com/theinstagibbs/status/1299440818512683011?s=20
11/ At this point, we were back in business!
We had decided to raise funds to donate to two devs who are working on multisig wallets.
We used the https://bitcoindevlist.com to look for good options for making the donations. @matt_odell @DennisReimann
We had decided to raise funds to donate to two devs who are working on multisig wallets.
We used the https://bitcoindevlist.com to look for good options for making the donations. @matt_odell @DennisReimann
12/ Our first dev to receive a donation was @KayBeSee who is working on @LilyWallet. It's a great multisig wallet with a really nice UI/UX http://lily.kevinmulcrone.com
13/ The second dev to receive funds was @_benkaufman who is working on Specter Desktop, a whole dashboard for full node and multisig https://github.com/cryptoadvance/specter-desktop
14/ The process of signing was by passing a PSBT (partially signed bitcoin transaction) to all 15 key holders. I first constructed the transaction, signed, and sent to the next person. The final signer broadcasted.
The tx was mined in block 645927 https://blockstream.info/tx/6e5e86c26830fec801f0f8c0943d908219e000877184f098f93b78faa702bd33
The tx was mined in block 645927 https://blockstream.info/tx/6e5e86c26830fec801f0f8c0943d908219e000877184f098f93b78faa702bd33
15/ Seeing the transaction confirmed was a magical experience. The excitement in the chat was palpable.
We had done it. 15 random people, random bitcoiners, got together and did something completely ridiculous and reckless, just for the sake of it, and it worked!
We had done it. 15 random people, random bitcoiners, got together and did something completely ridiculous and reckless, just for the sake of it, and it worked!
We realized for the second transaction that electrum has a built in plugin which broadcasts the partially signed transaction to all the signers so you don't need to actually send the file to each other manually
We are still organizing to sign for that. Should be done later today
We are still organizing to sign for that. Should be done later today
17/ I'm so proud of this amazing team. You guys are champs!
The Multi Sigz!
@LightningSats
@SarielEstarossa
@tokimon7
@awayslice
@SatsRoubini
@mendyshep
@madcapslaugh
@DMN737
@elultimomago
@abhishandy
@abitcoinperson
@SupremeRandall
@AntoineCorbel
@dustin_dettmer
The Multi Sigz!
@LightningSats
@SarielEstarossa
@tokimon7
@awayslice
@SatsRoubini
@mendyshep
@madcapslaugh
@DMN737
@elultimomago
@abhishandy
@abitcoinperson
@SupremeRandall
@AntoineCorbel
@dustin_dettmer
18/ I wrote this article to more formally discuss the process. https://medium.com/@thebitcoinrabbi/15-out-of-15-multisig-project-14d7e42d6a62
19/ Take away:
1. Multisig is great for security and its getting easier and easier for the average person to do. If you haven't yet, start experimenting with multisig.
2. Donating to bitcoin devs is cool.
3. Bitcoiners are the best!
End.
1. Multisig is great for security and its getting easier and easier for the average person to do. If you haven't yet, start experimenting with multisig.
2. Donating to bitcoin devs is cool.
3. Bitcoiners are the best!
End.
How it feels to sign a 15 out of 15 multisig transaction
It's done.
15 keys
4 days
2 tx
2.8 M sats donated
15 keys
4 days
2 tx
2.8 M sats donated
Second transaction has been signed by all 15 keys and broadcasted. The wallet has been emptied.
Mission successfully completed. https://blockstream.info/tx/5a4bd99dd5c02cffca62f7dd57649ff66bbd80a1efee5aebb746bd8248e418f2
Mission successfully completed. https://blockstream.info/tx/5a4bd99dd5c02cffca62f7dd57649ff66bbd80a1efee5aebb746bd8248e418f2