Author

Topic: What is the "Change" address on bitcoin wallet ? read to know ! (Read 513 times)

legendary
Activity: 2408
Merit: 2226
Signature space for rent
Up for newbies.
hero member
Activity: 2268
Merit: 669
Bitcoin Casino Est. 2013
I've always used a software wallet. The earliest Bitcoin core QT wallets, there have always been mention of change, as transactions take inputs, then spend it based on where you want to send to and how much, and if there is any left, they go to change.

What people don't understand, is if they import private keys (most likely from a paper wallet) expecting the change goes back to those same addresses, and then discard the wallet they just used, not realizing that any change gets sent to a different address.

So, it's been recommended that people use HD or otherwise deterministic wallets, like Electrum (and they work together with hardware wallets too, like Trezors) so all change goes to addresses which are formed from your seeds.

If anyone still uses the older Bitcoin wallets with randomly generated keys / address in a key pool, then it is wise to create and save backups of the wallets after every transaction or whenever the keypool has used up all the previous keys before the backup. I think the usual number is maybe 100? Some altcoins set this at 1000. It can be set manually.

Or just use a new wallet format (that uses HD or deterministic wallets) and backup that wallet, you'll have all future keys backed up.


If you use Electrum, save the seeds (the words), and you'll have a backup forever. You just might not have all the transaction detail information like any comments you put or labels, but at least you'll still have all your coins.
That would be a bad move if a person won't save his/her private key of the change address. Good thing that they have something made up that change address are form based on their seeds which is helpful not to lose the returned btc unlike other wallet that will create another private key to be able to spent the btc sent to the change address. One of the advantage is having privacy to the btc sent to the change address and the disadvantage is that a person may lose the btc in the change address that has been sent to the change address if the private key is not saved unlike other wallet provider as stated in the quote above that the change address is formed based in their seeds.
legendary
Activity: 3416
Merit: 1912
The Concierge of Crypto
The problem with something that is likely and something that can be proven, is that ... well, it can't be proven. It is just as likely that someone will send their entire balance and not deal with the change, if they use coin control and pick a single address.
legendary
Activity: 2436
Merit: 1189
Need Campaign Manager?PM on telegram @sujonali1819
It was very good learning for me. I was not familiar with the change address at all because I did not use those wallets where to have a change address. But recently, I've been noticing about it because of using Electrum. But I also didn't bother too much about it. And by reading this topic today, I have learned a good lesson about change addresses. Thank you for sharing such a helpful topic.
legendary
Activity: 3038
Merit: 2162
One transaction of 10 BTC goes to one address (recipient), and another 0.89 BTC goes to another address which the spender of 10.89 BTC controls and this is the change address.

as an arbitrary example this is decent but it should be noted that as a third person looking at a transaction we have no way of knowing which address is the change address and which one belongs to the recipient because there simply is no difference.
in fact to my eyes the 10BTC looks like the change and 0.89 seems like the payment mainly because wallets usually put the change in second output index.

I think I remember reading about a chain analysis technique which looks at amounts of send coins and if it's a "nice" number, i.e. it has a lot of zeros as opposed to looking almost random, then it's probably the output and the other address is a change address. For example, when someone sends coins to their exchange, they are more likely to send 0.01 BTC rather than 0.00972803.
hero member
Activity: 1358
Merit: 851
In Electrum, change address is optional. You can use a change address or you can execute transactions without a change address. In that case, the address with the fund itself will be the change address.
I didn't use Bitcoin Core, but have used some other altcoin wallet where change address can be input manually. You have to copy paste/select your change address.
legendary
Activity: 3416
Merit: 1912
The Concierge of Crypto
I've always used a software wallet. The earliest Bitcoin core QT wallets, there have always been mention of change, as transactions take inputs, then spend it based on where you want to send to and how much, and if there is any left, they go to change.

What people don't understand, is if they import private keys (most likely from a paper wallet) expecting the change goes back to those same addresses, and then discard the wallet they just used, not realizing that any change gets sent to a different address.

So, it's been recommended that people use HD or otherwise deterministic wallets, like Electrum (and they work together with hardware wallets too, like Trezors) so all change goes to addresses which are formed from your seeds.

If anyone still uses the older Bitcoin wallets with randomly generated keys / address in a key pool, then it is wise to create and save backups of the wallets after every transaction or whenever the keypool has used up all the previous keys before the backup. I think the usual number is maybe 100? Some altcoins set this at 1000. It can be set manually.

Or just use a new wallet format (that uses HD or deterministic wallets) and backup that wallet, you'll have all future keys backed up.


If you use Electrum, save the seeds (the words), and you'll have a backup forever. You just might not have all the transaction detail information like any comments you put or labels, but at least you'll still have all your coins.
hero member
Activity: 1232
Merit: 669
I thought I wasn't a newbie in Bitcoin but after reading the article of ways to lose bitcoin with change addresses, I understand that I know nothing.

I didn't know something like that could happen, the most sophisticated wallet I have ever used is a Trezor, never used a software wallet, and after reading that, I would never use one.


Correct enough by me, but i would mention that in the past some wallets like Bitcoin Core wallet could lead to your funds lost because Core wallet hid change addresses (100 of them). If you made backup it included your receive addresses and 100 hidden change addresses. But after you use 100 change addresses which you can't see, now your change (sometimes your whole balance) is on addresses you don't have backup for.

Tricky? Ye, bad design? Even more Wink

You're right the article below describes in detail this issue.

For more details you might read below article,
2. Five Ways to Lose Money with Bitcoin Change Addresses

