<p><strong>TL;DR:</strong> You are not aware of the total number of users, but total number of transactions. In order to speculate the number of wallets (mean the number of users), you can adopt some heuristics, but that's all estimation.</p>

<p>First of all, a user can obtain multiple public keys. In order to get the number of public keys, you should firstly parse and extract the bitcoin transaction network that is publicly available. For example, in <a href="https://github.com/ivan-brugere/Bitcoin-Transaction-Network-Extraction" rel="nofollow">this</a> dataset, created on Jan 6 2013, there are 8.864.955 public keys.
That's the easy part. </p>

<p>If you wish to calculate the number of users participating in bitcoin networks, you have to adopt some heuristics, as those data are not publicly available, due to the anonymity that is offered by bitcoin.</p>

<p>The first heuristic could be:</p>

<ol>
<li><p>When a single transaction has multiple input addresses, we can assume that those addresses belong to the same wallet, thus to the same user. We should bear in mind that users do not share private keys. In fact many users may use web wallets which have pools, so those services will be treated as a single user. </p></li>
<li><p>Secondly, you can exploit the change mechanism in transactions. The entire value of unspent output should be sent back to the user as change. Bitcoin, in order to improve anonymity, produces a shadow address which collects back the change that results from any transaction. So when a single transaction has 2 outputs, you have to predict which one of the output addresses is actually belonging to the same user that initiated the transaction. If one of those two outputs has never appeared before in the blockchain, while the other has, then we can  assume that the one that never appeared before is the shadow address.</p></li>
</ol>

<p>You can read this heuristics in more detail in <a href="http://miki.it/pdf/thesis.pdf" rel="nofollow">BitIodine</a> paper. In this work, there are 2.175.621 users found, using the above methodologies.</p>

CC BY-SA 3.0
2013-11-04T17:30:01.030Z
2013-11-10T23:02:31.380Z
2013-11-10T23:02:31.380Z
istovatis
<p>How many wallets is there in existence(that are unique with bitcoins)?</p>

<p>Is there any page with statistics that can give a bigger perspective other than figuring out the data structure of the blockchain.</p>

<p>Meaning is it possible to get all the public keys for all the transactions ever made?</p>

<p>However it seems like the public keys aren't stored in the blockchain, instead it's the addresses which is a hash of the public key.</p>

<p>Am i correct that's impossible to find out the public keys of all transactions(Unless you bruteforce them which is practically impossible)?</p>

CC BY-SA 3.0
2013-11-04T14:47:39.553Z
Related: [http://bitcoin.stackexchange.com/questions/13225/at-what-point-is-a-new-wallet-known-by-the-bitcoin-network](http://bitcoin.stackexchange.com/questions/13225/at-what-point-is-a-new-wallet-known-by-the-bitcoin-network)
Murch
CC BY-SA 3.0
2013-11-04T15:16:45.740Z
Not sure, whether I understood your question correctly the first time. Do you mean to ask "How many addresses have a bitcoin balance?" or "How many wallets have a bitcoin balance?"
Murch
CC BY-SA 3.0
2013-11-04T23:26:07.753Z
One of the advantages of bitcoin, is that you can send bitcoins to an address, and the receiver public key is not logged in the blockchain. But the senders public key is. Correct me if this is wrong?!
Jonas Oestman
CC BY-SA 3.0
2013-11-05T10:23:01.873Z
This is what i wanted to say: If you spend with your private key, you leave clues in the blockchain so that if sha256 is someday broken, your coins is not safe at that address. Found the explanation here  http://www.reddit.com/r/Bitcoin/comments/1pxcif/i_just_lost_301btc_70000_on_blockchaininfo_use/cd73qx4
Jonas Oestman
<blockchain><wallet><public-key>
How many public keys is there?
Ogelami
# How many public keys is there?

(Asked by: username_0 on 2013-11-04)

How many wallets is there in existence(that are unique with bitcoins)?

Is there any page with statistics that can give a bigger perspective other than figuring out the data structure of the blockchain.

Meaning is it possible to get all the public keys for all the transactions ever made?

However it seems like the public keys aren't stored in the blockchain, instead it's the addresses which is a hash of the public key.

Am i correct that's impossible to find out the public keys of all transactions(Unless you bruteforce them which is practically impossible)?

**Tags:** blockchain, wallet, public-key

> **Comments:**
> **username_1**: Related: [http://bitcoin.stackexchange.com/questions/13225/at-what-point-is-a-new-wallet-known-by-the-bitcoin-network](http://bitcoin.stackexchange.com/questions/13225/at-what-point-is-a-new-wallet-known-by-the-bitcoin-network)  
> **username_1**: Not sure, whether I understood your question correctly the first time. Do you mean to ask "How many addresses have a bitcoin balance?" or "How many wallets have a bitcoin balance?"  
> **username_2**: One of the advantages of bitcoin, is that you can send bitcoins to an address, and the receiver public key is not logged in the blockchain. But the senders public key is. Correct me if this is wrong?!  
> **username_2**: This is what i wanted to say: If you spend with your private key, you leave clues in the blockchain so that if sha256 is someday broken, your coins is not safe at that address. Found the explanation here  http://www.reddit.com/r/Bitcoin/comments/1pxcif/i_just_lost_301btc_70000_on_blockchaininfo_use/cd73qx4  

---

## 1 answers

### Answer by username_3 on 2013-11-04. Score: 4

**TL;DR:** You are not aware of the total number of users, but total number of transactions. In order to speculate the number of wallets (mean the number of users), you can adopt some heuristics, but that's all estimation.

First of all, a user can obtain multiple public keys. In order to get the number of public keys, you should firstly parse and extract the bitcoin transaction network that is publicly available. For example, in [this](https://github.com/ivan-brugere/Bitcoin-Transaction-Network-Extraction) dataset, created on Jan 6 2013, there are 8.864.955 public keys.
That's the easy part.

If you wish to calculate the number of users participating in bitcoin networks, you have to adopt some heuristics, as those data are not publicly available, due to the anonymity that is offered by bitcoin.

The first heuristic could be:

1. When a single transaction has multiple input addresses, we can assume that those addresses belong to the same wallet, thus to the same user. We should bear in mind that users do not share private keys. In fact many users may use web wallets which have pools, so those services will be treated as a single user.
2. Secondly, you can exploit the change mechanism in transactions. The entire value of unspent output should be sent back to the user as change. Bitcoin, in order to improve anonymity, produces a shadow address which collects back the change that results from any transaction. So when a single transaction has 2 outputs, you have to predict which one of the output addresses is actually belonging to the same user that initiated the transaction. If one of those two outputs has never appeared before in the blockchain, while the other has, then we can assume that the one that never appeared before is the shadow address.

You can read this heuristics in more detail in [BitIodine](http://miki.it/pdf/thesis.pdf) paper. In this work, there are 2.175.621 users found, using the above methodologies.


---

