Hello,

I made a post on Delving Bitcoin 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 bitcoindev+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/bitcoindev/4c51d18b-2444-4939-8f12-d0abe6d11e20n%40googlegroups.com.