Skip to content

Commit f5009ca

Browse files
committed
Merge remote-tracking branch 'upstream/master' into invoice-patch
2 parents 0e0ba5a + ed6478c commit f5009ca

File tree

14 files changed

+22
-25
lines changed

14 files changed

+22
-25
lines changed

README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ An equally important goal is that the process of creating this guide nurtures an
1212

1313
## Process and how to contribute
1414

15-
The process of creating the guide is meant to be as open and decentralized as possible, resulting in a sustainable model to run projects with the community. Most of the discussion happens in the [Bitcoin Design Slack](http://bitcoindesigners.org), in the #bitcoin-design-guide, and here on GitHub in [Issues](https://github.com/BitcoinDesign/Guide/issues), [Pull requests](https://github.com/BitcoinDesign/Guide/pulls) and [Discussions](https://github.com/BitcoinDesign/Guide/discussions).
15+
The process of creating the guide is meant to be as open and decentralized as possible, resulting in a sustainable model to run projects with the community. Most of the discussion happens in the [Bitcoin Design Slack](http://bitcoindesigners.org), in the #bitcoin-design-guide channel, and here on GitHub in [Issues](https://github.com/BitcoinDesign/Guide/issues), [Pull requests](https://github.com/BitcoinDesign/Guide/pulls) and [Discussions](https://github.com/BitcoinDesign/Guide/discussions). Also see the [roadmap](https://github.com/orgs/BitcoinDesign/projects/2) for an overview of current and upcoming activities.
1616

1717
You can read more about [how to contribute](https://bitcoin.design/guide/contribute/).
1818

@@ -42,6 +42,8 @@ The process to create the guide started in the summer of 2020. The first draft o
4242

4343
On June 2, 2021, the community [announced](https://bitcoindesign.medium.com/announcing-the-bitcoin-design-guide-c4955d859fda) the launch of the initial version of the Bitcoin Design Guide to the public.
4444

45+
On February 9, 2022, the community [announced](https://bitcoindesign.medium.com/design-better-lightning-wallets-with-the-bitcoin-design-guide-v2-2669f610ebc7) the completion of a major revision of the guide to include content about the Lightning network.
46+
4547
---
4648

4749

guide.md

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -43,14 +43,6 @@ Illustration sources
4343

4444
We designed this guide to help anyone navigate those complexities—regardless of where they live or work. We can’t imagine every possible use case, but we can help you build for them.
4545

46-
{% include tip/tip.html %}
47-
48-
This guide is a work in progress. We are currently adding information about the [Lightning Network]({{ '/guide/glossary/#lightning-network' | relative_url }}) on all relevant pages.
49-
50-
You can track the progress on this [Github issue]({{ 'https://github.com/BitcoinDesign/Guide/issues/478' }}).
51-
52-
{% include tip/close.html %}
53-
5446
---
5547

5648
### [Getting started]({{ '/guide/getting-started/introduction/' | relative_url }})

guide/designing-products/common-user-flows.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -282,7 +282,7 @@ Like fiat currencies, securely storing funds can be as simple as storing some co
282282

283283
## Backing up a wallet
284284

285-
To enable recovery of a wallet that uses the manual backup scheme for private key management, we should ask users to securely back up their keys with their recovery phrase (and for full compatibility, [derivation path](/guide/glossary/#derivation-path) and [output descriptors](/guide/glossary/#output-script-descriptor)) when they create new wallets. See also, [Wallet interoperability](/guide/designing-products/wallet-interoperability/) and [bitcoin backups](/guide/private-key-management/backups/).
285+
To enable recovery of a wallet that uses the manual backup scheme for private key management, we should ask users to securely back up their keys with their [recovery phrase]({{ '/guide/glossary/#recovery-phrase' | relative_url }}) (and for full compatibility, [derivation path](/guide/glossary/#derivation-path) and [output descriptors](/guide/glossary/#output-script-descriptor)) when they create new wallets. See also, [Wallet interoperability](/guide/designing-products/wallet-interoperability/) and [bitcoin backups](/guide/private-key-management/backups/).
286286

287287
## Importing an existing wallet
288288

guide/designing-products/getting-to-know-your-users.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ Motivators are specific user wants that are driving the user to seek out bitcoin
173173
## Brainstorm solutions with your team
174174
With this information, you can craft solutions based on these barriers and motivators to create the best experience for a user like Josh.
175175

176-
To weaken Josh's "Fear of losing a private key," a [wallet]({{ 'guide/getting-started/software/#wallets' | relative_url }}) might opt to initially backup an encrypted version of his recovery phrase to a cloud provider and educate him over time on how to take more control of his private key.
176+
To weaken Josh's "Fear of losing a private key," a [wallet]({{ 'guide/getting-started/software/#wallets' | relative_url }}) might opt to initially backup an encrypted version of his [recovery phrase]({{ '/guide/glossary/#recovery-phrase' | relative_url }}) to a cloud provider and educate him over time on how to take more control of his private key.
177177

178178
Savings is a big motivator for Josh and so you should have a big focus on security and making sure a loss of funds over a long period of time is virtually impossible. Given that control is also a motivator, a wallet could aim to provide as much customizability as possible such as fee selection or coin selection.
179179

guide/designing-products/principles.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ layout="float-left"
102102

103103
Self-custody often leaves the end-user responsible for the security of their private keys. They can only do a good job of that if we provide them with appropriate tools and awareness of best practices.
104104

105-
Security is especially important when onboarding people who are new to bitcoin. For example, new users are likely to start by only storing small amounts. After a while, they may become more comfortable with the idea of self-custody and begin to store larger amounts. The concept of progressive security is a good idea here, starting with [automatic cloud backups]({{'/guide/onboarding/backing-up-a-wallet/cloud-backup/' | relative_url}}). This would let a user upgrade their security and private key management scheme as their savings grow. Although common, recovery phrases that require [manual backup]({{'/guide/onboarding/backing-up-a-wallet/manual-backup/' | relative_url}}) might backfire for new users not yet familiar with safe backup practices.
105+
Security is especially important when onboarding people who are new to bitcoin. For example, new users are likely to start by only storing small amounts. After a while, they may become more comfortable with the idea of self-custody and begin to store larger amounts. The concept of progressive security is a good idea here, starting with [automatic cloud backups]({{'/guide/onboarding/backing-up-a-wallet/cloud-backup/' | relative_url}}). This would let a user upgrade their security and private key management scheme as their savings grow. Although common, [recovery phrases]({{ '/guide/glossary/#recovery-phrase' | relative_url }}) that require [manual backup]({{'/guide/onboarding/backing-up-a-wallet/manual-backup/' | relative_url}}) might backfire for new users not yet familiar with safe backup practices.
106106

107107
Education and awareness are a big part of security, as they can protect users from bad actors and potentially their own security mistakes. It is unrealistic to expect beginners to take in all the knowledge acquired by advanced users in one go, for example, while [onboarding]({{ '/guide/onboarding/introduction/' | relative_url }}) to a bitcoin product. We should therefore consider how to continuously educate and level up user awareness of best practices and risks.
108108

guide/getting-started/hardware.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ General purpose hardware, like personal computers and smartphones, work great fo
4242

4343
## Physical backups
4444

45-
Recovery phrases and other important recovery data such as descriptors are often backed up physically. Many simple, cheap, and robust physical backup solutions for bitcoin exist.
45+
[Recovery phrases]({{ '/guide/glossary/#recovery-phrase' | relative_url }}) and other important recovery data such as descriptors are often backed up physically. Many simple, cheap, and robust physical backup solutions for bitcoin exist.
4646

4747
{% include picture.html
4848
image = "/assets/images/guide/getting-started/hardware/hardware-seed-storage.jpg"

guide/glossary/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -320,7 +320,7 @@ A node policy that allows an unconfirmed transaction to be replaced with a diffe
320320

321321
_Also referred to as Seed, Mnemonic, and Backup phrase._
322322

323-
The controlling keypair of a bitcoin wallet can be derived from a *recovery phrase* of 12 words (or 18 or 24, which is less common) from a standardized list, defined in [BIP39](https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki). The recovery phrase provides full access to a bitcoin wallet as it contains the private key and is therefore very valuable. It’s extremely important to keep it safe, both from other people getting access to it and for yourself not to lose it by creating one or several backups of the phrase. In many applications most of this work falls on the user and it’s important to acknowledge the responsibility here of the makers of the application to ensure that the user is able and aware of how to securely store a recovery phrase backup.
323+
The controlling keypair of a bitcoin wallet can be derived from a *recovery phrase* of 12 words (it can also be 18 or 24 words, which is less common and not recommended as it does not provide better security) from a standardized list, defined in [BIP39](https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki). The recovery phrase provides full access to a bitcoin wallet as it contains the private key and is therefore very valuable. It’s extremely important to keep it safe, both from other people getting access to it and for yourself not to lose it by creating one or several backups of the phrase. In many applications most of this work falls on the user and it’s important to acknowledge the responsibility here of the makers of the application to ensure that the user is able and aware of how to securely store a recovery phrase backup.
324324

325325
Many wallet-applications work with HD Wallets and recovery phrases, and are interoperable, meaning you can change the application that can control your wallet should you wish (although there are some caveats depending on if they support just BIP32 or also BIP44).
326326

guide/glossary/wallet.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ This term is often used interchangeably for very different things. A user can *d
2727

2828
#### Bitcoin wallet
2929

30-
All bitcoin-related data derived from and associated with a single recovery phrase. Most modern bitcoin wallets are HD wallets.
30+
All bitcoin-related data derived from and associated with a single [recovery phrase]({{ '/guide/glossary/#recovery-phrase' | relative_url }}). Most modern bitcoin wallets are HD wallets.
3131

3232
#### HD wallet
3333

guide/onboarding/cloud-backup.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ layout = "full-width"
3737

3838
### How it works
3939

40-
The user's wallet recovery data and channel states are backed up on their respective cloud storage provider. The recovery phrase only needs to be backed up once. However, channel states may need to be backed up frequently because they change every time the user's wallet sends, receives, or routes a payment; therefore, the channel state should be backed up automatically.
40+
The user's wallet recovery data and channel states are backed up on their respective cloud storage provider. The [recovery phrase]({{ '/guide/glossary/#recovery-phrase' | relative_url }}) only needs to be backed up once. However, channel states may need to be backed up frequently because they change every time the user's wallet sends, receives, or routes a payment; therefore, the channel state should be backed up automatically.
4141

4242
If the user's device is lost, stolen, or broken, they can use the backup from their cloud storage account (such as Apple iCloud or Google Drive) to regain access to their funds. To learn more about the technical details, hop over to the [private key management]({{ '/guide/private-key-management/introduction' | relative_url }}) section on this topic.
4343

@@ -74,7 +74,7 @@ height = 541
7474
{% include picture.html
7575
image = "/assets/images/guide/onboarding/backing-up-a-wallet/automatic-cloud-backup/cloud-backup-PIN.png"
7676
retina = "/assets/images/guide/onboarding/backing-up-a-wallet/automatic-cloud-backup/cloud-[email protected]"
77-
class = "shadow"
77+
layout = "shadow"
7878
caption = "Allows the user to set a PIN used for authentication."
7979
alt-text = "The user can set a PIN which will be used to authenticate and access the wallet"
8080
width = 250
@@ -84,7 +84,7 @@ height = 541
8484
{% include picture.html
8585
image = "/assets/images/guide/onboarding/backing-up-a-wallet/automatic-cloud-backup/cloud-backup-service.png"
8686
retina = "/assets/images/guide/onboarding/backing-up-a-wallet/automatic-cloud-backup/cloud-[email protected]"
87-
class = "shadow"
87+
layout = "shadow"
8888
caption = "Give the user different cloud provider options, others such as Dropbox might also be included."
8989
alt-text = "Screen showing saving a password to encrypt the recovery phrase"
9090
width = 250
@@ -94,7 +94,7 @@ height = 541
9494
{% include picture.html
9595
image = "/assets/images/guide/onboarding/backing-up-a-wallet/automatic-cloud-backup/cloud-backup-provider.png"
9696
retina = "/assets/images/guide/onboarding/backing-up-a-wallet/automatic-cloud-backup/cloud-[email protected]"
97-
class = "shadow"
97+
layout = "shadow"
9898
caption = "This UI will be very different depending on the cloud provider and what permissions are required."
9999
alt-text = "Screen of placeholder where cloud provider UI would be"
100100
width = 250
@@ -104,7 +104,7 @@ height = 541
104104
{% include picture.html
105105
image = "/assets/images/guide/onboarding/backing-up-a-wallet/automatic-cloud-backup/cloud-backup-confirmation.png"
106106
retina = "/assets/images/guide/onboarding/backing-up-a-wallet/automatic-cloud-backup/cloud-[email protected]"
107-
class = "shadow"
107+
layout = "shadow"
108108
caption = "Once the upload is complete it's a good idea to show a success screen and give some reassurances."
109109
alt-text = "Screen showing completing a cloud backup"
110110
width = 250

guide/onboarding/first-use.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ There are a number of common tasks a user might want to achieve the first time t
4444

4545
While the first two, creating or restoring a wallet, normally need to be tackled straight away, the last two can be designed to fit the flow and capability of your application.
4646

47-
It is common to see onboarding flows that implore the user to do a manual backup of their recovery phrase straight away, often before they have even gotten to see the main screen of the application. While this can make sure the user is aware of the need to backup, their motivation and ability to safely do this at that exact moment might be limited.
47+
It is common to see onboarding flows that implore the user to do a manual backup of their [recovery phrase]({{ '/guide/glossary/#recovery-phrase' | relative_url }}) straight away, often before they have even gotten to see the main screen of the application. While this can make sure the user is aware of the need to backup, their motivation and ability to safely do this at that exact moment might be limited.
4848

4949
Alternative approaches can be to wait and prompt the user only once there are funds in the wallet, at regular intervals, or to use an automatic cloud backup for small amounts. It is up to you as the application designer to decide what works best in your users’ use case.
5050

@@ -98,6 +98,7 @@ Below is an example of some carousel screens that might be useful in helping a u
9898
retina = "/assets/images/guide/onboarding/first-use/product-[email protected]"
9999
alt-text = "Introduction screen explaining ownership"
100100
caption = "Talk about ownership"
101+
layout = "shadow"
101102
width = 250
102103
height = 541
103104
%}
@@ -107,6 +108,7 @@ Below is an example of some carousel screens that might be useful in helping a u
107108
retina = "/assets/images/guide/onboarding/first-use/product-[email protected]"
108109
alt-text = "Introduction screen explaining recovery"
109110
caption = "Talk about recovery"
111+
layout = "shadow"
110112
width = 250
111113
height = 541
112114
%}
@@ -116,6 +118,7 @@ Below is an example of some carousel screens that might be useful in helping a u
116118
retina = "/assets/images/guide/onboarding/first-use/product-[email protected]"
117119
alt-text = "Introduction screen explaining security"
118120
caption = "Talk about security"
121+
layout = "shadow"
119122
width = 250
120123
height = 541
121124
%}

0 commit comments

Comments
 (0)