Author

Topic: What is bitcoin change? (Read 1329 times)

full member
Activity: 151
Merit: 100
July 21, 2014, 07:27:02 PM
#7
Hi people,

Just wondering if someone could explain to me how bitcoin change works.

So far I understand that if I want to say for e.g send 5 BTC from my personal wallet to my exchange wallet, and I in total have 9 bitcoins, the system sends 9 bitcoins out, and in returns gives back 4 bitcoins in change......and this change  goes to a new bitcoin address? Does this not mean that although I have created offline storage wallets for my BTC (which is online when I want to send BTC), I now need to update my offline wallets with the new bitcoin address? So I need to go through all my offline USB's and paper wallet to update them? I think I have misunderstood this, as this seems really tedious.

What about receiving BTC? Say I just bought 10 BTC from an exchange and want send 5 BTC to an offline address, does the new 5 BTC that I get back go to a new address and therefore new private key? Why does it not just go back to the same address?

Forgive my retardedness, thanks.

Address reuse potentially decreases security in the event of something like a bad random number generation in the wallet (which happened on Android a while ago), though there's no technical reason you can't send change back to the same address, and I sometimes do by setting the change address with coin control. Bitcoin Core creates 100 change addresses by default which are transparent to the user, and generates more when they run out. This means that offline wallet backups need to be updated every once in a while, to make sure you don't lose any of your private keys. Some wallets such as Electrum are deterministic, and generate all their change addresses from a seed instead of randomly, so they can be regenerated from an initial backup of the seed.
A lot of people also like to use a change address to add a level of anonymity to their transactions as when they spend the coins in their change address, an onlooker would not know if the TX is from the person you sent the coins to or if it is coming from you.
legendary
Activity: 1190
Merit: 1000
no need to carry heavy money bags anymore
July 21, 2014, 02:15:24 PM
#6
Use deterministic wallet (e.g. Armory) and you don't need to care about backup update.

check https://bitcoinarmory.com/about/using-our-wallet/
hero member
Activity: 508
Merit: 500
Techwolf on #bitcoin and Reddit
July 21, 2014, 01:08:17 PM
#5
Hi people,

Just wondering if someone could explain to me how bitcoin change works.

So far I understand that if I want to say for e.g send 5 BTC from my personal wallet to my exchange wallet, and I in total have 9 bitcoins, the system sends 9 bitcoins out, and in returns gives back 4 bitcoins in change......and this change  goes to a new bitcoin address? Does this not mean that although I have created offline storage wallets for my BTC (which is online when I want to send BTC), I now need to update my offline wallets with the new bitcoin address? So I need to go through all my offline USB's and paper wallet to update them? I think I have misunderstood this, as this seems really tedious.

What about receiving BTC? Say I just bought 10 BTC from an exchange and want send 5 BTC to an offline address, does the new 5 BTC that I get back go to a new address and therefore new private key? Why does it not just go back to the same address?

Forgive my retardedness, thanks.

Address reuse potentially decreases security in the event of something like a bad random number generation in the wallet (which happened on Android a while ago), though there's no technical reason you can't send change back to the same address, and I sometimes do by setting the change address with coin control. Bitcoin Core creates 100 change addresses by default which are transparent to the user, and generates more when they run out. This means that offline wallet backups need to be updated every once in a while, to make sure you don't lose any of your private keys. Some wallets such as Electrum are deterministic, and generate all their change addresses from a seed instead of randomly, so they can be regenerated from an initial backup of the seed.
legendary
Activity: 1358
Merit: 1000
July 21, 2014, 12:55:06 PM
#4
Using a change address is not compulsory, but is considered preferable from a privacy point of view.

You can use a Bitcoin client like Bitcoin Core that makes it difficult to track your transactions by creating a new change address each time you send a payment. For example, if you receive 5 BTC on address A, and you later send 2 BTC to address B, the remaining change must be sent back to you. Some Bitcoin clients are designed to send the change to a new address C in such a way that it becomes difficult to know if you own Bitcoin address B or C.
https://bitcoin.org/en/protect-your-privacy
legendary
Activity: 4466
Merit: 3391
July 20, 2014, 09:58:47 AM
#3
Bitcoin works like this: Suppose you receive an amount of bitcoins at a particular address. Then when you send bitcoins, you must send the entire amount that you received. Of course, you don't really want to send all the bitcoins, so you send some of them back to yourself. That is the "change" and it is sent to the "change" address". The change address can be the same as a the sending address or it can be a new address. Your wallet software handles the details for you automatically.

Bitcoin Core creates a new address for change. In order to prevent backups from becoming obsolete every time you send bitcoins, 100 change addresses are preallocated and included in the backup.

For example, suppose you have 1 BTC at 1abc... and you want to send 0.2 BTC to 1xyz... You wallet would construct a transaction that sends 0.2 BTC to 1xyz... and 0.8 BTC back to 1abc... (or to 1uvw... if you are using certain wallets). The 0.8 BTC is the change.

Please note that this is a simplified explanation. Bitcoin actually operates on "inputs" and "outputs", and there could be more than one per address.

In general, you can't send bitcoins from an offline wallet -- because it is offline. If you import a paper wallet and then send bitcoins from its address, the wallet may not send the change back to the paper wallet's address. For that reason, you should destroy a paper wallet after importing the address.
legendary
Activity: 3948
Merit: 3191
Leave no FUD unchallenged
July 20, 2014, 06:48:24 AM
#2
Some wallet clients generate new change addresses, some don't.  Depends how they're programmed.  The change can be sent back to the same address, or it can use a new address if your client is configured that way.  MultiBit, for example, doesn't use change addresses (or at least not by default anyway), but future versions might introduce that feature.  
newbie
Activity: 24
Merit: 0
July 20, 2014, 06:12:51 AM
#1
Hi people,

Just wondering if someone could explain to me how bitcoin change works.

So far I understand that if I want to say for e.g send 5 BTC from my personal wallet to my exchange wallet, and I in total have 9 bitcoins, the system sends 9 bitcoins out, and in returns gives back 4 bitcoins in change......and this change  goes to a new bitcoin address? Does this not mean that although I have created offline storage wallets for my BTC (which is online when I want to send BTC), I now need to update my offline wallets with the new bitcoin address? So I need to go through all my offline USB's and paper wallet to update them? I think I have misunderstood this, as this seems really tedious.

What about receiving BTC? Say I just bought 10 BTC from an exchange and want send 5 BTC to an offline address, does the new 5 BTC that I get back go to a new address and therefore new private key? Why does it not just go back to the same address?

Forgive my retardedness, thanks.
Jump to: