<blockquote>
  <p>How about multibit or electrum? Do they also use a key pool?</p>
</blockquote>

<p>Electrum is deterministic and addresses are derived from your seed. Each time you need a new address, Electrum calculates it and shows it in the client.</p>

<p>Being deterministic lets Electrum <strong>recover your entire wallet addresses from your seed</strong>, so you don't need to backup your wallet file every time you make a transaction.</p>

CC BY-SA 3.0
2013-10-26T11:08:16.733Z
2013-10-26T13:01:49.673Z
2013-10-26T13:01:49.673Z
rdymac
<p><em>Bitcoin-QT with standard settings will keep 100 unused addresses in your wallet at all times. The goal is that backups will be future proof to some extent.</em></p>

<h2>A key pool allows to create backups in bigger intervals</h2>

<p>Every time you create a transaction, the remainder of the input balance is sent to a new address in your own wallet. If addresses were generated only then, you would have to create a new backup after each transaction, or be at risk to lose any funds associated with that new address if your wallet got lost. By keeping a pool of unused addresses in store, your backup will be sufficient for the next 100 transactions before you will be at risk of losing something. </p>

<p>To create a bigger key pool, with e.g. 10000 keys, the client can be started with the parameter <code>-keypool=10000</code>.</p>

<p>I don't have intimate knowledge of either multibit or electrum, but suspect that they keep a key pool for the exact same reason.</p>

<h2>One vs. many addresses</h2>

<p>Using <strong>many addresses</strong>, i.e. a new address for each transaction,</p>

<ul>
<li>increases your privacy by making it harder to determine that your different transactions belong to the same person. </li>
<li>obfuscate which part of your transaction went to the recipient and which was the change. </li>
<li>create <em>plausible deniability</em> as sending funds to yourself looks the same as sending to another user. </li>
<li>By giving out a new address for each incoming payment, it is easier associate payments to specific senders. <em>Say, you go out with a three business partners and each ends up owing you 0.10 BTC. How would you know who paid already, if you only received two payments to the same address?</em></li>
</ul>

<p>Using only <strong>one address</strong> </p>

<ul>
<li>allows your backup to last forever</li>
<li>reduces the overhead if people send funds to you more than once.</li>
<li>Your privacy, and the privacy of your business partners might be reduced.</li>
</ul>

CC BY-SA 3.0
2013-10-25T14:01:51.790Z
2013-10-25T14:28:46.533Z
2013-10-25T14:28:46.533Z
Murch
<p>From my understanding, bitcoind/bitcoin-qt uses a key pool for their wallet, so when you create a wallet you are actually creating not just one but many addresses for sending/receiving transactions. </p>

<p>How about multibit or electrum? Do they also use a key pool? What are the advantages and disadvantages of using a key pool vs. using a single address for the wallet?</p>

CC BY-SA 3.0
2013-10-25T14:02:10.213Z
related question: http://bitcoin.stackexchange.com/q/8825/5406
Murch
<wallet><bitcoin-core><multibit><electrum><keypool>
Key pool in wallet softwares
k kurokawa
# Key pool in wallet softwares

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

From my understanding, bitcoind/bitcoin-qt uses a key pool for their wallet, so when you create a wallet you are actually creating not just one but many addresses for sending/receiving transactions.

How about multibit or electrum? Do they also use a key pool? What are the advantages and disadvantages of using a key pool vs. using a single address for the wallet?

**Tags:** wallet, bitcoin-core, multibit, electrum, keypool

> **Comments:**
> **username_1**: related question: http://bitcoin.stackexchange.com/q/8825/5406  

---

## 2 answers

### Answer by username_2 on 2013-10-26. Score: 3

> How about multibit or electrum? Do they also use a key pool?

Electrum is deterministic and addresses are derived from your seed. Each time you need a new address, Electrum calculates it and shows it in the client.

Being deterministic lets Electrum **recover your entire wallet addresses from your seed**, so you don't need to backup your wallet file every time you make a transaction.


---

### Answer by username_1 on 2013-10-25. Score: 3

*Bitcoin-QT with standard settings will keep 100 unused addresses in your wallet at all times. The goal is that backups will be future proof to some extent.*

## A key pool allows to create backups in bigger intervals

Every time you create a transaction, the remainder of the input balance is sent to a new address in your own wallet. If addresses were generated only then, you would have to create a new backup after each transaction, or be at risk to lose any funds associated with that new address if your wallet got lost. By keeping a pool of unused addresses in store, your backup will be sufficient for the next 100 transactions before you will be at risk of losing something.

To create a bigger key pool, with e.g. 10000 keys, the client can be started with the parameter `-keypool=10000`.

I don't have intimate knowledge of either multibit or electrum, but suspect that they keep a key pool for the exact same reason.

## One vs. many addresses

Using **many addresses**, i.e. a new address for each transaction,

* increases your privacy by making it harder to determine that your different transactions belong to the same person.
* obfuscate which part of your transaction went to the recipient and which was the change.
* create *plausible deniability* as sending funds to yourself looks the same as sending to another user.
* By giving out a new address for each incoming payment, it is easier associate payments to specific senders. *Say, you go out with a three business partners and each ends up owing you 0.10 BTC. How would you know who paid already, if you only received two payments to the same address?*

Using only **one address**

* allows your backup to last forever
* reduces the overhead if people send funds to you more than once.
* Your privacy, and the privacy of your business partners might be reduced.


---

