<p>I would say before we are dealing thousands of microtransactions per day, which I still consider to be far off, is the idea of people and corporations using vanity addresses. Let's just say that I want all my addresses to start with Mark (or as close to mark as possible, e.g. for bitcoin would be 1mark and for litecoin would be Lmark and so on). </p>

<p>Since there is no way to start with an address including, say 1mark, and reverse to find the private key (an assumption on which mining, password hashing, and many other security protocols are based on); I will have to do the inverse: generate a random private key, create a public key, and check if this public key meets my criteria. If the address I generated starts with 1mark then I will add it to my wallet, otherwise I will throw out this private key and try again until I find my address.</p>

<p>Bitcoin and it's derivatives do not allow certain characters in public keys as to avoid confusion. I believe these restricted characters are: number 0 and capital O, number 1 and lowercase l (except for the first character in a coin address). This means that I have 58 usable characters (26 UPPERCASE letters + 26 lowercase letters + 10 numbers - 4 unusable characters in these sets). I do not believe there are more but someone please correct me if I am wrong :)</p>

<p>If there are 58 usable characters for an address, and let's say I am very concerned about the capitalization of my name (i.e. it needs to be 1mark, not 1MaRK or any other permutation with capitalization), the average amount of addresses I will need to generate to find an address begining in 1mark would be 58^4, or 11,316,496. If I didn't care about the capitalizataion of my name it could be as low as 707,281 addresses generated to find an address which begins with my name. That being said, I have a pretty short name, someone name Satoshi will need many more hashes to get his name as a vanity address.</p>

<p>If the water company is using vanity addresses as well, (e.g. 1water) to help their customers differentiate their charges or for any other reason, this increases by the amount of vanity addresses they use per day.</p>

<p>I would use a vanity address generator (see disclaimer) to do this currently, I imagine it will likely built in to standard wallet software at some point, since it is a nice novel feature and allows for more custom firstbits (short identifiers for bitcoin addresses, more information on firstbits can be found here <a href="https://en.bitcoin.it/wiki/Firstbits" rel="nofollow">https://en.bitcoin.it/wiki/Firstbits</a> ).</p>

<p>Disclaimer: be careful how you generate a vanity address, currently the best method is to use VanityGen (more info here: <a href="https://en.bitcoin.it/wiki/Vanitygen" rel="nofollow">https://en.bitcoin.it/wiki/Vanitygen</a> ). Please read up on the possible issues with a vanity address generator and make sure to do so securely if you intend to use a vanity address to save any significant amount of coins (e.g. make sure that the developer can not get access to your private key during or after creation, by running vanitygen on a live usb without connecting to the internet).</p>

CC BY-SA 3.0
2014-03-31T19:58:31.030Z
Thanks, I did not intend to replace your answer, which is very good and to the point, but I wanted to chime in about vanity addresses (with explanation), which did not fit in a comment :)
Mark
CC BY-SA 3.0
2014-04-01T10:40:51.803Z
Very interesting points, however if the private keys for the misses on vanity address generation are discarded, the number of addresses in use is actually no greater than if they just used a random address. The chances of getting a hash collision with a vanity address might be greater though. If all tries were retained, I could see how that would cause a huge number of addresses being used everyday.
Murch
CC BY-SA 3.0
2014-03-31T18:56:56.247Z
2014-03-31T18:56:56.247Z
Mark
<p>Generally speaking, the address space of Bitcoin seems to be sufficiently large to make it unlikely that a hash collision will ever occur (see below).<br>
Pacerier stated in a comment on <a href="https://bitcoin.stackexchange.com/q/22/5406">Is it possible to brute force bitcoin address creation in order to steal money?</a> that we'd "want Bitcoin to scale to [...] 10b people, each generating 10k different addresses a day, that's 100 trillion addresses created daily." He followed up with "10k may be a severe <em>underestimation</em>".</p>

<p>100 trillion is 10^14, so if we kept up that pace, we'd have used one address per satoshi after <strong>21 days</strong>. I am confused as to what might be the reasons for users to need 10k addresses per day.</p>

<p>Please explain: Why does it seem likely that we will need such a large number of new addresses each day? In what scenario would each user in average need 10k new addresses per day?</p>

<hr>

<p>Total number of satoshis:<br>
<img src="https://i.sstatic.net/3wCb0.gif" alt="Total number of satoshis"></p>

<p>At one address for each satoshi that could be ever in existence <code>(2.1*10^15)</code>, with the giant address space of <code>2^160</code> possible addresses, the <a href="https://en.wikipedia.org/wiki/Birthday_attack#Simple_approximation" rel="nofollow noreferrer">simple approximation of the Birthday paradoxon</a>, which works well for probabilities less than or equal to 0.5...</p>

<p><img src="https://i.sstatic.net/XbXji.gif" alt="enter image description here"></p>

<p>... tells us that the chance of single hash collision occurring is still pretty small: 1.508*10^(-18).</p>

CC BY-SA 3.0
2014-03-31T20:30:40.927Z
I see an issue with using satoshis as a limiting factor in future hypotheticals. It's been suggested that if it were [ever deemed useful/necessary](http://bitcoin.stackexchange.com/a/117/12034), the satoshi could easily be split further. (although by that point, hypothetically, we might've moved to longer addresses to avoid just this problem)
Tim S.
<address><scalability>
Why would we ever need 10k new addresses in average per day?
Murch
# Why would we ever need 10k new addresses in average per day?

