Hi, I was just playing with my Bitcoin and wanted to share my experiences with
Silent Payments
with you. In this little guide, I'll take a closer look at Silent Payments, a new method for sending and receiving on-chain Bitcoin that prioritizes privacy. We'll dive into its key features, discuss the wallets that support it, and walk through the process of sending and receiving Silent Payments.🎉 Key Features
Here are some key features of Silent Payments:
- Reusable addresses: No need to generate a new address for each transaction, providing a better user experience and increased privacy
- No added transaction costs: Silent Payments don't increase the size or cost of transactions.
- Enhanced anonymity: Outside observers can't link transactions to a Silent Payment address.
- No sender-receiver interaction required: Transactions can be made without any communication between parties.
- Unique addresses for each payment: Eliminating the risk of accidental address reuse.
- No server required: Silent Payments can be made without the need for a dedicated server.
Wallets
Several wallets currently support Silent Payments:3
- Blue Wallet
- Cake Wallet
- Silentium app (silent payment wallet)
WALLET | SENDING | RECEIVING | SCANNING |
---|---|---|---|
Blue Wallet | ☑️ | ❌ | ❌ |
Cake Wallet | ☑️ | ☑️ | ☑️ |
Silentium app | ☑️ | ☑️ | ☑️ |
Additionally, the following wallets are working on implementing Silent Payments:
- SeedSigner (experimental)
- BitBox (implementing in a future update)
Prerequisite
For this guide, we'll be using two wallets: Blue Wallet for
sending
a Silent Payment and Cake Wallet for receiving
it.Sending Silent Payments with Blue Wallet 🔵
To send Silent Payments, we'll need to fund our Blue Wallet first. Open Blue wallet, create a regular Bitcoin wallet by tapping
Add a wallet
, and then receive some sats into it.B - Cake Wallet 🎂
Since Blue Wallet currently only supports sending Silent Payments, we'll use Cake Wallet to receive them. To set this up, create a Bitcoin wallet in Cake Wallet and then enable Silent Payments by toggling the feature on.
Settings ⚙️
Tapping on the
Hamburger menu
icon in the right opens the settings menu. Let's take a look at what options are available.A - Connection & sync 🔗
Here, we can reconnect the wallet, manage nodes, and even connect to our own node, which is the recommended option. Additionally, we have the
Silent Payments Scanning
feature, allowing us to customize the scanning process by specifying either a Scan from block height
or Scan from date
.B - Silent Payments settings 🔈
We can toggle on the Silent Payments card on the Home screen to display this feature. Enabling
Always scanning
allows the wallet to continuously monitor the blockchain for incoming Silent Payments. We can also specify scanning parameters to customize the scanning process to our needs as described above.C - Secruity & backup 💾
To secure our wallet, we can create a backup by following the in-app prompts. This will ensure we have a safe copy of our private keys, allowing us to recover our wallet if it's lost or stolen. Additionally, we can view our seed phrase and private keys, change our PIN, enable biometric authentication, and set up 2FA for an extra layer of protection.
D - Privacy Settings 🔒
We can also enhance our wallet's security by using Tor to encrypt our internet connection and safeguard our privacy when accessing external sources. Additionally, we can prevent screenshots to keep our wallet information confidential, enable auto-generated addresses to create new ones for each transaction, and disable buy/sell actions to prevent unauthorized transactions.
E - Other settings 🔧
We can manage the fee priority to set the default fee level for our transactions. This allows us to control the transaction fees associated with our Silent Payments, taking into account the current network utilization.
Receiving Silent Payments ₿ 🔽
To receive a Silent Payment, start by tapping the
Receive
icon in Cake Wallet. Next, enter the amount you're expecting to receive. To specify the address type, tap Receive
at the top of the screen again, and then select Silent Payments
from the options.On the main screen, our reusable Silent Payment QR code and address are displayed.
The address is quite lengthy, as expected:
sp1qqttmqkk7yh2s7x4nud66d2f44mlk9ul4fpadsrjvgg4lr20e2wx2jqkrm8q68z3zgq4mj6vp2g2qdmupqyq29sxny2ammnwqrnl4t7v66u7tfnys
.Now, let's use a compatible wallet, such as Blue Wallet, which supports BIP 352, to scan the QR code and send a Silent Payment. I'll proceed with sending the payment using Blue Wallet.
Sending with Blue Wallet 🔵
To initiate the transaction, we'll start by either pasting our reusable
sp1qq...
address into Blue Wallet or scanning the QR code directly within the app.Once we've entered the
sp1qq...
address, the wallet automatically derives a corresponding bc1p...
Taproot address (P2TR), which will be used for the Silent Payment.The Silent Payment has been sent successfully from Blue Wallet.
After a short time, we'll receive our transaction in Cake Wallet. However, even with
Silent Payment always scanning
enabled, we might need to manually rescan the blockchain to see the incoming transaction. To do this, we can head to Silent Payment Settings
, enter a specific block height, and initiate a scan from there.With the Silent Payment process now complete, the transaction has been successfully executed, utilizing the reusable address and Taproot technology to preserve sender and recipient anonymity, while still allowing for secure and efficient transfer of funds on the blockchain.
Conclusion 🎯
After testing, I believe Silent Payments offer a significant improvement for on-chain privacy, addressing several design flaws. Specifically, they:
- Eliminate the need to verify addresses when withdrawing from exchanges
- Prevent address reuse by design
- Improve upon the notification transaction required in BIP47
- Provide a similar workflow to BTCPay Server, but without the need to run a server to generate new payment addresses
However, Silent Payments do not fix everything. Notably, they do not address the issue of KYC Bitcoin's footprint, and it's essential for users to be aware of this limitation.
There are also some downsides to consider:
- Increased computational requirements for scanning and detecting Silent Payments, which demands more resources and bandwidth
- A broader implementation across wallets would be a significant improvement, increasing the adoption and effectiveness of Silent Payments.
Resources 📚
Footnotes
-
Silent Payment Wallet Support (adjusted) ↩