3 ms·
So what is "the change bug"? This article doesn't really attempt to explain it.
by fragsworth 11y ago
So what is "the change bug"? This article doesn't really attempt to explain it.
- jordigh 11y agoIt appears that the bug is that the change address is always the last one, which defeats the purpose of having a change address. You can see that this is what their commit changed: https://github.com/BitGo/BitGoJS/pull/12/files https://github.com/BitGo/BitGoJS/pull/12/files A change address is designed to enhance anonymity on the blockchain (to anyone who says this doesn't exist, prove it and tell me which bitcoin transactions I've done). With a change address, whenever Alices makes a payment from address X, during a single transaction part of the money goes to Bob's bitcoin address Y and the rest of the money goes to another address Z under Alice's control. The idea is that people should not be able to tell whether Alice controls Y or Z, so it should make it more difficult to know exactly how much money Alice and Bob ended up with. Of course, if you always know that Alice's change address Z is last, this whole exercise is futile.
- ikeboy 11y ago>A change address is designed to enhance anonymity on the blockchain Don't think that's actually true. A change address may help for anonymity, but the design of bitcoin (specifically, "outputs"), means that change addresses must be used. I doubt the idea was specifically to help anonymity.
- jordigh 11y agoNo, change addresses are optional. The protocol allows transactions with one input and one output: https://en.bitcoin.it/wiki/Transaction#Principle_example_of_a_Bitcoin_transaction_with_1_input_and_1_output_only https://en.bitcoin.it/wiki/Transaction#Principle_example_of_...
- ikeboy 11y agoYes, but that's if you want it all to go to one place. I don't see any specific design choice involving change addresses that seems specifically for anonymity.
- jordigh 11y agoChange addresses aren't part of the design at all. Multiple outputs are. By convention, an output to an address you control is called a change address, but it's just a convention on top of the protocol, not something the protocol is aware of. And yes, their purpose is very explicitly extra anonymity. Gavin named a branch without change addresses a "noprivacy" branch: http://bitcoin.stackexchange.com/questions/1629/why-does-bitcoin-send-the-change-to-a-different-address#comment2139_1629 http://bitcoin.stackexchange.com/questions/1629/why-does-bit...
- deleted 11y ago[deleted]
- ikeboy 11y ago>By convention, an output to an address you control is called a change address, but it's just a convention on top of the protocol, not something the protocol is aware of. I'm aware of that, it's part of what I was trying to say. >Gavin named a branch without change addresses a "noprivacy" branch: That branch apparently just sends it to the sending address. There are other reasons not to reuse addresses unrelated to anonymity, see https://en.bitcoin.it/wiki/Address_reuse https://en.bitcoin.it/wiki/Address_reuse. So I still don't see a design choice that is specifically for anonymity.
- markburns 11y agoAnonymity and lack of susceptibility to a certain class of quantum computing attacks