Why are some addresses harder to find than others when you change only 1 characters case. For example at the vanitypool there's work for a 1bitpoin, and my computer says it will find one for it in ~10 days, but when I search for 1Bitpoin it can find it in 5 minutes...?
That seems like a large variation for changing 1 digit. Normally the max is around 50X change. Maybe 10 days down to 5 hours?
It's due to the weirdness of the encoding system.
This is probably more detail than you want
.
Your prefix gets converted into a 25 byte integer range. The first byte is the network prefix (zero for BTC). The next 20 are the hash of your key and the final 4 are the checksum.
The first byte has to be zero (to give the leading one in all bitcoin addresses). This happens automatically.
The next byte can't be zero, or your address would be 11...... Note: for prefixes of the form 11something, the calculation has to be adjusted.
So, your address must be a number with the first byte zero and 2nd byte at least 1. This means it has to be between these 2 numbers.
(Numbers are hex and _ is just a spacer every 4 bytes/8 characters)
00_FFFFFFFF_FFFFFFFF_FFFFFFFF_FFFFFFFF_FFFFFFFF_FFFFFFFF
00_01000000_00000000_00000000_00000000_00000000_00000000
Other than that, your number depends on the actual letters used. If you add an extra letter the allowed range drops by 58.
Another feature is that if a number gives the right prefix, if you multiply it by 58, it will give the same prefix (though the address will be longer).
"Bitpoin" has the following allowed ranges
Max: 00_759d92ad_aa9cbac1_7b8e094d_c5ae2dbe_ed97d9e9_5fffffff
Min: 00_759d92ad_a95fe99b_8977a9c8_b4d2895e_e5968fe0_bc000000
Max: 00_0207216c_ecdf6452_c8c03df4_197a2ced_390fdc08_6fffffff
Min: 00_0207216c_ecd9edf5_70b70757_5290df0e_e0a5e7ff_76000000The bottom range multiplied by 58 gives the top range. Both have the first byte as zero and the 2nd byte as non-zero, so they are both valid.
If you divide by bottom one by 58, the first two bytes would be zero, so it is illegal. Likewise, if you multiply the top one by 58, it would have the first byte as non-zero.
"bitpoin" has the following allowed range
Max: 00_06911d18_3fbe86a5_63524509_2534ef9a_74fdec84_6fffffff
Max: 00_06911d18_3fb91048_0b490e6c_5e4ba1bc_1c93f87b_76000000If you mutiply it by 58, it goes above the top limit and if you divide by 58, it goes below the lower limit.
According to the encoding system, "b" is worth 34 and "B" is worth 10. If you multiply the lower limit of Bitpoin by 3.4, you get bitpoin's range (since "b" is 3.4 times greater than "B").
This is the first reason that bitpoin is harder, it has only one target range.
Another reason is if the middle of a range is a larger number, the size of the range is generally larger. The Bitpoin top range is bigger than the bitpoin range, so again, Bitpoin is faster.