If i use a different bitcoin address for every transaction, it is still possible to correlate my addresses?
If i leave one address here in my signature (for tip, lets say) and this address only serves this purpose, i will never use it in any other transaction; it is possible to correlate it with other of my addresses?
I am reading that bitcoin is not so anonymous like people think it is, BUT what are the possible falws here? I know that every transaction is public, but if "they" cant correlate transactions/addresses with each other, they have nothing, right?
Explain like i am five please
Thank you
When you make a transaction, change goes back to an address controlled by you. That address might be used later by your wallet in another transaction. See how they are connected?
It only needs for one transaction you make to tie your name to it ....
If this is the problem, the wallet would control this by automating exclude addresses already used! Every transaction MUST use a new address.
What am i missing here?
Thats not possible. There is no "from address", but blockchain explorers show it that way. The "from" address is the address you previously received bitcoin on and now want to spend. You cant just change the transaction someone else made for you in hindsight. If you want to avoid that inputs from different addresses are used you need to use a wallet (e.g. bitcoin core with coin control enabled) that allows you to select the inputs used yourself. That way you can use inputs that have been received by a single address and thus only this address shows as the "from" address on a blockchain explorer.
hmmmm, now i think i get it.
Transactions must have inputs, so if i use different addresses for every transaction, the inputs will be there to compromise me, every time. Is this correct?
Thank you for that post
Yes and no. If your wallet picks inputs for you it might pick inputs than have been received via different addresses. E.g. if you want to spend 1 BTC to Alice and have 5 possible inputs to use sorted by age (oldest first):
- identifier - size (in BTC)
- 1B01... - 0.6
- 1B02... - 0.7
- 1B03... - 0.3
- 1B04... - 5.0
- 1B05... - 1.5
Your wallet might use the oldest inputs first, because that would give your TX a high priority (different topic, but its used to get TX with no or low fee confirmed). It would use 1B01 and 1B02, send 1 BTC to alice (1A01) and the rest (assume no fee for simplicity) 0.3 back to you as change (1B06). Now it is reasonable to assume for someone that sees this TX that you are in control of 1B01 and 1B02. On top of that Alice also knows that 1B06 is yours. Others might guess this if they know more about you and/or Alice and/or the transaction that took place.
If you yourself pick the inputs you could use 1B04 or 1B05 and you still have the "problem" with the change, but since you only use a single input it does not give away information about other addresses that are part of your wallet. A change address is for most wallets a freshly generated address so it would have no history either and would be a fresh input.
As you can see you will eventually run into the problem that you have no input that is large enough to avoid linking inputs. In this case you have to use a mixer or something else in order to move different inputs to a single new address.
You might now think that this could be avoided if you only ever used a single address. Which is true, but that also means that there is a single address that can be checked on any block explorer and anyone knows how much bitcoin you have, where they come from and where they go. Essentially it makes it worse.