Subject: [bitcoindev] File Format for Wallet Inheritance and Recovery

From: Robert Netzke <[email-masked]>
Date: Mon, 4 Nov 2024 10:29:53 -0800 (PST)

Hello, 

I made a post on Delving Bitcoin 
<https://delvingbitcoin.org/t/file-format-for-recovering-descriptor-wallets/1115> 
describing a file format for importing and exporting descriptor-based 
wallets. After further discussion, I believe it is suitable to propose as a 
BIP, and I am seeking further feedback. 

*Motivation*

As to not simply repeat the motivation section in my reference 
implementation, I will try to include some new thoughts after leaving this 
proposal alone for a while. Inheritance is a difficult problem when 
considering heirs that may not be technically apt. There are many services 
indeed that build around a smooth inheritance model, yet these entities may 
also terminate operations in the future. My feeling is the missing 
component of truly robust inheritance is an open standard for backing up 
wallet data. Mnemonic phrases are great, however a set of mnemonics is not 
sufficient to recover the descriptor for any number of potential 
configurations. 

A simple file type to backup the public metadata about a wallet, 
potentially including directions, notes, and public descriptor data, would 
alleviate challenges for heirs when attempting to recover funds. Further 
still, the file would also allow interoperability between semi-custodial 
services that offer inheritance services. One service may fall as another 
one rises, but customers may simply export their wallet metadata with a few 
clicks if contained in a file. Importantly, an heir need not know what a 
descriptor is, only that their benefactor has given them the specified 
file. 

*Implementation*

I wrote a reference implementation in Rust with the link contained in the 
Delving Bitcoin post. After further thought, I am thinking it makes more 
sense to closely follow, or even adopt, the data encoding used in PSBT. 
Reading and writing to files should be made as easy as possible for 
developers, so I believe a simple key-value mapping would see the most 
adoption. 

Thank you for reading, and if you have further feedback or would use such a 
file for managing a wallet, please let me know!

-- 
You received this message because you are subscribed to the Google Groups "Bitcoin Development Mailing List" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email-masked].
To view this discussion visit https://groups.google.com/d/msgid/bitcoindev/4c51d18b-2444-4939-8f12-d0abe6d11e20n%40googlegroups.com.