pull down to refresh

In this first part of our silent payment series, we explore how the underlying cryptography and mechanisms of silent payments actually work.
We are proud to announce that the BitBox02 is the first hardware wallet that can safely perform Bitcoin silent payments. In this blog post series, we want to show you how silent payments work, and what the BitBox02 is doing under the hood to make sure these payments are performed securely.
Support for sending to silent payment addresses will be made available to all BitBox02 users in a future update.
  • Part I explains how silent payments work in general
  • Part II will show interesting insights into what your BitBox02 does under the hood in order to support silent > payments in a secure manner
52 sats \ 7 replies \ @OT 6 Sep
Perfect use case for cold storage. But I don't think this is a good idea.
"Currently, to maintain privacy, a recipient must interact with a sender to give them a new fresh address for every transaction. This leads to a bad user experience or operational difficulties.
For example:
Withdrawing from an exchange: for every withdrawal you should to get a new unused receive address from the BitBoxApp, register the new address at the exchange and verify it's the correct address on the BitBox and on a second device"
Withdrawing from the exchange will still link the TX when it confirms which defeats the purpose.
reply
22 sats \ 6 replies \ @ChrisS 6 Sep
The problem you are describing is the way bitcoin works before silent payments. The idea of silent payments is There is no on chain connection between multiple payments send to a silent address.
reply
21 sats \ 3 replies \ @OT 6 Sep
There is because the exchange can see where their UTXO was sent by checking the TXID.
reply
21 sats \ 2 replies \ @ChrisS 6 Sep
The exchange/sender does not need to look on chain to know where they sent the bitcoin. The know who you are already. If you use the same address every time then everybody else that looks at the chain knows the transactions are linked. This solves the problem have needing to have some out of band communication or set up a server like btcpayserver to generate new addresses. It does not conceal of the identity of the receiver from the sender any more or less than a current bitcoin transaction does.
reply
21 sats \ 1 reply \ @OT 6 Sep
I understand that it automates the generation of a new address each time. I just think bitcoiners need to understand there is still a link from the exchange (and authorities). The name is a little misleading IMO as it implies that its a private TX.
Uneducated Bitcoiners will likely use it and then end up consolidating UTXO's which defeats the whole purpose.
For donations, for I think this is the way. Maybe also for sending from a conjoin into cold storage.
reply
21 sats \ 0 replies \ @ChrisS 6 Sep
Good points. The name certainly could be misleading for uneducated users.
reply
why not use lightning or liquid to avoid on chain transparency?
reply
21 sats \ 0 replies \ @ChrisS 6 Sep
Sure use lightning it’s great. But even if you use lightning and/or liquid you still have to interact on-chain at times. And on chain especially while fees are low and for larger transactions is much easier to use than lightning.
reply
In the case of bip47 payment codes, it was necessary to know the sender or at least have a commitment transaction so that the recipient knew which addresses to look for. Silent payments bip352 do not need any of that. You can find more information here https://silentpayments.xyz/
reply
Make sure to post 2 I will wait for it
reply
From Brave search ai...
Based on the provided search results, I'll summarize the concept of Silent Payments and provide a step-by-step explanation of how they work.
Silent Payments (SP) are a type of reusable payment code that enables users to have a static receive address for others to pay them with, while preserving their privacy. This approach removes the need for a notification transaction, improving scaling and privacy associated with reusable payment codes.
Here's a breakdown of the process:
  1. Initialization: The receiver generates a unique Silent Payment (SP) address, which is shared with the sender. This SP address is derived using a combination of the receiver's public key and a tweak value.
  2. Transaction creation: When the sender wants to make a payment to the receiver, they use their secret key(s) together with the public key of the SP address to derive a shared secret. This shared secret is used to generate a new destination address for the payment.
  3. Scanning: The receiver's wallet connects to a specialized server that provides "tweak" data, allowing the wallet to scan transactions and identify payments intended for them without requiring notification transactions.
  4. Payment processing: The sender broadcasts the transaction to the Bitcoin network, and the receiver's wallet verifies the payment by checking the transaction against the tweak data provided by the server.
Here's a code example in TypeScript using bitcoinjs-lib, as mentioned in the Medium article:
import { BitcoinJS } from 'bitcoinjs-lib'; import { bech32 } from 'bech32'; const receiverPubKey = '...'; // receiver's public key const tweakValue = '...'; // tweak value const spAddress = bech32.encode('bc1', receiverPubKey, tweakValue); console.log(spAddress); // unique Silent Payment address // Later, when the sender wants to make a payment const senderPrivKey = '...'; // sender's private key const sharedSecret = deriveSharedSecret(senderPrivKey, receiverPubKey, tweakValue); const destAddress = generateDestAddress(sharedSecret); console.log(destAddress); // new destination address for the payment // Broadcast the transaction to the Bitcoin network
Note that this is a high-level overview, and the actual implementation may vary depending on the specific wallet or library used. Additionally, Silent Payments are still a developing concept, and the trade-offs and limitations mentioned in the search results should be carefully considered.
In terms of existing implementations, Cake Wallet appears to be the first released wallet with Silent Payments support. The silent-payments.xyz documentation provides further insight into the concept and its underlying mechanics.
Here is Perplexity ai: Silent Payments is a proposed Bitcoin improvement that aims to enhance privacy and usability when receiving bitcoin payments. Here are the key points about Silent Payments:

How Silent Payments Work

Silent Payments allow users to receive bitcoin payments to new addresses without needing to actively generate and share those addresses[1]. The system works as follows:
  • The recipient shares a single static "silent payment address" publicly
  • Senders can derive new one-time addresses from this static address to send payments
  • Recipients can scan the blockchain to detect payments sent to addresses derived from their silent payment address

Benefits of Silent Payments

The main advantages of Silent Payments include:
  • Improved Privacy: New addresses are used for each transaction without requiring manual address generation[1]
  • Enhanced Usability: Recipients only need to share one static address instead of constantly generating new ones[1]
  • No On-Chain Overhead: Unlike some other solutions, Silent Payments don't require additional on-chain transactions for setup[1]

Challenges and Tradeoffs

While promising, Silent Payments do come with some tradeoffs:
  • Increased Scanning: Recipients need to scan more transactions to detect payments, increasing computational requirements[1]
  • Recovery Complexity: Wallet recovery may take longer due to the need to scan more of the blockchain[1]

Current Status

Silent Payments are still a proposal (BIP-352) and are not yet implemented in Bitcoin. However, they represent an interesting potential solution to improve Bitcoin's privacy and usability for receiving payments[1].
reply