top of page

COURSE 2 - 3.2. Multisig Bitcoin wallets

<   >

QUICK INFO:

  • Multisig wallets are setups of a certain number x of wallets, y of which are necessary to sign a transaction (with x>1 and yx). E.g., a [2/3] multisig wallet is a setup of 3 wallets (A, B, C), any 2 of which (A+B, or B+C, or A+C) are necessary to authorize a transaction.

  • In a multisig setup, all wallets share the same addresses: a fraction of bitcoin sent to one wallet is sent to all.

  • Multisig wallets significantly increase the security of the wallet: not only are they much less likely to be "discovered" but they allow for geographical separation of the private keys: in a 2/3 (A, B, C) setup for example, even if one wallet (say A) is compromised, the funds are not because it takes at least 2 wallets to authorize transactions.

  • Imperative: setup must happen exclusively in secure and cold computers, Tails OS (or hardware wallets).

  • For a 2/3 Multisig wallet, generate 3 wallets (ideally, on 3 different secure and cold computers for extra security).

  • For wallet A: "Applications" > "Internet" > "Electrum Bitcoin Wallet" > provide name of wallet > "Next" > "Multisig wallet" > "Create a new seed" (or "I already have a seed" - see chapter 2) > "Next" > note the seed and store it in a safe place (e.g. KeePassXC in Tails) > "Next" > retype seed> "Next" > note Master Public Key (MPK) > stop here and keep this window open.

  • Repeat the same process for wallets B and C.

  • Once you have the MPK of all 3 wallets (A, B, C), continue the process of generation of each wallet by providing it with the MPKs of the other 2 wallets

  • Finally, provide a secure password for each wallet, starting from the last one and the backwards (C, then B, then A).

  • Note seed info (e.g. in KeePassXC and/or in a physical support like paper or metal) but never in the same encrypted database/support (e.g. info relative to wallet A should be in a KeePassXC "A" which itself should be in a support "A" (e.g. a USB stick "A", or a Tails "A"), and the same for wallets B and C. The 3 supports (e.g. Tails A, Tails B, Tails C; or USB A, USB B, USB C) should be geographically separated.

  • Important info to note for each wallet:

    • Seed ("Wallet" > "Seed");

    • Derivation path ("Wallet" > "Information");

    • BIP32 root fingerprint ("Wallet" > "Information");

    • BIP32 root fingerprint of other wallets

    • Master Public Key ("Wallet" > "Information")

    • Master Public Keys of the other wallets

    • Electrum password

How to generate a multisig Bitcoin wallet (Part 1):

How to generate a multisig Bitcoin wallet (Part 2):

bottom of page