Bitcoin Forum

Other => Beginners & Help => Topic started by: allocater on June 17, 2011, 08:20:02 PM



Title: Why is change being send to a new address?
Post by: allocater on June 17, 2011, 08:20:02 PM
Why is change being send to a new address? and not just back to where is came from?


Title: Re: Why is change being send to a new address?
Post by: willphase on June 17, 2011, 08:24:02 PM
I'm not sure I understand you. Can you explain your question in more detail then I would be happy to try and answer it.

W


Title: Re: Why is change being send to a new address?
Post by: redhatzero on June 17, 2011, 08:31:20 PM
He  means that if A sends 1 btc from an address that has a balance of 5, to recipient B,
B will get 1 btc, the rest of 4 btc will be sent to a new address (but that address is also owned by A)


Title: Re: Why is change being send to a new address?
Post by: myrkul on June 17, 2011, 08:33:18 PM
It's all part of the bitshuffle.

Is that change, or a legitimate micropayment? Who knows... Bit-shuffle! (it's for anonymity)


Title: Re: Why is change being send to a new address?
Post by: willphase on June 17, 2011, 08:34:10 PM
The reason is so the source of the transaction is hidden. If a public key of the sender was used for receiving the change then it would be obvious to anyone examining the transaction to know the source, so a new one is made.

Hope that makes sense!

W


Title: Re: Why is change being send to a new address?
Post by: allocater on June 17, 2011, 09:26:04 PM
Yes, but I thought the public key of the sender is used anyway on the input, so it would be no problem to use it on the output as well.


Title: Re: Why is change being send to a new address?
Post by: EhVedadoOAnonimato on June 17, 2011, 09:34:19 PM
It's all part of the bitshuffle.

Is that change, or a legitimate micropayment? Who knows... Bit-shuffle! (it's for anonymity)

It doesn't really improve anonymity, though. In many cases, it's possible to determine with 100% certainty which output is change, which is not.
And it increases transaction size, as it adds an unnecessary output.
The only utility I see to it is that it fully spends the inputs, so the transactions which once filled them could eventually be pruned. But that to the expense of larger transactions. As I think bandwidth would be a more important concern for future professional miners than disk space, I don't see much of a reason for this change feature.


Title: Re: Why is change being send to a new address?
Post by: willphase on June 17, 2011, 09:46:32 PM
Yes, but I thought the public key of the sender is used anyway on the input, so it would be no problem to use it on the output as well.

Yes this is very true. :) ...not to hide the source but to hide how much of the money was spent because e.g. in the example below by redhatzer, it wouldn't be possible to know if the sender sent 4 to one person and 1 to another, or just 1 to one person and pocketed the change. However given most transactions have one recipient and then the change coming back to the sender, it's all pretty obvious on blockexplorer... :) but that's an artifact of the bitcoin implementation and anyone creating their own transactions could hide in the noise better... E.g. a pool paying it's miners could have one huge transaction with one txin and multiple txouts without it being obvious which were change.

Will