<p>Well, you don't really want one private key per wallet, you want one private key per transaction (and this is what the default client does anyway).</p>

<p>But you may want to have more than one wallet, because otherwise you might be mixing "accounts" that you want to keep separate: If a single transaction output is not enough for a given payment, the default client will use multiple, and that way your otherwise unrelated "accounts" become connected.</p>

CC BY-SA 3.0
2013-06-15T15:07:06.090Z
2013-06-15T15:07:06.090Z
Thilo
<p>If you only have one key, you lose your pseudonimity, since you would be using the same key over and over.</p>

<p>The correct approach for normal transactions is to use a new key for every incoming transaction, and the client should automatically chose which keys are better to use for outgoing ones.</p>

CC BY-SA 3.0
2013-06-15T10:35:32.197Z
Not just your pseudonymity (and thus privacy) -- everyone's. Bitcoin's privacy relies on untraceability of transactions across addresses. Reusing adresses makes this significantly easier.
Pieter Wuille
CC BY-SA 3.0
2013-06-15T10:42:42.227Z
Does this apply to private keys as well, or only public keys?
hasen
CC BY-SA 3.0
2013-06-15T11:02:15.473Z
@hasenj I think you are a bit confused, since this question doesn't make much sense. A public key is derived from a private key. Public key is used to receive, private key to send.
o0'.
CC BY-SA 3.0
2013-06-15T11:33:37.377Z
I was under the impression that many public keys can be derived from one private key
hasen
CC BY-SA 3.0
2013-06-15T11:46:18.783Z
@hasenj oh, I see. That's not the case: every private key generates a single public key.
o0'.
CC BY-SA 3.0
2013-06-15T08:59:33.293Z
2013-06-15T08:59:33.293Z
o0'.
<p>Suppose I was to design a bitcoin client that supports the ability to have multiple wallets (i.e. multiple users).</p>

<p>Is it safe to assume that each wallet is identified by one private key?</p>

<p>Is there a disadvantage (from a privacy/anonymity aspect) to having only one private key per wallet?</p>

<p>Are there any advantages to having more than one private key per wallet? If so, what are they?</p>

<p><strong>EDIT</strong></p>

<p>I was under the impression that a private key can generate many many public keys, that's why I asked the question. Given that a private key will only generate one public key, the question becomes meaningless and it becomes obvious that each account should have lots of private keys (without limit).</p>

<wallet><client><private-key>
Are there advantages to having more than one private key per wallet?
hasen
# Are there advantages to having more than one private key per wallet?

(Asked by: username_0 on 2013-06-15)

Suppose I was to design a bitcoin client that supports the ability to have multiple wallets (i.e. multiple users).

Is it safe to assume that each wallet is identified by one private key?

Is there a disadvantage (from a privacy/anonymity aspect) to having only one private key per wallet?

Are there any advantages to having more than one private key per wallet? If so, what are they?

**EDIT**

I was under the impression that a private key can generate many many public keys, that's why I asked the question. Given that a private key will only generate one public key, the question becomes meaningless and it becomes obvious that each account should have lots of private keys (without limit).

**Tags:** wallet, client, private-key


---

## 2 answers

### Answer by username_1 on 2013-06-15. Score: 2

Well, you don't really want one private key per wallet, you want one private key per transaction (and this is what the default client does anyway).

But you may want to have more than one wallet, because otherwise you might be mixing "accounts" that you want to keep separate: If a single transaction output is not enough for a given payment, the default client will use multiple, and that way your otherwise unrelated "accounts" become connected.


---

### Answer by username_2 on 2013-06-15. Score: 1

If you only have one key, you lose your pseudonimity, since you would be using the same key over and over.

The correct approach for normal transactions is to use a new key for every incoming transaction, and the client should automatically chose which keys are better to use for outgoing ones.

> **Comments:**
> **username_3**: Not just your pseudonymity (and thus privacy) -- everyone's. Bitcoin's privacy relies on untraceability of transactions across addresses. Reusing adresses makes this significantly easier.  
> **username_0**: Does this apply to private keys as well, or only public keys?  
> **username_2**: @username_0j I think you are a bit confused, since this question doesn't make much sense. A public key is derived from a private key. Public key is used to receive, private key to send.  
> **username_0**: I was under the impression that many public keys can be derived from one private key  
> **username_2**: @username_0j oh, I see. That's not the case: every private key generates a single public key.  

---

