somewhat recently cake wallet added silent payment support to their bitcoin wallet. I don’t ever use bitcoin so I was unaware of the tech until then. it seems to work similarly to monero’s remote node scanning & is said to enhance privacy.
im wondering how it weighs against moneros privacy protections & what this development may or may not mean for the project in the future. im worried about the way it may overshadow XMR due to bitcoins reach & possible consequences if it is inferior tech (being based on a transparent L1 & all). however it is also a big step towards closing the gap between the privacy coin community & the BTC maxis (which is probably only good for eveyone involved). so im feeling split & figured i would ask the community what they think of the development.
it seems to be more like hiding coins in different addresses while obscuring it on chain & using some clever math to make the UX better. aswl as not giving over ur key to the remote node. although Ill admit the technical stuff is slightly about my head so please correct my explanation as needed haha.
im more so wondering about the practical use/implications when it comes to privacy & was struggling to find a good comparison online.
Silent Payments are just stealth addresses for Bitcoin. There already be some earlier implementations, for example PayNim in Samourai Wallet. But the new thing is finally a general standard proposed for wallets.
It allows to create new Silent Payment address which never appear on the blockchain. Instead, the sender of a transaction will derive an unique regular address controlled by the recipient. Similar to Monero yes. The only thing it gives: one cannot naively check the balance or the transaction history of a SP address.
If it will be adopted it can improve privacy on Bitcoin slightly, but… It’s a completely client-side feature which does not require protocol changes and could be implemented like from the day one of Bitcoin. Silent Payments are new only because it uses Taproot, and the previous thing was BIP 47: Reusable Payment Codes, which has about zero usage. Just because bitcoiners don’t care much about privacy. There is only a small minority of users who cares.
For more serious privacy hidden amounts are a must have feauture. And in the past at least bitcoiners were strongly against it, because they care about transparency, audibility and trust to the system more than about privacy. Potentially, some privacy protocol can be implemented on L2, but L2s are often centralized and cannot withstand governmental pressure. But in theory yes, they could have strong private payments on L2, but this rather won’t happened on L1 in near decades. Even on Ethereum where such protocols are possible for few years now, projects are still in development.
In short: the problem with privacy in Bitcoin is not technical, it is more about culture and a lack of demand from the Bitcoin community. Imagine that bitcoiners will promote some strong privacy improvement for which Binance and other exchanges could delist BTC, or the protocol will become more complex for understanding by an average human.
This is a good overview of how silent payment work, thank you for posting it. I learned some new things!
but L2s are often centralized and cannot withstand governmental pressure
This is true on other networks but not true of Bitcoin (lightning). Lightning is even more decentralized than L1 is, you can run a lightning node on an android phone.
it is more about culture and a lack of demand from the Bitcoin community.
Absolutely agree with this, but the culture has been changing. Auditability of supply of coin has been the major hurdle privacy wise, but even with keeping that there are some major changes that can be made to improve privacy. It’s a common topic at Bitcoin conferences now, everybody knows this is the direction Bitcoin needs to move in (and has been moving in).
From what I understand, silent payments only gives the sender the ability to generate addresses that the receiver can pull Bitcoin from. So it protects the receiver, but it does not protect the sender and it does not protect the amounts. This is a step in the right direction for Bitcoin, but it’s still nothing compared to Monero.
Edit: Instead of having the receiver manually have to give you a new address that’s fresh every single time you want to pay them. This automatically can generate new addresses to pay them without their input.
As far as Bitcoin goes, there’s also coinjoin. Lightning transactions are pretty opaque since they don’t occur on L1. If I have a lightning node (which I run on an android phone), and you have a lightning node, and we make a tx between each other, nobody knows it. Even for a multi-hop transaction, nobody aside from those hops knows about it. Setting up a lightning channel requires an L1 transaction, but you can make a lightning channel with anybody and then send funds to anybody, it’s not a 1:1 relationship. In other words, if I want to send you money via lightning, as long as I have an existing lightning channel with somebody else, I can do it.
Bitcoin’s privacy continues to get better, it’s a common refrain at Bitcoin conferences that privacy needs to be focused on more. Monero is still king here but it’s losing ground in this area. Bolt12 is a new thing being implemented that helps with privacy as well.
As far as Bitcoin goes, there’s also coinjoin.
With whirlpool going out of biz, what coinjoin is there for btc?
LN stuff
- Doesn’t work when mempool fees are high
- Most people are forced/nudged into using custodial wallets
- LN was not designed to be a privacy tool. Bitcoiners tried to shoe-in that it is also a privacy tool
Monero is losing ground to LN
Where are LN darknets?
It seems to be more like hiding coins in different addresses while obscuring it on chain & using some clever math to make the UX better.
You are accurate: you “hide” coins in different addresses which are only know to the receiver and the sender, I cannot paste a SP address in a block explorer and find what addresses belong to it, and what is the total balance of this BTC user. I can however send a payment to it and then have a “watch” on this entity, there is no obscuring happening on-chain so usual heuristics like when a coin is spent, to where, how much is change, etc still apply.
Which also means if they spend many SP payments together, they reveal to me & others all the addresses belonging to them and what the total balance was, you can think of it like if bitcoin users sent their BTC addresses to each other via DMs, but it removes the interactivity step from handling new addresses, while adding the scanning requirement so the receiver can also know which addresses were generated to them without having to ask senders each time
It is a good feature to have in general in my opinion, but definitely does not come any close to competing with Monero still