Author

Topic: Vanitygen: Vanity bitcoin address generator/miner [v0.22] - page 157. (Read 1153383 times)

hero member
Activity: 560
Merit: 501
here is no private key for this address!
So any money sent to it is lost. You need to search the chain for address that have spends to be sure there is a private key.

You can make any string of characters an address just by working out the checksum on the end (and adding a 1 to the start). That is why this has f59kuE at the end.
Yes, that is possible, but the more plausible explanation in this case is that there is no key because the user who generated the address hasn't spent any coins from it yet. 
.........
hero member
Activity: 807
Merit: 500
here is no private key for this address!
So any money sent to it is lost. You need to search the chain for address that have spends to be sure there is a private key.

You can make any string of characters an address just by working out the checksum on the end (and adding a 1 to the start). That is why this has f59kuE at the end.
Yes, that is possible, but the more plausible explanation in this case is that there is no key because the user who generated the address hasn't spent any coins from it yet. 
sr. member
Activity: 438
Merit: 291
I saw this one - http://www.blockchain.info/fb/1Bitcoin (the web site is dowwn for maintenance now).

There is no private key for this address!
So any money sent to it is lost. You need to search the chain for address that have spends to be sure there is a private key.

You can make any string of characters an address just by working out the checksum on the end (and adding a 1 to the start). That is why this has f59kuE at the end.
legendary
Activity: 916
Merit: 1003
I get the same output with

Code:
oclvanitygen.exe -d 0 -i 1Test

He's not the only one with the issue.

Here's my (working) command line on Windows:

oclvanitygen.exe -d0 "1abcd"
hero member
Activity: 807
Merit: 500
He's not the only one with the issue.
I think I had that same issue trying to gpu-mine with self-compiled code on linux.  I just gave up and use Windows.
hero member
Activity: 566
Merit: 500
I get the same output with

Code:
oclvanitygen.exe -d 0 -i 1Test

He's not the only one with the issue.
legendary
Activity: 916
Merit: 1003
I tried oclvanitygen today, and discovered that it produces output like the following, instead of private keys.

Code:
Match idx: 0
CPU hash: 93b30d0ad99f8133a0bc3c4793a27dbad5a0961f
GPU hash: 0a0db39333819fd9473cbca0ba7da2931f96a0d5
Found delta: 1919 Start delta: 1

Am I doing it wrong?

What's your command line?
newbie
Activity: 34
Merit: 0
I saw this one - http://www.blockchain.info/fb/1Bitcoin (the web site is dowwn for maintenance now).
legendary
Activity: 2072
Merit: 1001
what is the most creative/long vanity address found to date?
member
Activity: 111
Merit: 100
I tried oclvanitygen today, and discovered that it produces output like the following, instead of private keys.

Code:
Match idx: 0
CPU hash: 93b30d0ad99f8133a0bc3c4793a27dbad5a0961f
GPU hash: 0a0db39333819fd9473cbca0ba7da2931f96a0d5
Found delta: 1919 Start delta: 1

Am I doing it wrong?
full member
Activity: 150
Merit: 100
AMD GCN, NVIDIA Fermi/Kepler: Please contribute some numbers!

I'm getting 31.5 Mkey/s on a GTX 680 (Kepler) with 1300 MHz core clock and 29.25 Mkey/s at 1162 MHz core.
sr. member
Activity: 791
Merit: 271
This is personal
hero member
Activity: 784
Merit: 1009
firstbits:1MinerQ
Is there a way to have the txt file its populating only fill in the private key or only the vanity key or just the 2? I am using command line and cant figure a method.
I don't think there is that option in the program but it's trivial to do after at the command line.

eg. make file with addresses,

grep Address outfile > addrfile

or keys,

grep Privkey outfile > keyfile

or convert addresses to sql statements to populate db,

grep Address outfile |awk '{print "insert into addr set address=\""$2"\";"}' > addrfile.sql
hero member
Activity: 742
Merit: 500
Its as easy as 0, 1, 1, 2, 3
Is there a way to have the txt file its populating only fill in the private key or only the vanity key or just the 2? I am using command line and cant figure a method.
newbie
Activity: 34
Merit: 0
More tests:

oclvanitygen -v -D 0:0 1BitcoinMX - runs fine.

oclvanitygen -v -S -D 0:0 1BitcoinMX - dies:
Code:
oclvanitygen -v -S -D 0:0 1BitcoinMX
Prefix difficulty:     2938077882634386 1BitcoinMX
Difficulty: 2938077882634386
Device: Quadro NVS 295
Vendor: NVIDIA Corporation (10de)
Driver: 301.32
Profile: FULL_PROFILE
Version: OpenCL 1.0 CUDA
Max compute units: 1
Max workgroup size: 512
Global memory: 268435456
Max allocation: 134217728
OpenCL compiler flags: -cl-nv-verbose
Loading kernel binary 582f54c79b215f43c3960bbd6fd612d0.oclbin
Grid size: 1024x512
Modular inverse: 512 threads, 1024 ops each
Using OpenCL prefix matcher
clWaitForEvents(NDRange,e): CL_OUT_OF_RESOURCES
GPU idle: 9.72%
Halting...done!
newbie
Activity: 34
Merit: 0
Hi samr7!