1. Backup Failure
Alice uses an old version of Bitcoin-Qt. Understanding the importance of backups, she created an encrypted wallet backup long ago and stored it in a safe place. After making dozens of transactions with Bitcoin-Qt, Alice’s hard drive crashed.

Alice bought a new hard drive and then re-installed Bitcoin-Qt on it. She then restored her wallet backup. To her horror, Alice discovered the restored wallet was empty.

Explanation: Alice generated enough change addresses to overflow the original pool of 100. On the 100th spending transaction, Bitcoin-Qt moved Alice’s change (which happend to be her entire balance) into an address not in the backup. Restoring the backup only restored empty addresses.

Recovery: Even if a hard drive can’t boot an operating system, individual files can still be recovered. Using data recovery tools, Alice may be able to salvage the Bitcoin-Qt wallet from the faulty hard drive, and with it her lost funds.

Edit: typo
legendary
Activity: 2296
Merit: 1014

Point me if any wrong info here or if I missing something, so post will not mislead anyone (because I am not much expert.)
 
Correct enough by me, but i would mention that in the past some wallets like Bitcoin Core wallet could lead to your funds lost because Core wallet hid change addresses (100 of them). If you made backup it included your receive addresses and 100 hidden change addresses. But after you use 100 change addresses which you can't see, now your change (sometimes your whole balance) is on addresses you don't have backup for.

Tricky? Ye, bad design? Even more Wink
full member
Activity: 236
Merit: 117
as an arbitrary example this is decent but it should be noted that as a third person looking at a transaction we have no way of knowing which address is the change address and which one belongs to the recipient because there simply is no difference.

Yes, you are right maybe it looks different for different person. But the recipient address should be known to the user who owns it.

in fact to my eyes the 10BTC looks like the change and 0.89 seems like the payment mainly because wallets usually put the change in second output index.

But I have seen many other transactions where the change is in first index. For example, in this transaction -
3a624e6e9e628934ab201b6430d91e0f81a7700c90aa388a8c0845c1bff45d67

The first address is Change address and the 2nd  address is Recipient address. I think it varies from wallet to wallet, it will put either in first or second index.
legendary
Activity: 3472
Merit: 10611
One transaction of 10 BTC goes to one address (recipient), and another 0.89 BTC goes to another address which the spender of 10.89 BTC controls and this is the change address.

as an arbitrary example this is decent but it should be noted that as a third person looking at a transaction we have no way of knowing which address is the change address and which one belongs to the recipient because there simply is no difference.
in fact to my eyes the 10BTC looks like the change and 0.89 seems like the payment mainly because wallets usually put the change in second output index.
full member
Activity: 236
Merit: 117
Nice informative post @OP. I felt an example with screenshot is missing in this, that will help the users to understand better. I am including that info here -





In this transaction, the total payment made was 10 BTC and the total balance was 10.89 BTC. So the Bitcoin wallet cannot just take out 10 BTC out of 10.89 BTC thus the whole 10.89 BTC is spent in two transactions.

But a thing to note here is:

One transaction of 10 BTC goes to one address (recipient), and another 0.89 BTC goes to another address which the spender of 10.89 BTC controls and this is the change address. And your wallet will have the private keys of the change address so that you can again spend the 0.89 BTC change that you have received.

So effectively now the 10.89 BTC is spent in its entirety and destroyed hence preventing double usage or double spending of the same bitcoins.



Source
legendary
Activity: 2408
Merit: 2226
Signature space for rent
I have searched about this topic on this forum but had not got appropriate discussion. I am going to share about "change" address today. I know most of the old and senior members know about change bitcoin addresses, but this topic is dedicated to newbies.

Question is, What is "Change" address on bitcoin wallet?

If you are fully unaware of this then open your wallet software and check you're all address (you might check on Electrum or core). Now look at the below picture,



To be honest, even I was not aware of the "change" bitcoin address at the beginning. But I had noticed there was leveled "change" address but I had not bothered to know about it. But recently I have read a topic, Lost BTC in change address, any help, please?  Then I bothered to search about it, but I did not find any useful information here so I Google it and learn.


For example, you have received a transaction of 0.15BTC from your friend and received another transaction of 0.25BTC from other friends on a single address. Now you have 0.4BTC unspent transaction outputs on your address. And you bought something for 0.3BTC from a person. So you have to use 0.3BTC from both unspent transactions and 0.1BTC will remain on your wallet. But fortunately, you are not allowed to spent 0.3BTC from two different unspent transactions. So how will you spend it now? You don't need to worry about it. When you will send a transaction for 0.3BTC, your full amount (0.4BTC) transaction will broadcast on the blockchain. The receiver of 0.3BTC will receive the exact amount, and reaming 0.1BTC (except fee) will transfer a new address, and it's called a "change" address. Transaction fee will deduct by a miner and the remaining fund will be sent to the "change" address. Change address manages by wallet software so you do not need to bother about it.


I tried to explain it simply, there was more explanation but looks a bit complicated. Hope you get the point of changing the address and about the use of it. Technically all address belongs to you whatever on your wallet and you might use them. But during receive bitcoin, you should provide receiving address instead of a change address. Let wallet manage change address. But obviously, you will receive payment even you use the "change" address to receive bitcoin but better to avoid its use by yourself.  

For more details, you might read the below article,
1. Who Needs Bitcoin Change Addresses Anyway?  
2. Five Ways to Lose Money with Bitcoin Change Addresses


Point me if any wrong info here or if I missing something, so the post will not mislead anyone (because I am not much expert.)

 
Jump to: