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)?

  • 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
    Commented Nov 4, 2013 at 15:16
  • 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?! Commented Nov 4, 2013 at 23:26
  • 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 reddit.com/r/Bitcoin/comments/1pxcif/… Commented Nov 5, 2013 at 10:23

1 Answer 1


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 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 paper. In this work, there are 2.175.621 users found, using the above methodologies.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.