Quadro NVS huh?  You must have a fancy multi-monitor stock broker setup.
I wish I have a Metastock with BTC trade feed! No, just 2 cards, no monitors at all.

The performance you're getting from the GPU isn't too far off from what one might expect.  According to the Wikipedia article, the Quadro NVS 295 is based on G98 and has 8 CUDA cores with shader clock @ 1300 MHz.

The simple formula for NVIDIA G90/GT200 devices is:

Key/s = (CUDA cores) x (Shader clock MHz) x 17

For the NVS 295, it's 177 Kkey/s, which means oclvanitygen is probably underperforming, and would benefit from tweaking.

The failure is probably because oclvanitygen is trying to allocate too much GPU memory.  Try the following on your active GPU:

Code:
oclvanitygen -v -D 0:1,grid=128x128,invsize=512 1doca

To tweak performance, change the invsize value to some larger or smaller power of two.  As long as the grid is large enough, there is a sweet spot for this parameter that will provide the best performance, and oclvanitygen might not be smart enough to choose it automatically.
Thanks! Very interesting!

Now second card runs smooth! Thanks!
Code:
oclvanitygen -D 0:1,grid=128x128,invsize=512 1doca
Difficulty: 264104224
[94.62 Kkey/s][total 2621440][Prob 1.0%][50% in 31.8min]

Two card running same time:
Code:
oclvanitygen -D 0:0 -D 0:1,grid=128x128,invsize=512 1doca
Difficulty: 264104224
[229.34 Kkey/s][total 16072704][Prob 5.9%][50% in 12.1min]

Gee! I have so much fun!
full member
Activity: 129
Merit: 100
I try to use MinGW to compile on my Windows box, I had a little trouble compiling vanitygen here.  I got it working after including winglue.o in the objects and pasting code into winglue.c:

http://fossies.org/dox/R-2.15.1/glpi_8h_source.html
hero member
Activity: 784
Merit: 1009
firstbits:1MinerQ
The simplest way to do this is to have a table of prefix difficulties, and for each character after the beginning of the prefix, multiply by 58.  For this, you'd have something like:

11 = 256
12-1P = 22
1Q = 65
1R-1z = 1353

So, 1Abc = 22 x 58 x 58 = 74008, and 1egg = 1353 x 58 x 58 = 4551492, which are very close to the exact difficulties.  This scheme wouldn't be very accurate for multiple leading 1s, and certain suffixes of 1Q, without special handling of those cases.
Thank you. This is exactly what I need. Simple, if not 100% accurate. Difficulty is what I thought but wasn't sure about. Are those numbers good to use or just examples? My intention is to come up with a rough time estimate based on current MKeys/s. It doesn't matter if it's out somewhat as I will fudge the result with a safety factor based on past results (and any single run is random anyway).

Thx again. I expect to send a donation your way if my project works out.
full member
Activity: 140
Merit: 430
Firstbits: 1samr7
samr7,
Is it possible for you to comment a little on what the difficulty number represents and how it's calculated. I tried looking thru the code and figuring it out but BN math and probability is definitely not my forte. I ended up being pretty confused.

I'd like to be able to estimate the probability for a prefix pattern in my own code without running vanitygen - if not perfect mathematically then a rough time estimate would work.

Hi BkkCoins,

Difficulty is the number of keys that have to be checked, on average, to find a match.

The simplest way to do this is to have a table of prefix difficulties, and for each character after the beginning of the prefix, multiply by 58.  For this, you'd have something like:

11 = 256
12-1P = 22
1Q = 65
1R-1z = 1353

So, 1Abc = 22 x 58 x 58 = 74008, and 1egg = 1353 x 58 x 58 = 4551492, which are very close to the exact difficulties.  This scheme wouldn't be very accurate for multiple leading 1s, and certain suffixes of 1Q, without special handling of those cases.


The exact, but more complicated way to do this is to follow the formula:

Difficulty = (Total addresses) / (Matching addresses)

The tricky part is figuring out the number of matching addresses.  If your keys were 10-digit base-10 numbers, and you wanted to find everything with a prefix of 12345, with no leading 0s, then:

Total keys = 10000000000
Matches = 1234500000 ... 1234599999 = 100000 total matches
Difficulty = 10000000000 / 100000 = 100000, or 1:100000 keys

It's more complex to do this for base-58, but as in the example, the task is to convert a base-58 prefix into ranges of numbers that result in matches.  If you're interested, I will post more about this.
hero member
Activity: 784
Merit: 1009
firstbits:1MinerQ
samr7,
Is it possible for you to comment a little on what the difficulty number represents and how it's calculated. I tried looking thru the code and figuring it out but BN math and probability is definitely not my forte. I ended up being pretty confused.

I'd like to be able to estimate the probability for a prefix pattern in my own code without running vanitygen - if not perfect mathematically then a rough time estimate would work.
Jump to: