diff --git a/assets/images/send/test-transaction-finalize-big.png b/assets/images/send/test-transaction-finalize-big.png new file mode 100644 index 0000000..089c3c6 Binary files /dev/null and b/assets/images/send/test-transaction-finalize-big.png differ diff --git a/assets/images/send/test-transaction-finalize.png b/assets/images/send/test-transaction-finalize.png new file mode 100644 index 0000000..bd8c657 Binary files /dev/null and b/assets/images/send/test-transaction-finalize.png differ diff --git a/assets/images/send/test-transaction-finalize@2x.png b/assets/images/send/test-transaction-finalize@2x.png new file mode 100644 index 0000000..e245bb5 Binary files /dev/null and b/assets/images/send/test-transaction-finalize@2x.png differ diff --git a/assets/images/send/test-transaction-form-big.png b/assets/images/send/test-transaction-form-big.png new file mode 100644 index 0000000..2428cbd Binary files /dev/null and b/assets/images/send/test-transaction-form-big.png differ diff --git a/assets/images/send/test-transaction-form.png b/assets/images/send/test-transaction-form.png new file mode 100644 index 0000000..3818f08 Binary files /dev/null and b/assets/images/send/test-transaction-form.png differ diff --git a/assets/images/send/test-transaction-form@2x.png b/assets/images/send/test-transaction-form@2x.png new file mode 100644 index 0000000..585ad50 Binary files /dev/null and b/assets/images/send/test-transaction-form@2x.png differ diff --git a/assets/images/send/test-transaction-review-big.png b/assets/images/send/test-transaction-review-big.png new file mode 100644 index 0000000..65a0b08 Binary files /dev/null and b/assets/images/send/test-transaction-review-big.png differ diff --git a/assets/images/send/test-transaction-review.png b/assets/images/send/test-transaction-review.png new file mode 100644 index 0000000..80d341d Binary files /dev/null and b/assets/images/send/test-transaction-review.png differ diff --git a/assets/images/send/test-transaction-review@2x.png b/assets/images/send/test-transaction-review@2x.png new file mode 100644 index 0000000..11472d2 Binary files /dev/null and b/assets/images/send/test-transaction-review@2x.png differ diff --git a/assets/images/settings/addresses-receive-big.png b/assets/images/settings/addresses-receive-big.png new file mode 100644 index 0000000..a7e26a7 Binary files /dev/null and b/assets/images/settings/addresses-receive-big.png differ diff --git a/assets/images/settings/addresses-receive.png b/assets/images/settings/addresses-receive.png new file mode 100644 index 0000000..78bc0c3 Binary files /dev/null and b/assets/images/settings/addresses-receive.png differ diff --git a/assets/images/settings/addresses-receive@2x.png b/assets/images/settings/addresses-receive@2x.png new file mode 100644 index 0000000..7c63fdd Binary files /dev/null and b/assets/images/settings/addresses-receive@2x.png differ diff --git a/assets/images/settings/addresses-reusable-big.png b/assets/images/settings/addresses-reusable-big.png new file mode 100644 index 0000000..556b802 Binary files /dev/null and b/assets/images/settings/addresses-reusable-big.png differ diff --git a/assets/images/settings/addresses-reusable.png b/assets/images/settings/addresses-reusable.png new file mode 100644 index 0000000..ced742c Binary files /dev/null and b/assets/images/settings/addresses-reusable.png differ diff --git a/assets/images/settings/addresses-reusable@2x.png b/assets/images/settings/addresses-reusable@2x.png new file mode 100644 index 0000000..3d503a4 Binary files /dev/null and b/assets/images/settings/addresses-reusable@2x.png differ diff --git a/pages/console.md b/pages/console.md index b71616f..60f97e7 100644 --- a/pages/console.md +++ b/pages/console.md @@ -3,6 +3,7 @@ layout: default title: Console permalink: /console/ nav_order: 183 +indent: true --- # Console diff --git a/pages/design-system.md b/pages/design-system/design-system.md similarity index 100% rename from pages/design-system.md rename to pages/design-system/design-system.md diff --git a/pages/explorer.md b/pages/explorer.md index 6ea2007..fb3ea33 100644 --- a/pages/explorer.md +++ b/pages/explorer.md @@ -3,6 +3,7 @@ layout: default title: Explorer permalink: /explorer/ nav_order: 182 +indent: true --- # Explorer diff --git a/pages/block-clock.md b/pages/milestones/block-clock.md similarity index 100% rename from pages/block-clock.md rename to pages/milestones/block-clock.md diff --git a/pages/first-use.md b/pages/milestones/first-use.md similarity index 100% rename from pages/first-use.md rename to pages/milestones/first-use.md diff --git a/pages/milestones/other/address-management.md b/pages/milestones/other/address-management.md new file mode 100644 index 0000000..6321a42 --- /dev/null +++ b/pages/milestones/other/address-management.md @@ -0,0 +1,46 @@ +--- +layout: default +title: Addresses +permalink: /milestones/other/address-management/ +nav_order: 185 +indent: true +--- + +# Addresses + +**Status: Early design exploration** + +Users need a way to view and manage bitcoin addresses that are generated by their wallet. + +### Single-use addresses (on-chain) + +Historically users had to deal with two types of addresses: + +- **Receive addresses**: Users share a receive address with the person they would like to receive a payment from. For privacy reasons it is a best practice to generate a fresh receive address for each payment. +- **Change addresses** are reserved for receiving the change output from spending transactions. Many wallet applications do not expose change addresses to their users at all. This implies that a significant amount of people are not familiar with the concept. + +{% include picture.html + image = "/assets/images/settings/addresses-receive.png" + retina = "/assets/images/settings/addresses-receive@2x.png" + big = "/assets/images/settings/addresses-receive-big.png" + alt-text = "Screens with a list of receive addresses" + width = 800 + height = 366 +%} + +### Reusable addresses (off-chain) + +Through the implementation of the [Silent Payments](https://bitcoinops.org/en/topics/silent-payments/) protocol, which was introduced with [BIP-352](https://github.com/bitcoin/bips/blob/master/bip-0352.mediawiki), the task of managing one's own addresses has become more relevant. + +A silent payment address is a static offchain address that is used by the sender to derive a fresh bitcoin address for each payment. Users can create sub-addresses according to their personal needs, e.g. for collecting donations, invoicing clients or their online store. + +{% include picture.html + image = "/assets/images/settings/addresses-reusable.png" + retina = "/assets/images/settings/addresses-reusable@2x.png" + big = "/assets/images/settings/addresses-reusable-big.png" + alt-text = "Screens with a list of reusable addresses" + width = 800 + height = 366 +%} + + diff --git a/pages/milestones/other/contacts.md b/pages/milestones/other/contacts.md new file mode 100644 index 0000000..ac1f27f --- /dev/null +++ b/pages/milestones/other/contacts.md @@ -0,0 +1,42 @@ +--- +layout: default +title: Contacts +permalink: /milestones/1-7-send/contacts +nav_order: 185 +indent: true +--- + +# Contacts + +**Status: Early design exploration** + +Contacts are a useful a variety of reasons: +- Regular interactions +- + +A contact should combine different types of payment information + +### Contact information + +A contact has a few different . The application uses the payment information to initiate payments. + +Contact details: +- First name +- Last name +- Note + +Payment information: +- Silent payment addresses +- Regular addresses +- Extended Public Keys (XPUBs) + +The application + +{% include picture.html + image = "/assets/images/send/contacts.png" + retina = "/assets/images/send/contacts@2x.png" + big = "/assets/images/send/contacts-big.png" + alt-text = "A screen with a list of contacts and a detail screen showing contact information." + width = 800 + height = 366 +%} \ No newline at end of file diff --git a/pages/milestones/other/silent-payments.md b/pages/milestones/other/silent-payments.md new file mode 100644 index 0000000..2090ecb --- /dev/null +++ b/pages/milestones/other/silent-payments.md @@ -0,0 +1,22 @@ +--- +layout: default +title: Silent payments +permalink: /milestones/1-7-send/silent-payments +nav_order: 186 +indent: true +--- + +# Silent payments + +**Status: Early design exploration** + +### Receiving + + + +### Sending + +Sending to silent payment addresses works in much the same way as to regular addresses. Users can simply paste a silent payment address into the send form. + +One peculiarity is that + diff --git a/pages/milestones/other/test-transactions.md b/pages/milestones/other/test-transactions.md new file mode 100644 index 0000000..1b1245f --- /dev/null +++ b/pages/milestones/other/test-transactions.md @@ -0,0 +1,60 @@ +--- +layout: default +title: Test transactions +permalink: /milestones/1-7-send/test-transactions +nav_order: 187 +indent: true +--- + +# Automated test transactions + +**Status: Early design exploration** + +Sending large amounts of bitcoin can be associated with significant anxiety for users. Because they fear making a mistake, like sending bitcoin to the wrong address, many people make a small test transaction before sending the full amount. This approach lowers the likelihood of an error and increases user confidence. There is still room for error, however: + +- Because two transactions are created, users have to pay twice as much in fees. +- Even though the receiving address can be verified, users can still make mistakes in the main transaction, like pasting a wrong or incomplete address. + + +### Automated test transactions + +The Bitcoin Core App uses Replace-by-Fee (RBF) to make this process more robust by offering a more dedicated process for test transactions. If a high-value transaction is detected, users are offered the option to make a test transaction. + +{% include picture.html + image = "/assets/images/send/test-transaction-form.png" + retina = "/assets/images/send/test-transaction-form@2x.png" + big = "/assets/images/send/test-transaction-form.png" + alt-text = "Send form with a message and option to send a test transaction" + width = 800 + height = 708 +%} + +The test transaction has an extremly low fee, which is not configurable by the user. The fee is high enough to get the transaction into the mempool, but so low that miners will not pick it up for confirmation. + +{% include picture.html + image = "/assets/images/send/test-transaction-review.png" + retina = "/assets/images/send/test-transaction-review@2x.png" + big = "/assets/images/send/test-transaction-review.png" + alt-text = "Review screen with a message and option to create the test transaction. Popup screen with instructions about next steps." + width = 800 + height = 366 +%} + +Since the transaction is in the mempool, the recipients wallet application is able to detect it. Because of the low transaction fee, sender and recipient have enough time to confirm the correctness of the transaction through an out-of-band communication channel. + +Once the recipient confirms the transaction, the sender finalizes the transaction. In the background, the application uses RBF to replace the test transaction. + +{% include picture.html + image = "/assets/images/send/test-transaction-finalize.png" + retina = "/assets/images/send/test-transaction-finalize@2x.png" + big = "/assets/images/send/test-transaction-finalize.png" + alt-text = "Transaction detail screen with options to cancel or finalize the transaction." + width = 800 + height = 366 +%} + + +# To be defined + +- Let users define the threshold for high-value transactions (absolute and/or relative amount) +- If RBF is not enabled, offer a smooth flow for enabling it. \ No newline at end of file diff --git a/pages/milestones/send/contacts.md b/pages/milestones/send/contacts.md deleted file mode 100644 index 97201bd..0000000 --- a/pages/milestones/send/contacts.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -layout: default -title: Contacts -permalink: /milestones/1-7-send/contacts -nav_order: 175 -indent: true ---- - -# Contacts - -**Status: Early design exploration** - -{% include picture.html - image = "/assets/images/send/contacts.png" - retina = "/assets/images/send/contacts@2x.png" - big = "/assets/images/send/contacts-big.png" - alt-text = "A screen with a list of contacts and a detail screen showing contact information." - width = 800 - height = 366 -%} \ No newline at end of file diff --git a/pages/milestones/send/silent-payments.md b/pages/milestones/send/silent-payments.md deleted file mode 100644 index a554fab..0000000 --- a/pages/milestones/send/silent-payments.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -layout: default -title: Silent payments -permalink: /milestones/1-7-send/silent-payments -nav_order: 178 -indent: true ---- - -# Silent payments - -**Status: Early design exploration** - diff --git a/pages/showcase.md b/pages/showcase.md index 48187b7..4a7039f 100644 --- a/pages/showcase.md +++ b/pages/showcase.md @@ -3,6 +3,7 @@ layout: default title: Showcase permalink: /showcase/ nav_order: 184 +indent: true --- # Showcase (concept) diff --git a/pages/snapshot.md b/pages/snapshot.md index 260a9fd..4a8fd1b 100644 --- a/pages/snapshot.md +++ b/pages/snapshot.md @@ -3,6 +3,7 @@ layout: default title: Snapshot permalink: /snapshot/ nav_order: 181 +indent: true --- # Snapshot (assumeUTXO)