-
Notifications
You must be signed in to change notification settings - Fork 96
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Family inheritance wallet reference design - Part 1 #1081
base: master
Are you sure you want to change the base?
Changes from 31 commits
f64f5d5
0e59eb3
84c8132
cf3b206
ff585c2
4298959
7fc86b3
741c70e
cc1ebaa
fab4d78
01f4f15
0b72d75
55ed707
7506b52
284d944
bbb832f
2de3df4
2313e9b
95e43b5
84b1873
e687179
cb0289c
6c4f368
81f4864
7782609
5a57768
c696e33
5e4120b
82753dd
72dce66
5f3fc70
c255fd4
a2aeb65
6cf51fa
247a269
f17229a
fe7c7af
27470dc
92c0697
fecb65e
a556dd5
de3957d
93b9a50
4e7e071
f989731
79bf2e4
20011d0
2a4f207
bddcb8c
70ecfcc
215f987
5c584cc
46af3d2
ee95239
b11ccf3
aab49b5
45d8c24
eb86b60
c83312b
74a978e
7053186
9597ab8
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
rabbitholiness marked this conversation as resolved.
Show resolved
Hide resolved
|
rabbitholiness marked this conversation as resolved.
Show resolved
Hide resolved
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,132 @@ | ||
--- | ||
layout: guide | ||
title: Use case & scope | ||
description: An in-depth UX reference design for a multi-key bitcoin wallet with inheritance features designed for families. | ||
rabbitholiness marked this conversation as resolved.
Show resolved
Hide resolved
|
||
nav_order: 1 | ||
parent: Inheritance wallet | ||
permalink: /guide/inheritance-wallet/introduction/ | ||
rabbitholiness marked this conversation as resolved.
Show resolved
Hide resolved
|
||
main_classes: -no-top-padding | ||
image_base: /assets/images/guide/inheritance-wallet/ | ||
rabbitholiness marked this conversation as resolved.
Show resolved
Hide resolved
|
||
images_introduction: | ||
- file: | ||
alt: | ||
caption: | ||
|
||
--- | ||
|
||
<!-- | ||
|
||
Editor's notes | ||
|
||
This page covers .... | ||
|
||
Illustration sources | ||
|
||
https://www.figma.com/file/h5GP5v5dYfpXXfEUXf6nvC/Family-inheritance-wallet?type=design&node-id=5542%3A2119&mode=design&t=sBtcvrDzb8MPtWaK-1 | ||
|
||
--> | ||
|
||
# Use case & scope | ||
{: .no_toc } | ||
|
||
--- | ||
|
||
<div class="glossary-toc" markdown="1"> | ||
* Table of contents | ||
{:toc} | ||
</div> | ||
|
||
--- | ||
|
||
Our target audience are families that are familiar with bitcoin and hold the majority of their net worth in bitcoin. They want to take advantage of the security assurances of multi-key wallets and are comfortable with using more advanced technical features and human processes for inheritance planning. | ||
rabbitholiness marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
For other users, such a setup might be too advanced. When choosing a specific setup, the decision should be based on factors such as the amount of bitcoin they hold, what their family situation looks like, where they live or how knowledgeable and comfortable they are with bitcoin in general. This line of thinking applies not only to the initial bitcoin holders themselves, but also to their heirs, as they will have to recover the funds at some point. | ||
|
||
## Personas | ||
Meet the Jones family: Bob, Alice and their two children Christina (24) and David (21). Bob and Alice have been saving in bitcoin for quite some time. They have been teaching their children how they should use and safeguard their own bitcoin wallets. | ||
|
||
{% include picture.html | ||
image = "/assets/images/guide/inheritance-wallet/introduction/family-overview.png" | ||
retina = "/assets/images/guide/inheritance-wallet/introduction/family-overview.png" | ||
rabbitholiness marked this conversation as resolved.
Show resolved
Hide resolved
|
||
mobile = "/assets/images/guide/inheritance-wallet/introduction/family-overview.png" | ||
mobileRetina = "/assets/images/guide/inheritance-wallet/introduction/family-overview.png" | ||
rabbitholiness marked this conversation as resolved.
Show resolved
Hide resolved
|
||
alt-text = "An illustration showing the Jones family." | ||
rabbitholiness marked this conversation as resolved.
Show resolved
Hide resolved
|
||
width = 1600 | ||
rabbitholiness marked this conversation as resolved.
Show resolved
Hide resolved
|
||
height = 800 | ||
%} | ||
|
||
Alice and Bob have been using a shared multi-key wallet as a family checking account for a few years already. This wallet is used for general spending, while each of them manage their income, personal spending and savings using their individual single-key wallets. | ||
rabbitholiness marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
The couple now feels that the time is right to consolidate the family savings and to include their children in securing them. They will still keep the savings separated from their checking wallet. | ||
rabbitholiness marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
## User requirements | ||
The couple has been thinking about what a good solution would look like for them. Here is summary of the most important aspects: | ||
rabbitholiness marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
1. **Privacy:** While they are alive and well, they don’t want Christina and David to be able to access the funds. The children should not even know how much they have or see their transactions. | ||
2. **Flexibility:** The wallet configuration needs to be relatively easy to change, in case their life circumstances change. | ||
3. **Interoperability:** The wallet itself should be interoperable with other applications, so that it can be easily imported into another wallet application, in case there is a critical bug or the project is no longer supported by the developers. | ||
4. **Legal support:** Alice and Bob also want to involve Edward, their lawyer, to assist in case there are any problems between the children or their families. He will also be able to work with the legal inheritance processes in their jurisdiction. | ||
|
||
## Wallet configuration | ||
Based on their initial requirements, Alice and Bob decided on having two key sets. One primary key set that they will use in times of normal operations. In addition, they want to create an inheritance key set that unlocks after a certain time. Their children and Edward will each hold one these keys. | ||
|
||
{% include picture.html | ||
image = "/assets/images/guide/inheritance-wallet/introduction/key-scheme.png" | ||
rabbitholiness marked this conversation as resolved.
Show resolved
Hide resolved
|
||
retina = "/assets/images/guide/inheritance-wallet/introduction/key-scheme.png" | ||
mobile = "/assets/images/guide/inheritance-wallet/introduction/key-scheme.png" | ||
mobileRetina = "/assets/images/guide/inheritance-wallet/introduction/key-scheme.png" | ||
alt-text = "An illustration showing that Alice and Bob control three keys, while Christina, David and Edward control one key each." | ||
width = 1600 | ||
height = 800 | ||
%} | ||
|
||
Below is an overview of what the configuration of the family's savings wallet will look like: | ||
|
||
- **A 2-of-3 primary key set for normal spending**. Since it is a savings wallet, Alice and Bob will spend only very infrequently. | ||
rabbitholiness marked this conversation as resolved.
Show resolved
Hide resolved
rabbitholiness marked this conversation as resolved.
Show resolved
Hide resolved
|
||
- **A timelocked recovery path** in case something very bad happens while they are still alive and need to recover their funds. The recovery path uses the same keys as the primary key set, but requires only one signature to spend. | ||
rabbitholiness marked this conversation as resolved.
Show resolved
Hide resolved
|
||
- **A dedicated 2-of-3 inheritance key set**, which is unlocked 6 months after the recovery key set was unlocked and has not been used. Christina and David will each hold one of the inheritance keys. Edward will hold the third key to assist the children, if necessary. | ||
|
||
|
||
The image below shows in more detail, how the wallet will work under the hood. | ||
rabbitholiness marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
{% include picture.html | ||
image = "/assets/images/guide/inheritance-wallet/introduction/wallet-overview.png" | ||
retina = "/assets/images/guide/inheritance-wallet/introduction/[email protected]" | ||
mobile = "/assets/images/guide/inheritance-wallet/introduction/wallet-overview-mobile.png" | ||
mobileRetina = "/assets/images/guide/inheritance-wallet/introduction/[email protected]" | ||
alt-text = "An illustration showing the timeline of the key sets." | ||
rabbitholiness marked this conversation as resolved.
Show resolved
Hide resolved
|
||
width = 1600 | ||
height = 800 | ||
%} | ||
|
||
Note that this configuration could be expanded almost at will by the users. But with each additional layer of logic comes additional complexity in terms of backup and maintainability. The decision will ultimately be up to users of your application. But you will need to make sure that your application guides and educates them towards choosing and maintaining a setup that is both, secure enough and sustainable over the long term. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The tone switches here for the rest of the page, from discussing the family to directly addressing the reader. Maybe you can move this paragraph under the next header and change that to "Defining application scope". That way the change of tone does not happen mid-section. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I changed the the text and moved it under a new "Design considerations" section, to make it more distinct. |
||
|
||
## Application scope | ||
Think about the scope of your application and how to incorporate supporting features beyond just letting users create such an advanced wallet and using it to receive and send transactions. Consider features that help users to: | ||
|
||
- Choose an adequate setup. | ||
rabbitholiness marked this conversation as resolved.
Show resolved
Hide resolved
|
||
- Test or simulate that the wallet and its rules work as intended. | ||
- Involve heirs early on to make them aware and comfortable with the setup. This could contain elements of gamification or educational apps and services, for example. | ||
rabbitholiness marked this conversation as resolved.
Show resolved
Hide resolved
|
||
- Perform regular key checks for all keys. | ||
- Make changes to the setup over time AND make sure that its documentation is updated and distributed accordingly. | ||
- Provide a way to migrate to a different wallet application, in case your project is abandoned or shut down. | ||
|
||
Such supporting features can be implemented on the application layer and don't necessarily need to touch the bitcoin protocol. | ||
rabbitholiness marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
## Interoperability | ||
rabbitholiness marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
An important aspect to consider is the demise of our application itself. What if, during the course of the years, the developers of our application decide to abandon the project? Or if it gets removed from the app stores? To mitigate this risk, our application will create a regular bitcoin wallet that can be imported into other wallet applications, as long as they support Miniscript. | ||
rabbitholiness marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
|
||
**Resources** | ||
rabbitholiness marked this conversation as resolved.
Show resolved
Hide resolved
|
||
- [Figma design file](https://www.figma.com/file/h5GP5v5dYfpXXfEUXf6nvC/Family-inheritance-wallet?type=design&node-id=5542%3A2119&mode=design&t=sBtcvrDzb8MPtWaK-1) | ||
- [Custom spending conditions]({{ '/guide/how-it-works/custom-spending-conditions/' | relative_url }}) | ||
|
||
--- | ||
|
||
{% include next-previous.html | ||
previousUrl = "/guide/inheritance-wallet/" | ||
previousName = "Inheritance wallet" | ||
nextUrl = "/guide/inheritance-wallet/wallet-creation/" | ||
nextName = "Wallet creation" | ||
%} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,207 @@ | ||
--- | ||
layout: guide | ||
title: Inheritance wallet | ||
description: An in-depth UX reference design for a multi-key bitcoin wallet with inheritance features designed for families. | ||
nav_order: 6 | ||
has_children: true | ||
permalink: /guide/inheritance-wallet/ | ||
main_classes: -no-top-padding | ||
image: https://bitcoin.design/assets/images/guide/inheritance-wallet/header.png | ||
rabbitholiness marked this conversation as resolved.
Show resolved
Hide resolved
|
||
image_base: /assets/images/guide/inheritance-wallet/ | ||
rabbitholiness marked this conversation as resolved.
Show resolved
Hide resolved
|
||
images_creation-wallet-basics: | ||
- file: | ||
alt: | ||
caption: | ||
|
||
|
||
--- | ||
|
||
<!-- | ||
|
||
Editor's notes | ||
|
||
This page covers .... | ||
|
||
Illustration sources | ||
|
||
https://www.figma.com/file/h5GP5v5dYfpXXfEUXf6nvC/Family-inheritance-wallet?type=design&node-id=5542%3A2119&mode=design&t=sBtcvrDzb8MPtWaK-1 | ||
|
||
--> | ||
|
||
{% include picture.html | ||
image = "/assets/images/guide/inheritance-wallet/header.jpg" | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Needs a retina size. Would love to see a re-render of this with proper finger counts, etc. |
||
alt-text = "An image showing two parents handing bitcoin to their two children." | ||
rabbitholiness marked this conversation as resolved.
Show resolved
Hide resolved
|
||
width = 1600 | ||
height = 600 | ||
rabbitholiness marked this conversation as resolved.
Show resolved
Hide resolved
|
||
layout = "full-width" | ||
%} | ||
|
||
# Family inheritance wallet | ||
{: .no_toc } | ||
|
||
The family inheritance wallet is an app designed to create flexible wallets for family savings. It offers features designed to help with sustainable long-term storage and inheritance planning. | ||
|
||
But when it comes to inheritance, technology is not everything. Knowledge, documentation, practice and social processes are important for any setup to work over the long term. This exploration includes not only designs and prototypes of the wallet application, but also thoughts around social processes to ensure that funds will not be lost. | ||
|
||
## What are we building? | ||
|
||
Imagine a product that helps you create and use a custody setup for your bitcoin savings while including your loved ones from the beginning. But because you plan to live a long and happy life, the app allows you to set up a recovery path that helps you recover your funds even in catastrophic scenarios. | ||
|
||
On top of that, the app allows you to add your heirs' hardware wallets and use them to create a dedicated inheritance key set. Since it is designed for long-term storage, it also supports regular key checks and other supporting features. | ||
rabbitholiness marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
All of this is done without compromising your financial privacy. You don't want anyone to know how much bitcoin you have or monitor your transactions. | ||
|
||
## Chapters | ||
|
||
### [Use case & scope]({{ '/guide/inheritance-wallet/introduction/' | relative_url }}) | ||
|
||
<div class="center" markdown="1"> | ||
|
||
{% include image.html | ||
image = "assets/images/guide/inheritance-wallet/icon-introduction.png" | ||
retina = "assets/images/guide/inheritance-wallet/[email protected]" | ||
alt-text = "" | ||
width = 80 | ||
height = 80 | ||
layout = "float-left" | ||
link-url = "/guide/inheritance-wallet/introduction/" | ||
%} | ||
|
||
Before we dive into the details, we will introduce you to our main protagonists, the Jones family. We are also going to look at how they plan set up their family savings in general. | ||
rabbitholiness marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
</div> | ||
|
||
--- | ||
|
||
### [Wallet creation]({{ '/guide/inheritance-wallet/wallet-creation/' | relative_url }}) | ||
|
||
<div class="center" markdown="1"> | ||
|
||
{% include image.html | ||
image = "assets/images/guide/inheritance-wallet/icon-wallet-creation.png" | ||
retina = "assets/images/guide/inheritance-wallet/[email protected]" | ||
alt-text = "" | ||
width = 80 | ||
height = 80 | ||
layout = "float-left" | ||
link-url = "/guide/inheritance-wallet/wallet-creation/" | ||
%} | ||
|
||
Our application lets users create flexible multi-key wallets with timelocked recovery paths to help them recover funds while they are still alive. On top of that, users can create and manage dedicated inheritance keys that are held by their heirs. | ||
|
||
</div> | ||
|
||
--- | ||
|
||
### Wallet backup (coming soon) | ||
|
||
<div class="center" markdown="1"> | ||
|
||
{% include image.html | ||
image = "assets/images/guide/inheritance-wallet/icon-wallet-backup.png" | ||
retina = "assets/images/guide/inheritance-wallet/[email protected]" | ||
alt-text = "" | ||
width = 80 | ||
height = 80 | ||
layout = "float-left" | ||
link-url = "/guide/inheritance-wallet/backup/" | ||
%} | ||
|
||
When backing up multi-key wallets there are more moving parts to consider than with single-key wallets. Our application helps users with that. | ||
|
||
</div> | ||
|
||
--- | ||
|
||
### Testing (coming soon) | ||
|
||
<div class="center" markdown="1"> | ||
|
||
{% include image.html | ||
image = "assets/images/guide/inheritance-wallet/icon-testing.png" | ||
retina = "assets/images/guide/inheritance-wallet/[email protected]" | ||
alt-text = "" | ||
width = 80 | ||
height = 80 | ||
layout = "float-left" | ||
link-url = "/guide/inheritance-wallet/testing/" | ||
%} | ||
|
||
To help users make sure that their wallet works as intended, the app offers features that let them test their setup, before they move all of their savings to their newly created wallet. | ||
|
||
</div> | ||
|
||
--- | ||
|
||
### Operational phase (coming soon) | ||
|
||
<div class="center" markdown="1"> | ||
|
||
{% include image.html | ||
image = "assets/images/guide/inheritance-wallet/icon-operations.png" | ||
retina = "assets/images/guide/inheritance-wallet/[email protected]" | ||
alt-text = "" | ||
width = 80 | ||
height = 80 | ||
layout = "float-left" | ||
link-url = "/guide/inheritance-wallet/regular-use/" | ||
%} | ||
|
||
Involving the potential heirs early on is great, but it also has potential implications when it comes to privacy and security. Our application combines built-in features with social processes to mitigate this risk. It also helps to prevent premature activation of the inheritance keys. | ||
|
||
</div> | ||
|
||
--- | ||
|
||
### Managing change (coming soon) | ||
|
||
<div class="center" markdown="1"> | ||
|
||
{% include image.html | ||
image = "assets/images/guide/inheritance-wallet/icon-changing.png" | ||
retina = "assets/images/guide/inheritance-wallet/[email protected]" | ||
alt-text = "" | ||
width = 80 | ||
height = 80 | ||
layout = "float-left" | ||
link-url = "/guide/inheritance-wallet/managing-change/" | ||
%} | ||
|
||
Life changes and so it might become necessary for users to make changes to their savings wallet because someone lost a key or they want to make changes to the overall wallet configuration. Our app helps to make such changes and with updating the backup and inheritance documentation. | ||
rabbitholiness marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
</div> | ||
|
||
--- | ||
|
||
### Recovery & inheritance (coming soon) | ||
|
||
<div class="center" markdown="1"> | ||
|
||
{% include image.html | ||
image = "assets/images/guide/inheritance-wallet/icon-recovery.png" | ||
retina = "assets/images/guide/inheritance-wallet/[email protected]" | ||
alt-text = "" | ||
width = 80 | ||
height = 80 | ||
layout = "float-left" | ||
link-url = "/guide/inheritance-wallet/wallet-recovery/" | ||
%} | ||
|
||
When it's time for the heirs to claim their inheritance, the Jones' children can use their own signing devices to recover their funds. | ||
|
||
</div> | ||
|
||
--- | ||
|
||
**Resources** | ||
- [Figma design file](https://www.figma.com/file/h5GP5v5dYfpXXfEUXf6nvC/Family-inheritance-wallet?type=design&node-id=5542%3A2119&mode=design&t=sBtcvrDzb8MPtWaK-1) | ||
rabbitholiness marked this conversation as resolved.
Show resolved
Hide resolved
|
||
- [Custom spending conditions]({{ '/guide/how-it-works/custom-spending-conditions/' | relative_url }}) | ||
rabbitholiness marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
--- | ||
|
||
{% include next-previous.html | ||
previousUrl = "/guide/savings-wallet/time-based-recovery/" | ||
previousName = "Time-based recovery" | ||
nextUrl = "/guide/inheritance-wallet/introduction/" | ||
nextName = "Use case & scope" | ||
%} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit: is the "Add inheritance key set" card with the '+' icon also a button? It looks like one to me but it might be just me. Perhaps the Continue button can be renamed?