Bitcoin Forum
April 03, 2026, 05:09:00 PM *
News: Latest Bitcoin Core release: 30.2 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: MultisigBackup.com: Descriptor Recovery Made Easy  (Read 191 times)
joshdoman (OP)
Newbie
*
Offline Offline

Activity: 4
Merit: 22


View Profile
February 02, 2025, 04:18:54 PM
Merited by ABCbits (17), NotATether (2), dkbit98 (1)
 #1

Hi all, I've been working on a new open source project, multisigbackup.com, which is designed to make it as easy as possible to backup and recover a multisig descriptor.

What is a multisig?

A multisignature wallet is a wallet that requires multiple signatures in order to access funds. In a 2-of-3 multisig, for instance, 2 signatures are needed out of 3 possible keys. This can greatly enhance security because each key can be kept in a separate geographic location, and they never need to be brought together.

What is a descriptor?

Many aren't aware that in order to recover a 2-of-3 multisig wallet, you need at least 2 seed phrases and a piece of information called the output descriptor. Among other things, the descriptor contains the derivation paths and the extended public keys (xpubs), all of which are needed in order to spend from a standard 2-of-3 multisig.

In short, contrary to most users' expectations, 2 seed phrases are NOT enough to recover a 2-of-3 multisig wallet. Without the descriptor, your funds are lost if you lose one of your seeds.

Here's an example of what a standard 2-of-3 descriptor looks like in Sparrow:

