-
Notifications
You must be signed in to change notification settings - Fork 97
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
Silent payments in the Guide #1109
base: master
Are you sure you want to change the base?
Conversation
Created the file and made cursory changes
Adding all basic content from doc plus misc stuff
Added images and editing text appropriately.
Adding images plus misc
Adding header image and silent payments item to how it works intro page
✅ Deploy Preview for bitcoin-design-site ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
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.
Great start with this page. I know you're still working on things, so I didn't go into a ton of detail.
Generally, a lot of content here expands on stuff we already have dedicated pages for (contacts, backup...). As a reader, it can be tricky to piece it all together. Eventually, I think it would be good to have silent payments be covered in those pages, instead of having this addendum. For example, the contacts page should just include them by default. For now, I think it might be good to start paragraph by referencing those other pages, and then only describing what is different.
It's one of those tricky editorial things about the guide, having standalone content, but still having it all work together nicely with little duplication.
Anyhow, let my know if there's any other feedback you'd like (or not like).
|
||
## Backup | ||
|
||
Like lightning wallets, on-chain bitcoin wallets supporting full-featured BIP-352 wallets require file backups. These backup files may contain the following information: |
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.
For backup and recovery, how about just link out to the backup and recovery section, with a small note about labels...?
Just feels like we're repeating some things here, and the point about wallet birthday is not specific to silent payments, and could be tackled on that page as well.
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.
I have now linked to the user meta section on that page for a good explanation about the need to backup that in 30efc00
I am not able to find mention of wallet bitrthday in the content, though the backup print template does mention a creation date). Should I add content to that page mentioning birthday if something doesn't already exist?
|
||
{% include image-gallery.html pages = page.images_recovery %} | ||
|
||
## Pros and cons |
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.
Everything below here seems like left-over from another page.
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.
You mean the recovery carousel?
Also updated backup section
plus gratitude etc.
Thanks for reading through @GBKS, I see some great feedback, which I intend to add on top a lot of changes I'm about to push (edit: shown above since they were committed yesterday). Agree re: editorial things, see below.
Overall, I agree with you but view this effort as silent payments-focused for people who want to read about silent payments and their UX impact. My view (related to #1101 ) is that reference designs should outline established UX patterns and best practices, which IMO doesn't apply to silent payments currently since it is nascent at this point. That said, I've tried to link to existing pages where I could (do let me know if I missed someplace). |
Makes it more consise and precise with improved links to reference guide.
Fixes typos, improves phrasing and makes text concise.
Incorporating Christoph's suggestion. Co-Authored-By: Christoph Ono <[email protected]>
The send section para is revised and adds a mention of this.
Incorporating feedback from reading session.
Incorporating reading session feedback
Incorporating reading session feedback
Improve layout, spacing; update steps copy (according to reading session feedback Co-Authored-By: Mogashni <[email protected]>
Hey @rabbitholiness here's an update to the updates based on your feedback (see recent commits for details):
Hope it makes the page better... |
updates mostly to backup/recovery and receiving/scanning sections
Just updated header images...if those are fine I think this one is ready for final reviews. |
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.
Great progress! The page reads much better already. I made some more suggestions.
It could also be a good idea to add a little bit more structure to the content by framing the bottom half of the content as UX implications. Like so:
- Rationale
- How it works
- New conceptual model
- Labels
- User experience implications
-- Contacts
-- Sending
-- Receiving
-- Setup
-- Backup
-- Recovery - Pro's and cons
|
||
[Silent payments](https://github.com/bitcoin/bips/blob/master/bip-0352.mediawiki) is a protocol the uses static addresses to simplify payment experience while preserving privacy. Once the receiver shares a static address, senders derive a new unique on-chain address with it they make a payment. This prevents [address reuse](/guide/glossary/address/#address-reuse) without repeated user interaction. | ||
|
||
For eg: Alice can simply post a static address on her website, and receive bitcoin donations at unique on-chain addresses. The static address itself never shows up on-chain. |
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.
For eg: Alice can simply post a static address on her website, and receive bitcoin donations at unique on-chain addresses. The static address itself never shows up on-chain. | |
For instance, Alice can simply post a static address on her website, and receive bitcoin donations at unique on-chain addresses. The static address itself never shows up on-chain. |
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.
I'd either use "for instance" or "for example". If you want to go with the current model, it should be spelled e.g.
|
||
## How silent payments work | ||
|
||
Silent payments are made in 4 broad steps: |
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.
Silent payments are made in 4 broad steps: | |
Silent payments involve 4 broad steps: | |
1. The receiver shares a static payment address with the sender or publishes it publicly (manual) | |
2. The sender uses the static address to initiate a payment (manual) | |
3. The sender's wallet uses the the static address to derive a unique on-chain address (automated) | |
4. The sender broadcasts the transaction, which pays this derived address (manual) | |
5. The receiver's wallet scans the bitcoin blockchain to identify payments (automated) | |
|
||
--- | ||
|
||
[Silent payments](https://github.com/bitcoin/bips/blob/master/bip-0352.mediawiki) is a protocol the uses static addresses to simplify payment experience while preserving privacy. Once the receiver shares a static address, senders derive a new unique on-chain address with it they make a payment. This prevents [address reuse](/guide/glossary/address/#address-reuse) without repeated user interaction. |
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.
[Silent payments](https://github.com/bitcoin/bips/blob/master/bip-0352.mediawiki) is a protocol the uses static addresses to simplify payment experience while preserving privacy. Once the receiver shares a static address, senders derive a new unique on-chain address with it they make a payment. This prevents [address reuse](/guide/glossary/address/#address-reuse) without repeated user interaction. | |
[Silent payments](https://github.com/bitcoin/bips/blob/master/bip-0352.mediawiki) is a protocol the uses static addresses to simplify the payment experience while preserving privacy. Once the receiver shares a static address, the sender's wallet derives a new unique on-chain address for each payment to the static address. This prevents [address reuse](/guide/glossary/address/#address-reuse) and eliminates the need for repeated user interaction at the same time. |
|
||
### Rationale | ||
|
||
Since the blockchain is public, reusing an on-chain address for payments informs the network that these payments are made to the same user. However, specifying a new address for each transaction usually requires user interaction. This is error-prone, takes time and requires manual effort. |
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.
Since the blockchain is public, reusing an on-chain address for payments informs the network that these payments are made to the same user. However, specifying a new address for each transaction usually requires user interaction. This is error-prone, takes time and requires manual effort. | |
Since the bitcoin blockchain is public, reusing an on-chain address informs the network that these payments are made to the same user. However, specifying a new address for each transaction usually requires user interaction. This is error-prone, takes time and requires manual effort. |
For eg: the static address is only shared with senders who use it to make payments. | ||
Below is a summary of the keys & addresses i | ||
|
||
| Silent payments' concept | Shared with | for: | |
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.
| Silent payments' concept | Shared with | for: | | |
| Component |Used by | Purpose | |
{% include tip/close.html %} | ||
|
||
### Coin selection | ||
As mentioned in the introduction, coin selection can be done much better due to auto-applied label information. Applications should encourage & assist users in performing coin selection by surfacing relevant or related labels or other methods. Automatic coin selection should be improved with all the label information available. |
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.
As mentioned in the introduction, coin selection can be done much better due to auto-applied label information. Applications should encourage & assist users in performing coin selection by surfacing relevant or related labels or other methods. Automatic coin selection should be improved with all the label information available. | |
As mentioned in the introduction, coin selection can be significantly improved due to auto-applied label information. Applications should encourage and assist users during coin selection by surfacing relevant or related labels. Automatic coin selection should be improved with all the label information available. |
|
||
Receiving flows are likely to be used less often since static addresses can be safely reused. If the receiver has publicly posted their static address, they will receive payments without any interaction with the sender. Therefore, applications should encourage users to add labels or a contact whenever they actively share a static address with a sender. | ||
|
||
Applications should also allow receivers to share an on-chain address itself in case the sender's wallet cannot send to static addresses. |
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.
Applications should also allow receivers to share an on-chain address itself in case the sender's wallet cannot send to static addresses. | |
Applications should also allow receivers to generate and share conventional on-chain addresses in case the sender's wallet cannot send to static addresses. |
|
||
Applications should also allow receivers to share an on-chain address itself in case the sender's wallet cannot send to static addresses. | ||
|
||
Some places where people can share static addresses (and add labels) include: |
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.
Some places where people can share static addresses (and add labels) include: | |
Some practical examples for where users might want to share (labelled) static addresses include: |
</div> | ||
|
||
|
||
The tradeoff with silent payments for all their benefits is a higher blockchain scanning requirement. This scanning process is more computation-intensive and time-consuming than popular BIP-32 wallets/addresses. Mobile wallet users are likely to face a noticeable delay in the detecting payments once they come online. While the scanning is takes place, applications should show progress and estimated time to complete the scanning process. |
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.
The tradeoff with silent payments for all their benefits is a higher blockchain scanning requirement. This scanning process is more computation-intensive and time-consuming than popular BIP-32 wallets/addresses. Mobile wallet users are likely to face a noticeable delay in the detecting payments once they come online. While the scanning is takes place, applications should show progress and estimated time to complete the scanning process. | |
The tradeoff with silent payments, for all their benefits, is a higher blockchain scanning requirement. This scanning process is more computation-intensive and time-consuming than for popular BIP-32 wallets and addresses. Mobile wallet users are likely to face a noticeable delay in the detecting payments once they come online. While the scanning is takes place, applications should show progress and estimated time to complete the scanning process. |
- [labels](/guide/how-it-works/silent-payments/#labels) | ||
- contacts | ||
|
||
Allowing the user to manually note some backup information in case the user misplaces the backup file or recovery application does not support backup files. Like regular wallets, silent payment wallets can also be backed up & restored with the recovery phrase. However, it may result in longer recovery times as well as loss of valuable metadata. |
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.
Allowing the user to manually note some backup information in case the user misplaces the backup file or recovery application does not support backup files. Like regular wallets, silent payment wallets can also be backed up & restored with the recovery phrase. However, it may result in longer recovery times as well as loss of valuable metadata. | |
Applications should allow users to manually note backup information in case they misplace the backup file or the recovery application does not support backup files at all. Like regular wallets, silent payment wallets can also be backed up with restored using a recovery phrase. However, this method may result in longer recovery times as well as loss of valuable metadata. |
This is a draft pull request for silent payments content in the guide. It is ready for review but not ready to merge just yet even if feedback is fine. I was able to able to create server and preview all of the content on local.
Preview the silent payments page
Listing a few minor of to-do's below, apart from the any changes necessitated by feedback:
Look forward to review and feedback by way of suggestions, corrections for screens and content keeping in mind the above to-dos, which I will complete in a few days. I would discourage inputs on approach unless they were really necessary. I wanted to put this out there so the wider community in general could preview & review it.