(Asked by: username_0 on 2014-03-29)

Generally speaking, the address space of Bitcoin seems to be sufficiently large to make it unlikely that a hash collision will ever occur (see below).  
Pacerier stated in a comment on [Is it possible to brute force bitcoin address creation in order to steal money?](https://bitcoin.stackexchange.com/q/22/5406) that we'd "want Bitcoin to scale to [...] 10b people, each generating 10k different addresses a day, that's 100 trillion addresses created daily." He followed up with "10k may be a severe *underestimation*".

100 trillion is 10^14, so if we kept up that pace, we'd have used one address per satoshi after **21 days**. I am confused as to what might be the reasons for users to need 10k addresses per day.

Please explain: Why does it seem likely that we will need such a large number of new addresses each day? In what scenario would each user in average need 10k new addresses per day?

---

Total number of satoshis:  
![Total number of satoshis](https://i.sstatic.net/3wCb0.gif)

At one address for each satoshi that could be ever in existence `(2.1*10^15)`, with the giant address space of `2^160` possible addresses, the [simple approximation of the Birthday paradoxon](https://en.wikipedia.org/wiki/Birthday_attack#Simple_approximation), which works well for probabilities less than or equal to 0.5...

![enter image description here](https://i.sstatic.net/XbXji.gif)

... tells us that the chance of single hash collision occurring is still pretty small: 1.508\*10^(-18).

**Tags:** address, scalability

> **Comments:**
> **username_1**: I see an issue with using satoshis as a limiting factor in future hypotheticals. It's been suggested that if it were [ever deemed useful/necessary](http://bitcoin.stackexchange.com/a/117/12034), the satoshi could easily be split further. (although by that point, hypothetically, we might've moved to longer addresses to avoid just this problem)  

---

## 1 answers

### Answer by username_2 on 2014-03-31. Score: 3

I would say before we are dealing thousands of microtransactions per day, which I still consider to be far off, is the idea of people and corporations using vanity addresses. Let's just say that I want all my addresses to start with Mark (or as close to mark as possible, e.g. for bitcoin would be 1mark and for litecoin would be Lmark and so on).

Since there is no way to start with an address including, say 1mark, and reverse to find the private key (an assumption on which mining, password hashing, and many other security protocols are based on); I will have to do the inverse: generate a random private key, create a public key, and check if this public key meets my criteria. If the address I generated starts with 1mark then I will add it to my wallet, otherwise I will throw out this private key and try again until I find my address.

Bitcoin and it's derivatives do not allow certain characters in public keys as to avoid confusion. I believe these restricted characters are: number 0 and capital O, number 1 and lowercase l (except for the first character in a coin address). This means that I have 58 usable characters (26 UPPERCASE letters + 26 lowercase letters + 10 numbers - 4 unusable characters in these sets). I do not believe there are more but someone please correct me if I am wrong :)

If there are 58 usable characters for an address, and let's say I am very concerned about the capitalization of my name (i.e. it needs to be 1mark, not 1MaRK or any other permutation with capitalization), the average amount of addresses I will need to generate to find an address begining in 1mark would be 58^4, or 11,316,496. If I didn't care about the capitalizataion of my name it could be as low as 707,281 addresses generated to find an address which begins with my name. That being said, I have a pretty short name, someone name Satoshi will need many more hashes to get his name as a vanity address.

If the water company is using vanity addresses as well, (e.g. 1water) to help their customers differentiate their charges or for any other reason, this increases by the amount of vanity addresses they use per day.

I would use a vanity address generator (see disclaimer) to do this currently, I imagine it will likely built in to standard wallet software at some point, since it is a nice novel feature and allows for more custom firstbits (short identifiers for bitcoin addresses, more information on firstbits can be found here <https://en.bitcoin.it/wiki/Firstbits> ).

Disclaimer: be careful how you generate a vanity address, currently the best method is to use VanityGen (more info here: <https://en.bitcoin.it/wiki/Vanitygen> ). Please read up on the possible issues with a vanity address generator and make sure to do so securely if you intend to use a vanity address to save any significant amount of coins (e.g. make sure that the developer can not get access to your private key during or after creation, by running vanitygen on a live usb without connecting to the internet).

> **Comments:**
> **username_2**: Thanks, I did not intend to replace your answer, which is very good and to the point, but I wanted to chime in about vanity addresses (with explanation), which did not fit in a comment :)  
> **username_0**: Very interesting points, however if the private keys for the misses on vanity address generation are discarded, the number of addresses in use is actually no greater than if they just used a random address. The chances of getting a hash collision with a vanity address might be greater though. If all tries were retained, I could see how that would cause a huge number of addresses being used everyday.  

---

