public inbox for bitcoindev@googlegroups.com
 help / color / mirror / Atom feed
From: Robert Netzke <rob.netzke@gmail.com>
To: Bitcoin Development Mailing List <bitcoindev@googlegroups.com>
Subject: [bitcoindev] File Format for Wallet Inheritance and Recovery
Date: Mon, 4 Nov 2024 10:29:53 -0800 (PST)	[thread overview]
Message-ID: <4c51d18b-2444-4939-8f12-d0abe6d11e20n@googlegroups.com> (raw)


[-- Attachment #1.1: Type: text/plain, Size: 2486 bytes --]

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

[-- Attachment #1.2: Type: text/html, Size: 2868 bytes --]

                 reply	other threads:[~2024-11-04 18:34 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4c51d18b-2444-4939-8f12-d0abe6d11e20n@googlegroups.com \
    --to=rob.netzke@gmail.com \
    --cc=bitcoindev@googlegroups.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox