5

I really hope that I've got this horribly wrong, but I have to ask...

I have this idea, which I base on comments and explanations I've heard over the years, that when you make a Bitcoin transaction, for example 0.001 BTC, your wallet (let's assume Bitcoin Core) actually sends your entire funds of your wallet, let's say 1.5 BTC, but also includes a "gimme back" signal for 1.5 minus 0.001 BTC, ie 1,499 BTC, in the same "atomic action", meaning you never actually risk losing all that money, but it is advertised to the person receiving it, and maybe the entire world.

I don't understand why it would do this, and it seems extremely bad for privacy, and I'm not at all sure that it's done. Maybe it only happens sometimes? If so, when? Or maybe it doesn't mean "the full funds of the wallet", but something else?

I hope that somebody can clear this up once and for all. It's pretty telling that somebody who knew about Bitcoin in 2009 is actually asking this question in 2021, after using it for highly sensitive tasks for over a decade... I'm not wild about random people knowing how many Bitcoins I have simply by sending them money, and hope that this is not how it works.

2

2 Answers 2

2

No, you will not disclose the entire amount of your wallet when you make a payment, but effectively you can disclose some info on your bitcoin.

Your wallet has several addresses and each one can have received one or more payment, once you receive a payment this amount will become an UTXO (unspent transaction output) which you can use to make a payment later; so you will have some UTXOs in your wallet and when you pay you must spend a full UTXO (the amount you received in a earlier payment) not the whole wallet.

For example, if you have received four payment to four different addresses (0.3, 0.04, 0.61, 0.05 - wallet total balance 1 btc) and you must pay 0.2 btc, you will use an UTXO that is greater than requested amount, in our example 0.3 btc UTXO (but you can pick also 0.61). So you will make a transaction with one input (0.3 btc) and two output: 0.2 btc for the payment and 0.1 as change that you receive on a new address.

In this case you will disclose to your counterpart (the only one who know that this address is your) that you have at least other 0.1 btc but not the wallet balance. Any other that see this transaction on blockchain can't know that this address is your and maybe can't even distinguish payment from the change, depending on how the transaction is made.

This is the most simple situation and the one in which you reveal less info, there are other factor that can reveal part of your holdings (i.e. if you use the same address to receive multiple payments, when you spend from that address, you will disclose the whole amount on it, not only the UTXO you pick) but Bitcoin privacy is not so simple that can fully explained here.

You can read more here:

https://bitcoin.org/en/protect-your-privacy
https://en.bitcoin.it/Privacy

0

correct. but if person A has received 10BTC in one address only, than make a 0.1 BTC transaction to person B , privacy is gone. everyone will know the address of person A was having 10 BTC. If instead a person A was receiving loads of payments, since the BTC protocol create a new address every time is used, than person B will have partial info from the public address person A sent the 0.1 btc

So the advice here for person A is to split the 10 BTC into different internal addresses of the same wallet ? or different wallets with differen seeds?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.