Silent Payments tl;dr
Silent Payments allow you to create a single, static address to share with friends, use for donations, or post for tips without sacrificing privacy. When someone wants to send you a payment, their wallet combines the public keys in your Silent Payment address with the keys of the coins they’re spending and generates a unique, one-time address that looks on-chain just like any other Taproot address. The main advantages of Silent Payments are:
- Simpler user experience: users just need to worry about a single, static address instead of the hurdles of generating new addresses for every receive.
- Better receiver privacy: payments made to a Silent Payment address avoid on-chain address reuse, as senders derive fresh Taproot outputs.
- Better sender privacy: unlike BIP 47, there’s no notification transaction tying a sender to the receiver, so nothing in the protocol lets a receiver link multiple payments back to the same sender.
- No payment server required: anyone with a wallet supporting Silent Payments can receive funds without address reuse, without communication, and without running complex infrastructure like BTCPay Server.
Why do we need reusable payment codes?
If you’ve ever had to receive Bitcoin multiple times from the same person before, you’ll know that there is a seemingly simple choice to make – do you generate a new address for them each time (and communicate it somehow), or do you tell them to re-use the same address? If you choose to generate a new address each time, you have to actively communicate somehow, send them the address, and hope they copy and paste it correctly each time. If you instead choose for them to reuse a single address, you harm the privacy of both participants in order to simplify repeat payments.
For a real-world example, consider the case of wanting to accept donations as a political dissident. If you choose to post a single static Bitcoin address, you put every donor (and yourself) at risk of trivial surveillance in order to simplify the process for you and your donors. If you choose to generate a new address for each donor, you have to run extra infrastructure like BTCPay Server or SatSale, increasing the difficulty exponentially and requiring some technical know-how. We’ve even seen a real-world example of this in donations raised by the late Russian opposition leader Alexey Navalny, whose publicly posted donation address let anyone with a blockchain explorer (including the Russian government) watch every donation come in.
The dilemma in both of these simple cases is exactly what reusable payment codes seek to solve, allowing you to provide a single static string of characters (a “code”) that can be reused as many times as necessary – even by multiple senders – without sacrificing privacy or requiring online communication with the recipient. Silent Payments were created to solve this dilemma in a modern, efficient way bringing a better, more familiar user experience and better privacy in one solution – a rare combination.
Questions or Feedback?
Next
Dive right into the following sections to get started: