<p>This is done so as to ensure you have all of your keys backed up. BitcoinQT uses a new address for each transaction - taking them from the pool of unused addresses. However, as there is a pool of those addresses always kept in the file, even if you back it up every 100 transactions, you can still recover all of your money. If you would only be keeping the addresses you use and geenrate new ones on the fly, you would need to back them up each time you send coins.</p>

<p>The main client does not reuse the same addresses to increase your privacy - one would not be able to tell who you would be sending money to, and which address you would own. It's privacy by default, rather than on demand.</p>

CC BY-SA 3.0
2013-02-25T13:19:43.060Z
Thanks, I understand why it is not generating new addresses on the fly. But why it uses new address for each transaction? Why not just use one "main" address?
Regent
CC BY-SA 3.0
2013-02-25T13:34:54.863Z
To obfuscate your balance - when sending a transaction the remaining balance will be sent to a new address, thus not showing everyone that you have X bitcoins in one address. This allows for higher anonymity.
ThePiachu
CC BY-SA 3.0
2013-02-26T08:00:01.480Z
You aren't forced to obtain a new address for each transactions but in most instances without doing that there would be no way to tell who made the payment.  For things like donations where you don't care who paid, using a static bitcoin address works fine.
Stephen Gornick
CC BY-SA 3.0
2013-02-25T13:03:51.567Z
2013-02-25T13:03:51.567Z
ThePiachu
<p>As I found out from <a href="https://bitcoin.stackexchange.com/questions/5487/once-a-wallet-file-is-initially-created-does-the-reference-client-generate-addi">this</a> question default wallet contains 100 private keys but only makes one visible.</p>

<p>But what I don't understand is why Bitcoin using those "hidden" addresses? I've been using my main address ABCDE and after some point I've noticed that my balance is spread on different private addresses which I can see in "Receive coins" tab. Why couldn't it just use my main address?</p>

<wallet><address><bitcoin-core>
Why does Bitcoin-Qt use hidden private addresses?
Regent
# Why does Bitcoin-Qt use hidden private addresses?

(Asked by: username_0 on 2013-02-25)

As I found out from [this](https://bitcoin.stackexchange.com/questions/5487/once-a-wallet-file-is-initially-created-does-the-reference-client-generate-addi) question default wallet contains 100 private keys but only makes one visible.

But what I don't understand is why Bitcoin using those "hidden" addresses? I've been using my main address ABCDE and after some point I've noticed that my balance is spread on different private addresses which I can see in "Receive coins" tab. Why couldn't it just use my main address?

**Tags:** wallet, address, bitcoin-core


---

## 1 answers

### Answer by username_1 on 2013-02-25. Score: 5 | Accepted answer

This is done so as to ensure you have all of your keys backed up. BitcoinQT uses a new address for each transaction - taking them from the pool of unused addresses. However, as there is a pool of those addresses always kept in the file, even if you back it up every 100 transactions, you can still recover all of your money. If you would only be keeping the addresses you use and geenrate new ones on the fly, you would need to back them up each time you send coins.

The main client does not reuse the same addresses to increase your privacy - one would not be able to tell who you would be sending money to, and which address you would own. It's privacy by default, rather than on demand.

> **Comments:**
> **username_0**: Thanks, I understand why it is not generating new addresses on the fly. But why it uses new address for each transaction? Why not just use one "main" address?  
> **username_1**: To obfuscate your balance - when sending a transaction the remaining balance will be sent to a new address, thus not showing everyone that you have X bitcoins in one address. This allows for higher anonymity.  
> **username_2**: You aren't forced to obtain a new address for each transactions but in most instances without doing that there would be no way to tell who made the payment.  For things like donations where you don't care who paid, using a static bitcoin address works fine.  

---

