Author

Topic: How difficult is it to generate a half same bitcoin address? (Read 1753 times)

legendary
Activity: 930
Merit: 1010
full member
Activity: 140
Merit: 100
I have a feeling that OP believes that when you generate an address that half of it is similar to another address that numerically(private keys) you are getting closer to the an existing address. But this is not the case.

Sorry but I don't quite understand what you mean by numerically(private keys). We never show our private keys to anyone right?

I mean that "half same" only in public key, and if it's darn impossible for a today's normal pc to run years to acheive the result.
legendary
Activity: 1862
Merit: 1011
Reverse engineer from time to time
I have a feeling that OP believes that when you generate an address that half of it is similar to another address that numerically(private keys) you are getting closer to the an existing address. But this is not the case.
sr. member
Activity: 462
Merit: 250
Firing it up
During the power form of the basic curve function, also must fulfill conditions defined. It will be very difficult to get the same.

I think, you will need to test the exponential to try.
legendary
Activity: 1260
Merit: 1019
deepceleron, thanks for comment
legendary
Activity: 1512
Merit: 1036
Elementary probability theory.

Each position has 1/58 probability to be the desired symbol.

Quote
Each position has 1/58 probability to be the desired symbol.

Note: this is not exact correct.
This slightly changes the answer.


If by "not exact correct", you mean potentially orders of magnitudes off (by not understanding how Bitcoin addresses are encoded), than you are correct.

The chance the second digit is "A" is about 1/22. The probability the same position is "1" is 1/256; for it to be "z", 1/1353.

The probability that the 34th digit doesn't exist is about 1/41.

The probability that positions 1-20 are all "1"s is 0.
 
legendary
Activity: 1260
Merit: 1019
Quote
Each position has 1/58 probability to be the desired symbol.

Note: this is not exact correct.
This slightly changes the answer.
full member
Activity: 140
Merit: 100
I heard that there are some tools to generate bitcoin address with predefined patterns.

If I have a key pair with public address like this: 1abcdefghijklmn....

Any one know roughly how hard is it for someone to generate a key pair with pubkey like this: 1axcxexfxhxjxlxn..., where x means any letter or number?
I think it should be pretty hard, but don't know exactly how hard it is.

Maybe its a weird question. I'm just very curious... Thought maybe some tech guru here knows the answer.

Thanks in advance!

An alternative approach.

It is believed that there are roughly 2^160 different possible Bitcoin addresses (RIPEMD-160).  If you want to specify half of the address, you must generate roughly 2^80 different random addresses for a reasonable chance of finding one (probability about e-1).  Assuming for simplicity that all hash types are the same, this is approximately the total work done by the Bitcoin network to date (the total work in the main chain up to block 326696 is 281.2 hashes to 3.s.f).

So to make such an address, you'd probably have to compute as many hashes as all Bitcoin miners have ever computed.  That's about one hash for every atom in a 1kg gold bar.

Wow, that's an great explanation!
So, the difficulty level is even beyond what my expected.
Thanks teukon!
legendary
Activity: 1246
Merit: 1011
I heard that there are some tools to generate bitcoin address with predefined patterns.

If I have a key pair with public address like this: 1abcdefghijklmn....

Any one know roughly how hard is it for someone to generate a key pair with pubkey like this: 1axcxexfxhxjxlxn..., where x means any letter or number?
I think it should be pretty hard, but don't know exactly how hard it is.

Maybe its a weird question. I'm just very curious... Thought maybe some tech guru here knows the answer.

Thanks in advance!

An alternative approach.

It is believed that there are roughly 2^160 different possible Bitcoin addresses (RIPEMD-160).  If you want to specify half of the address, you must generate roughly 2^80 different random addresses for a reasonable chance of finding one (probability about e-1).  Assuming for simplicity that all hash types are the same, this is approximately the total work done by the Bitcoin network to date (the total work in the main chain up to block 326696 is 281.2 hashes to 3.s.f).

So to make such an address, you'd probably have to compute as many hashes as all Bitcoin miners have ever computed.  That's about one hash for every atom in a 1kg gold bar.
legendary
Activity: 1022
Merit: 1008
Delusional crypto obsessionist
FYI, the tool is called vanitygen.

Code:
findftp@mint16 ~/Downloads/vanitygen-master $ ./vanitygen 1abcdefg
Difficulty: 51529903411245
[195.63 Kkey/s][total 16791552][Prob 0.0%][50% in 5.8y]
Code:
findftp@mint16 ~/Downloads/vanitygen-master $ ./vanitygen 1abcdef
Difficulty: 888446610538
[221.12 Kkey/s][total 1468160][Prob 0.0%][50% in 32.2d]