Quote
wsh(sortedmulti(2,[3abf21c8/48h/0h/0h/2h]xpub6DYotmPf2kXFYhJMFDpfydjiXG1RzmH1V7Fnn2Z38DgN2oSYruczMyTFZZPz6yXq47Re8anhXWG j4yMzPTA3bjPDdpA96TLUbMehrH3sBna/<0;1>/*,[a1a4bd46/48h/0h/0h/2h]xpub6DvXYo8BwnRACos42ME7tNL48JQhLMQ33ENfniLM9KZmeZGbBhyh1Jkfo3hUKmmjW92o3r7BprT PPdrTr4QLQR7aRnSBfz1UFMceW5ibhTc/<0;1>/*,[ed91913d/48h/0h/0h/2h]xpub6EQUho4Z4pwh2UQGdPjoPrbtjd6qqseKZCEBLcZbJ7y6c9XBWHRkhERiADJfwRcUs14nQsxF3hv x7aFkbk3tfp4dnKfkcns217kBTVVN5gY/<0;1>/*))#hpcyqx44

How are descriptors typically stored?

If you're using a collaborative multisig provider like Unchained, Casa, or Nunchuck, the descriptor is backed up on your behalf. This makes for a smoother user experience during onboarding and easier inheritance, but you sacrifice privacy, must pay $200+ annual fees, and must trust the provider to maintain backups. For this reason, it's recommended that you still back up the descriptor yourself.

A common, but dangerous, approach to back up the descriptor is to store it on your laptop or in the cloud. While essentially free, this approach makes inheritance extremely challenging and risks the descriptor getting lost or accidentally deleted.

A better practice is to print out multiple copies of the descriptor or put them on USB sticks, storing one alongside each seed phrase. This is more robust and better for inheritance, but the data can still get destroyed in a fire or simply degrade.

Lastly, you can purchase special equipment like a SeedHammer, which can engrave your descriptor onto steel plates. This is the most durable existing solution, but it's pricey.

The goal: permanent, privacy-preserving, one-click backup and recovery

For the best user experience, a new user should only need to physically back up their seed phrases. Anything else is an extra burden that discourages new users and creates risk.

With multisigbackup.com, descriptor backup is made easy. The user simply inputs their descriptor, and the tool encrypts it and generates a taproot address, which with a single payment, will inscribe the encrypted data forever on Bitcoin.

Later, when a user wishes to recover it, they simply connect two hardware devices (Ledger and Trezor supported) and press recover. To recover manually, the user inputs the master fingerprints of two seed phrases, which are hashed and used to find the encrypted descriptor onchain via an open source indexer. The derivation paths, which are not encrypted, are then used by the user to derive two xpubs, which can decrypt and recover the original descriptor.

How it works

This tool encrypts the sensitive data (master fingerprints and xpubs) in a k-of-n descriptor in a way that can be decrypted with any k xpubs. Here's a high-level overview of how this works:

     1. Extract xpubs and master fingerprints
     2. Encrypt xpubs and master fingerprints using a random seed
     3. Use shamir secret sharing to split the seed into n shares, where k shares is enough to recover it
     4. Encrypt each share with a corresponding xpub
     5. Append the encrypted data to the stripped descriptor

To facilitate recovery while preserving privacy, each pair of master fingerprints is hashed, and the first four bytes are appended to the inscribed text. These hashes are used to find the encrypted descriptor later using the indexer.

If you're curious what an encrypted descriptor looks like, here's an inscribed example: https://mempool.space/tx/c33203c3c589affbbca8635abf90a0faf8676db8e4a5b52395b4c0f7fee4deed

Summary

  • Manageable one-time cost - cost to inscribe is equivalent to making ~4 multisig transactions (~400vb or 800 sats at 2 sats/vb)
  • Strong data availability guarantees - no risk of loss due to fire, hardware failure, vendor error, or vendor closure
  • Privacy preserving - no information leaked publicly nor to any vendor, not even a thief who has stolen a seed phrase would know it’s part of a multisig
  • Simple recovery - anyone can recover simply by connecting two devices = simplified inheritance
  • Enables simpler setup - a wallet can present a payment link or inscribe on the user’s behalf during setup = superior UX

Feel free to try it out! Happy to answer questions and appreciate any feedback.

Source code: https://github.com/joshdoman/multisig-backup
ABCbits
Legendary
*
Offline Offline

Activity: 3570
Merit: 9897



View Profile
February 03, 2025, 10:02:12 AM
 #2

I just tried it (without inscribe on blockchain and hardware wallet) and it seems to work properly. While i really appreciate your effort, your website could add different burden to the users.
1. Without block explorer which automatically decode Ordinal's data, it's not trivial to get the encrypted descriptor. With your inscribed example, i had to copy hex data pushed by OP_PUSHDATA2 and use website/tool which convert hex to ASCII/UTF-8.
2. User either need to write down associated address/TXID somewhere in order to get encrypted descriptor easily in the future.

███████████████████████████
███████▄████████████▄██████
████████▄████████▄████████
███▀█████▀▄███▄▀█████▀███
█████▀█▀▄██▀▀▀██▄▀█▀█████
███████▄███████████▄███████
███████████████████████████
███████▀███████████▀███████
████▄██▄▀██▄▄▄██▀▄██▄████
████▄████▄▀███▀▄████▄████
██▄███▀▀█▀██████▀█▀███▄███
██▀█▀████████████████▀█▀███
███████████████████████████
.
.Duelbits PREDICT..
█████████████████████████
█████████████████████████
███████████▀▀░░░░▀▀██████
██████████░░▄████▄░░████
█████████░░████████░░████
█████████░░████████░░████
█████████▄▀██████▀▄████
████████▀▀░░░▀▀▀▀░░▄█████
██████▀░░░░██▄▄▄▄████████
████▀░░░░▄███████████████
█████▄▄█████████████████
█████████████████████████
█████████████████████████
.
.WHERE EVERYTHING IS A MARKET..
█████
██
██







██
██
██████
Will Bitcoin hit $200,000
before January 1st 2027?

    No @1.15         Yes @6.00    
█████
██
██







██
██
██████

  CHECK MORE > 
joshdoman (OP)
Newbie
*
Offline Offline

Activity: 4
Merit: 22


View Profile
February 03, 2025, 01:40:58 PM
Merited by ABCbits (2)
 #3

I just tried it (without inscribe on blockchain and hardware wallet) and it seems to work properly. While i really appreciate your effort, your website could add different burden to the users.
1. Without block explorer which automatically decode Ordinal's data, it's not trivial to get the encrypted descriptor. With your inscribed example, i had to copy hex data pushed by OP_PUSHDATA2 and use website/tool which convert hex to ASCII/UTF-8.
2. User either need to write down associated address/TXID somewhere in order to get encrypted descriptor easily in the future.

Thanks for giving it a try! Just to clarify, you actually don't need to use a block explorer or write down the address, txid, or anything else.

All you need to do is go to the "Recover" tab and input two master fingerprints in your multisig. In the inscribed example, the master fingerprints are 3abf21c8, a1a4bd46, and ed91913d, which correspond to the three seed phrases. Pick any two and press "Recover," and the tool hashes them and looks up the encrypted descriptor in an indexer. You can then decrypt and recover the descriptor using the xpubs.

Hope this helps!
ABCbits
Legendary
*
Offline Offline

Activity: 3570
Merit: 9897



View Profile
February 04, 2025, 08:13:18 AM
 #4

I just tried it (without inscribe on blockchain and hardware wallet) and it seems to work properly. While i really appreciate your effort, your website could add different burden to the users.
1. Without block explorer which automatically decode Ordinal's data, it's not trivial to get the encrypted descriptor. With your inscribed example, i had to copy hex data pushed by OP_PUSHDATA2 and use website/tool which convert hex to ASCII/UTF-8.
2. User either need to write down associated address/TXID somewhere in order to get encrypted descriptor easily in the future.

Thanks for giving it a try! Just to clarify, you actually don't need to use a block explorer or write down the address, txid, or anything else.

All you need to do is go to the "Recover" tab and input two master fingerprints in your multisig. In the inscribed example, the master fingerprints are 3abf21c8, a1a4bd46, and ed91913d, which correspond to the three seed phrases. Pick any two and press "Recover," and the tool hashes them and looks up the encrypted descriptor in an indexer. You can then decrypt and recover the descriptor using the xpubs.

Hope this helps!

I see. I didn't try inscribe on blockchain, so i skipped "Recover Step 1" where i had to enter encrypted descriptor manually. In case the user perform inscription, additional burden i mentioned doesn't apply.

███████████████████████████
███████▄████████████▄██████
████████▄████████▄████████
███▀█████▀▄███▄▀█████▀███
█████▀█▀▄██▀▀▀██▄▀█▀█████
███████▄███████████▄███████
███████████████████████████
███████▀███████████▀███████
████▄██▄▀██▄▄▄██▀▄██▄████
████▄████▄▀███▀▄████▄████
██▄███▀▀█▀██████▀█▀███▄███
██▀█▀████████████████▀█▀███
███████████████████████████
.
.Duelbits PREDICT..
█████████████████████████
█████████████████████████
███████████▀▀░░░░▀▀██████
██████████░░▄████▄░░████
█████████░░████████░░████
█████████░░████████░░████
█████████▄▀██████▀▄████
████████▀▀░░░▀▀▀▀░░▄█████
██████▀░░░░██▄▄▄▄████████
████▀░░░░▄███████████████
█████▄▄█████████████████
█████████████████████████
█████████████████████████
.
.WHERE EVERYTHING IS A MARKET..
█████
██
██







██
██
██████
Will Bitcoin hit $200,000
before January 1st 2027?

    No @1.15         Yes @6.00    
█████
██
██







██
██
██████

  CHECK MORE > 
NotATether
Legendary
*
Offline Offline

Activity: 2296
Merit: 9606


┻┻ ︵㇏(°□°㇏)


View Profile WWW
February 05, 2025, 04:47:33 AM
 #5

This is a very good service, even though I don't understand multisig descriptors well.

What exactly is creating this output descriptor when you generate a new multisig wallet on different devices?

 
 b1exch.to 
  ETH      DAI   
  BTC      LTC   
  USDT     XMR    
.███████████▄▀▄▀
█████████▄█▄▀
███████████
███████▄█▀
█▀█
▄▄▀░░██▄▄
▄▀██▄▀█████▄
██▄▀░▄██████
███████░█████
█░████░█████████
█░█░█░████░█████
█░█░█░██░█████
▀▀▀▄█▄████▀▀▀
joshdoman (OP)
Newbie
*
Offline Offline

Activity: 4
Merit: 22


View Profile
February 05, 2025, 04:05:28 PM
 #6

This is a very good service, even though I don't understand multisig descriptors well.

What exactly is creating this output descriptor when you generate a new multisig wallet on different devices?

The output descriptor is formatted according to a well-defined standard built into Bitcoin Core, Sparrow, and most software wallets. You can read more about it in https://github.com/bitcoin/bips/blob/master/bip-0380.mediawiki and https://github.com/bitcoin/bips/blob/master/bip-0389.mediawiki.

For a standard multisig, the descriptor consists of four pieces of information:
  • The script type (P2SH, P2WSH, P2TR, etc.)
  • The master fingerprints of the seed phrases
  • The derivation paths to derive the extended public keys (xpubs)
  • The xpubs used in the multisig

If you use Sparrow, the descriptor is presented to the user for backup as soon as they finish creating their multisig wallet. Hope this helps!
dkbit98
Legendary
*
Offline Offline

Activity: 2926
Merit: 8612


Availa₿le


View Profile WWW
February 05, 2025, 06:03:48 PM
 #7

Great idea to make multisig more simple to use, but I see a problem with wallets that currently support output descriptors.
I am not sure if list posted in link below is correct and up to date, but it appears that only one hardware wallet is supporting output descriptors, and that is a big limitations.
Sure, it's possible to use only software wallets for multisig setup, but security is much better with hardware wallets added.
I also don't see Electrum wallet listed as supported, and that is one of the most popular Bitcoin wallets.
https://outputdescriptors.org/

███████████████████████████
███████▄████████████▄██████
████████▄████████▄████████
███▀█████▀▄███▄▀█████▀███
█████▀█▀▄██▀▀▀██▄▀█▀█████
███████▄███████████▄███████
███████████████████████████
███████▀███████████▀███████
████▄██▄▀██▄▄▄██▀▄██▄████
████▄████▄▀███▀▄████▄████
██▄███▀▀█▀██████▀█▀███▄███
██▀█▀████████████████▀█▀███
███████████████████████████
.
.Duelbits PREDICT..
█████████████████████████
█████████████████████████
███████████▀▀░░░░▀▀██████
██████████░░▄████▄░░████
█████████░░████████░░████
█████████░░████████░░████
█████████▄▀██████▀▄████
████████▀▀░░░▀▀▀▀░░▄█████
██████▀░░░░██▄▄▄▄████████
████▀░░░░▄███████████████
█████▄▄█████████████████
█████████████████████████
█████████████████████████
.
.WHERE EVERYTHING IS A MARKET..
█████
██
██







██
██
██████
Will Bitcoin hit $200,000
before January 1st 2027?

    No @1.15         Yes @6.00    
█████
██
██







██
██
██████

  CHECK MORE > 
joshdoman (OP)
Newbie
*
Offline Offline

Activity: 4
Merit: 22


View Profile
February 05, 2025, 08:51:22 PM
 #8

Great idea to make multisig more simple to use, but I see a problem with wallets that currently support output descriptors.
I am not sure if list posted in link below is correct and up to date, but it appears that only one hardware wallet is supporting output descriptors, and that is a big limitations.
Sure, it's possible to use only software wallets for multisig setup, but security is much better with hardware wallets added.
I also don't see Electrum wallet listed as supported, and that is one of the most popular Bitcoin wallets.
https://outputdescriptors.org/

I can't comment on how up to date that list is, but I don't think the lack of explicit hardware support is actually a problem. Most users setting up a DIY multisig are doing it through open source software like Sparrow and Specter, which coordinate the multisig setup and facilitate signatures from multiple devices.

Most users aren't doing DIY multisigs, though. They're using a collaborative custody provider like Unchained, Casa, Nunchuk, etc. Of these, only Unchained doesn't natively support output descriptors. They use their own wallet configuration file format. To convert to a standard output descriptor, a user would need to import the configuration file into Unchained's open source wallet, Caravan, or into software like Sparrow. From there, you can export the output descriptor.

As for Electrum, you're correct that output descriptors aren't natively supported. Like Unchained, you'd need to import the Electrum configuration file into Sparrow, which will let you export the wallet's output descriptor. I'll try to add native support for these non-standard file formats in the future.
dkbit98
Legendary
*
Offline Offline

Activity: 2926
Merit: 8612


Availa₿le


View Profile WWW
February 06, 2025, 09:09:01 PM
 #9

Most users setting up a DIY multisig are doing it through open source software like Sparrow and Specter, which coordinate the multisig setup and facilitate signatures from multiple devices.
I don't think that is the case, since multisig setups exist longer than Sparrow and Specter wallets.
I am not saying that Sparrow wallet is bad and I actually like it, but I am sure more users prefer simplicity of Electrum wallet, that is one of the oldest bitcoin wallets.
Specter wallet is something I tested few times but it didn't work correctly on my system.

I'll try to add native support for these non-standard file formats in the future.
Thanks.

Few years ago I created a list of multisig wallets:
https://bitcointalk.org/index.php?topic=5324749.0

███████████████████████████
███████▄████████████▄██████
████████▄████████▄████████
███▀█████▀▄███▄▀█████▀███
█████▀█▀▄██▀▀▀██▄▀█▀█████
███████▄███████████▄███████
███████████████████████████
███████▀███████████▀███████
████▄██▄▀██▄▄▄██▀▄██▄████
████▄████▄▀███▀▄████▄████
██▄███▀▀█▀██████▀█▀███▄███
██▀█▀████████████████▀█▀███
███████████████████████████
.
.Duelbits PREDICT..
█████████████████████████
█████████████████████████
███████████▀▀░░░░▀▀██████
██████████░░▄████▄░░████
█████████░░████████░░████
█████████░░████████░░████
█████████▄▀██████▀▄████
████████▀▀░░░▀▀▀▀░░▄█████
██████▀░░░░██▄▄▄▄████████
████▀░░░░▄███████████████
█████▄▄█████████████████
█████████████████████████
█████████████████████████
.
.WHERE EVERYTHING IS A MARKET..
█████
██
██







██
██
██████
Will Bitcoin hit $200,000
before January 1st 2027?

    No @1.15         Yes @6.00    
█████
██
██







██
██
██████

  CHECK MORE > 
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!