0

I'm looking into setting up a multisig setup using sparrow, and wanted to see if anyone can find any flaws in my set up, and potentially accessing my funds if I lose a key.

set up = 2 of 3

Key store 1 = Passport HWW

Key store 2 = Cold Card HWW

Key store 3 = Gordian Seed Tool (mobile hot wallet)

I will set up the Cold Card and Passport as per the instructions in the below video

https://www.youtube.com/watch?v=Gx0mke_4BJU

Seeds for these will be written onto a seed plate (one seed phrase per plate)

After setting up the Gordian Seed Tool and importing to sparrow/exporting back to the seed tool, I will deposit (the smallest amount possible) into the multisig wallet.

I will then restore the wallet using all 3 seeds to a different cold card and passport device, and import the wallet as a new wallet in Sparrow.

If the funds are available in the wallet I have the seed phrases all stored correctly. I wipe the original cold card and passport HWWs.

The seed plates for the 2 HWW's will be stored robustly at different physical locations.

I will destroy the copy of the seed phrase for the gordian seed tool.

I will then test spending the BTC on the wallet in 3 seperate transactions (signing with all 3 of the possible combinations of the 2 of 3 key stores.) If I can complete these 3 transactions I am satisfied I have the ability to access my BTC should any 1 of the 3 keystores become compromised.

My questions are 1) is there any obvious flaw in this sort of storage setup? and more importantly

  1. the only other information I will need in the event that one of my keys becomes physically compromised is the xpub/zpub of each of the 3 keys?

Furthermore storing these xpub/zpubs together (whilst it may create a privacy risk) doesnt create a security risk? e.g with each of the 2 seed plates I would store the xpub/zpub for ALL 3 KEYS on an encrypted SD card. If someone somehow managed to gain access to a seed plate (highly unlikely given the robust physical set up, but worst case), they would have access to 1 of the 3 seed phrases, AND access to all 3 xpub/zpubs? this would not give them access to my BTC, and I would still have access to it and could spend it (transfer it to another wallet) when it became apparent one of the seed phrases could be compromised?

Thanks in advance. I just want to make sure I'm not shooting myself in the foot by using a more sophisticated setup than a standard cold storage. In reality I consider the chance of making a mistake setting up a multisig solution and exponentially more likley threat than standard cold storage becoming compromised.

1 Answer 1

0

The Video you posted is for a 2-of-2 quorum. Backing up public key information in 2-of-2 is not that important, since you need the two seeds to spent anyway (and derive the necessary information to recreate the wallet). I'm assuming that's the reason there is not much emphasis on backing up public key information in this video. Also, blindly importing public key information provided by the hot computer into stateful devices opens up theoretical attack vectors. I suggest watching other tutorials focusing on 2-of-3 setups.

  1. is there any obvious flaw in this sort of storage setup?

I wouldn't call it obvious flaw but you testing your setup under the assumption that you have all 3 seeds... try testing it under different circumstances (You lost a seed plate, you lost your phone, Passport/Coldcard are destroyed nor accessible, you lost your encrypted SD, you forgot the password for your encrypted SD, etc.)

  1. the only other information I will need in the event that one of my keys becomes physically compromised is the xpub/zpub of each of the 3 keys?

To recreate a watch-only-wallet you'll need the 3 xpubs. To spent, you'll need the full redeem script. To keep it simple, besides backing up the xpubs, you want to backup derivation paths and the root fingerprints / XFP of each of the signers. Also, write down the quorum and script type.

Sparrow shows this information under Script Policy -> Edit OR one-by-one in the Keystores tab. Specter has a pdf you can download, which contains all the necessary information.

To get comfortable, keep it simple and consider trying all of this on testnet first. An easy way of doing this is to download Sparrow and run it with testnet flags (https://github.com/sparrowwallet/sparrow#configuration). You can then connect to a public testnet server (e.g. Blockstream). Also, try different wallet-software, e.g. Specter Wallet (they have a built-in one-click-install for a bitcoind testnet node as well).

2
  • Thanks so much for your reply! Yep I used that video more because it was the only one I could find with the 2 HWWs i was going to use. For the actual 2-3 set up I'll follow something like this youtu.be/qJ_SpQX_YKw?t=1546 Feb 27 at 6:11
  • Thanks for that re question 2. I'll make sure I print it out as per those instructions so I have everything. No point having a watch only wallet if 2 of the 3 keys become compromised! will just be telling me how much money I've lost. Good point re different wallet software. Thanks again!!! Feb 27 at 6:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.