the addresses are they really random or say that we could find an address of the type "11111" every X private key?
Are Bitcoin addresses random? You tell me:
The private key is huge random number.
The public key is therefore basically a random point on a huge elliptic curve.
The public key is then hashed, this creates a random number based on the random point on the curve.
The result of the hash is then hashed again, creating a random number based on the first hash.
The result is then hashed again creating a random number based on the result of the second hash.
Finally the result of the third hash is encoded into an ASCII string starting with 1 or 3.
Do you see now?
You can search for "vanity address generation" here on the forums.
Vanity address generation:
Let's say I want to find a Bitcoin address that looks like this "1BurtWxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
1 Generate a random private key
2 Calculate the public key
3 Hash the result of step 2
4 Hash the result of step 3
5 Hash the result of step 4
6 Encode the result of step 5 as a Bitcoin address
7 Compare the first 6 characters to "1BurtW"
8 If the strings do not match go to step 1
Else you have found one of the almost infinite number of private keys that happen
by chance to have "1BurtW" as the first 6 characters of the Bitcoin address.
I did this years ago.
Here is the result:
1BurtWEejbnKeBRsvcydJvsNztB1bXV5iQNOTICE that I have the private key and the Bitcoin Address so this is a valid Bitcoin Address and I have the private key so any Bitcoins sent to this address are "mine" in the sense that I can spend them - since
I know the private key.
Here is another possibility:
1 START with the ASCII string you want, for example 1BitcoinEaterAddressDontSend
2 Calculate the proper checksum f59kuE
3 Add it to the end and you get 1BitcoinEaterAddressDontSendf59kuE
Notice that this is a valid Bitcoin address in that you can send Bitcoins to it and people have, to the tune of 13.1251233 BTC (!)
https://blockchain.info/address/1BitcoinEaterAddressDontSendf59kuEHowever, in this case, the private key is not know, for all practical purposes it is impossible to find the private key, the private key will never be found so these 13.1251233 BTC are lost forever.
Back in the old days when it did not cost anything to do a transaction and Bitcoins were only worth a couple of dollars each I actually placed one of my favorite poems into the blockchain, there to reside forever.
Here it is:
11When1DieBuryMeDeepLayTwoXVEY5jv - (Unspent) 0.00000001 BTC
11SpeakersAtMyFeetAPairofXXTyrHor - (Unspent) 0.00000001 BTC
11HeadphonesonMyHeadAndXXXXYUSvnd - (Unspent) 0.00000001 BTC
11ALwaysPLayTheGratefuLDeadWdq4Xo - (Unspent) 0.00000001 BTC
As noted above the private keys for these addresses cannot be found, ever, so these 0.00000004 BTC are lost forever.
Two more interesting points:
1) If you take any Bitcoin address, for example 1BitcoinEaterAddressDontSendf59kuE then, by design, there is not just one possible private key that will give you this exact Bitcoin address. There are approximately 2
96 = 79,228,162,514,264,337,593,543,950,336 different private keys that will give you this exact Bitcoin address! Even though there are that many different private keys that would allow you to own and spend the 13.1251233 BTC at that address it is, for all practical purposes,
impossible to find even one of them!
Blows the mind, right?
2) Very long vanity addresses have been found.
Here are the records. Note that the private keys for these addresses are known by the owners because they were found, by chance, by generating trillions of random valid private keys and then checking the Bitcoin addresses calculated from the private keys.