So just a "simple" prefix takes a long time on a intel xeon w3505

edit: must say I run this linux on software vmware.


Thanks, findftp!
I'll play around with that vanitygen. Seems a great tool, cheers!  Cheesy Cheesy

FYI, if I do the same abcdefg case insensitive, it goes much faster because then 1Abcdefg and 1ABcdefg and 1aBcdefg ... etc is also valid.
I don't  really know about the math behind it. It'll probably be a smaller base number to calculate with.
Code:
findftp@mint16 ~/Downloads/vanitygen-master $ ./vanitygen -i 1abcdefg
Difficulty: 13419245680
[240.02 Kkey/s][total 1666560][Prob 0.0%][50% in 10.8h]
full member
Activity: 140
Merit: 100
Elementary probability theory.

Each position has 1/58 probability to be the desired symbol.
So if you fix let say 3 positions the probability to find a matching pattern would be   (1/58)*(1/58)*(1/58)
It is independent of the position you fix in the address. 1ace....xxxx is as difficult as 1axcxex.......

The possibility vanishes very quick as a power of n(positions you fix)

 

Thanks @qdoop!
That's a quick and concise answer!
FYI, the tool is called vanitygen.

Code:
findftp@mint16 ~/Downloads/vanitygen-master $ ./vanitygen 1abcdefg
Difficulty: 51529903411245
[195.63 Kkey/s][total 16791552][Prob 0.0%][50% in 5.8y]
Code:
findftp@mint16 ~/Downloads/vanitygen-master $ ./vanitygen 1abcdef
Difficulty: 888446610538
[221.12 Kkey/s][total 1468160][Prob 0.0%][50% in 32.2d]

So just a "simple" prefix takes a long time on a intel xeon w3505

edit: must say I run this linux on software vmware.


Thanks, findftp!
I'll play around with that vanitygen. Seems a great tool, cheers!  Cheesy Cheesy
legendary
Activity: 1022
Merit: 1008
Delusional crypto obsessionist
Elementary probability theory.

Each position has 1/58 probability to be the desired symbol.
So if you fix let say 3 positions the probability to find a matching pattern would be   (1/58)*(1/58)*(1/58)
It is independent of the position you fix in the address. 1ace....xxxx is as difficult as 1axcxex.......

The possibility vanishes very quick as a power of n(positions you fix)

 

Thanks @qdoop!
That's a quick and concise answer!
FYI, the tool is called vanitygen.

Code:
findftp@mint16 ~/Downloads/vanitygen-master $ ./vanitygen 1abcdefg
Difficulty: 51529903411245
[195.63 Kkey/s][total 16791552][Prob 0.0%][50% in 5.8y]
Code:
findftp@mint16 ~/Downloads/vanitygen-master $ ./vanitygen 1abcdef
Difficulty: 888446610538
[221.12 Kkey/s][total 1468160][Prob 0.0%][50% in 32.2d]

So just a "simple" prefix takes a long time on a intel xeon w3505

edit: must say I run this linux on software vmware.
full member
Activity: 140
Merit: 100
Elementary probability theory.

Each position has 1/58 probability to be the desired symbol.
So if you fix let say 3 positions the probability to find a matching pattern would be   (1/58)*(1/58)*(1/58)
It is independent of the position you fix in the address. 1ace....xxxx is as difficult as 1axcxex.......

The possibility vanishes very quick as a power of n(positions you fix)

 

Thanks @qdoop!
That's a quick and concise answer!
member
Activity: 119
Merit: 112
_copy_improve_
Elementary probability theory.

Each position has 1/58 probability to be the desired symbol.
So if you fix let say 3 positions the probability to find a matching pattern would be   (1/58)*(1/58)*(1/58)
It is independent of the position you fix in the address. 1ace....xxxx is as difficult as 1axcxex.......

The possibility vanishes very quick as a power of n(positions you fix)

 
full member
Activity: 140
Merit: 100
I heard that there are some tools to generate bitcoin address with predefined patterns.

If I have a key pair with public address like this: 1abcdefghijklmn....

Any one know roughly how hard is it for someone to generate a key pair with pubkey like this: 1axcxexfxhxjxlxn..., where x means any letter or number?
I think it should be pretty hard, but don't know exactly how hard it is.

Maybe its a weird question. I'm just very curious... Thought maybe some tech guru here knows the answer.

Thanks in advance!
Jump to: