bitpop
Legendary
Offline
Activity: 2912
Merit: 1060
|
|
December 03, 2012, 04:15:53 PM |
|
I have a bug
Device: Intel(R) HD Graphics 4000 Vendor: Intel(R) Corporation (8086) Driver: 9.17.10.2875 Profile: FULL_PROFILE Version: OpenCL 1.1 Max compute units: 16 Max workgroup size: 512 Global memory: 1568669696 Max allocation: 392167424 OpenCL compiler flags: -DDEEP_PREPROC_UNROLL Compiling kernel, can take minutes...vg_ocl_context_callback error: Build progra m failure. failure. clBuildProgram: CL_BUILD_PROGRAM_FAILURE Build log: :173:19: error: __constant variables are required to be initialized __constant bignum bn_zero; ^ 1 diagnostic generated.
error: front end compiler failed build. Available OpenCL platforms: 0: [Intel(R) Corporation] Intel(R) OpenCL 0: [Intel(R) Corporation] Intel(R) HD Graphics 4000
|
|
|
|
fizzisist
|
|
December 03, 2012, 05:38:37 PM |
|
Something might be wrong in vanitygen, the following (namecoin) combinations don't work: Na, Nb, Nc, Nd, Ne, Nf, Ng, Nh, Ni, Nj, Nk, Nm, Nn, No, Np, Nq, Nr, Ns, Nt, Nu, Nv, Nw, Nx, Ny, Nz, NL, NM, NN, NP, NQ, NR, NS, NT, NU, NV, NW, NX, NY, NZ
but the rest do - this is probably a bug in vanitygen, i'll report it
Is there any update on this bug? Vanitygen won't generate addresses that start with the combinations listed above. I don't know that it's a bug, more likely that there are no possible values of raw binary Namecoin addresses that will convert into a Base58 address that starts with these characters. The underlying data of a Namecoin address must start with a network ID of 00110100 (binary) + hash. This means that the range of inputs to the Base58 converter can only go from 0011010000000000... to 0011010011111111... You can search or explore the namecoin block explorer and likely see that there are no examples of these "nonworking" addresses, a less lazy person than me could actually do the math and describe the possible Base58 address ranges. Apparently these are valid namecoin addresses, but with a leading byte of 53 ( see here). Furthermore, there are a bunch of second characters that require the leading byte to be 54. The wiki page shows that namecoin addresses that start with N can have a leading byte of 52, 53, or 54. Does anyone know the math to figure out which one to use? Is it actually valid to have a namecoin address with a leading byte other than 52? EDIT: No, it's not valid: $ namecoind validateaddress NPhauxDmxGJfKSAJmAnZBLH9mhrKY5BALv { "isvalid" : false }
Does that apply to any address with a leading byte not equal to 52?
|
|
|
|
deepceleron
Legendary
Offline
Activity: 1512
Merit: 1036
|
|
December 03, 2012, 06:20:53 PM Last edit: December 05, 2012, 03:24:25 AM by deepceleron |
|
[ The wiki page shows that namecoin addresses that start with N can have a leading byte of 52, 53, or 54. Does anyone know the math to figure out which one to use? Is it actually valid to have a namecoin address with a leading byte other than 52? You are reading the table wrong. The network ID byte value of Namecoin is 52, and only 52. Another ID would indicate another alt-coin. The "NPhaux" address example would only be a valid address on some yet-uncreated bitcoin-like currency. Does that apply to any address with a leading byte not equal to 52?
The main Bitcoin network ID byte is 00h, which is special, because leading 00 bytes in addresses are directly encoded as a "1" and not put through Base58 encoding. This is why all Bitcoin addresses start with "1", but other alternate coins may have more than one possible first character and have stranger "impossible" ranges of Base58 leading characters. Full 34-character Bitcoin addresses can start with 12.. to 1QLB... due to a similar "possible outputs" situation. A hash starting with several 0000 bits can create a smaller valued 33-character Bitcoin address, which may start with "1"+"any Base58" characters (but is 59x harder to find). If the first complete byte of the hash component is also 00000000b, then the special direct-encoding technique makes the address start with 11.
|
|
|
|
deepceleron
Legendary
Offline
Activity: 1512
Merit: 1036
|
|
December 03, 2012, 06:45:45 PM |
|
Device: Intel(R) HD Graphics 4000 .. clBuildProgram: CL_BUILD_PROGRAM_FAILURE Build log: :173:19: error: __constant variables are required to be initialized __constant bignum bn_zero; ^ 1 diagnostic generated.
error: front end compiler failed build. Available OpenCL platforms: 0: [Intel(R) Corporation] Intel(R) OpenCL 0: [Intel(R) Corporation] Intel(R) HD Graphics 4000
Intel compiler, for a GPU slower than a CPU will be. It doesn't seem to recognize that bignum is being initialized to the value of bn_zero. I would try installing a newer Intel OpenCL SDK and see if it understands code that works fine on AMD. Otherwise vanitygen would need to be altered (de-optimized) to support a GPU platform no Bitcoin miner would be using.
|
|
|
|
mskwik
|
|
December 03, 2012, 07:04:39 PM |
|
Apparently these are valid namecoin addresses, but with a leading byte of 53 ( see here). Furthermore, there are a bunch of second characters that require the leading byte to be 54. The wiki page shows that namecoin addresses that start with N can have a leading byte of 52, 53, or 54. Does anyone know the math to figure out which one to use? Is it actually valid to have a namecoin address with a leading byte other than 52? My vanitypool code uses something like this to check the required network byte for a given prefix and will return an error to the submitter if the network byte specified doesn't match. Not sure it's the most elegant way to do it and there may be some strange edge cases for very short prefixes but in general it does what it is supposed to. sub prefix_version{my $x=shift(@_); @bb=(1..9,'A'..'H','J'..'N','P'..'Z','a'..'k','m'..'z'); while(length($x)<34){$x.="2";} my $ox=$x;my $n=Math::BigInt->new(0); my $i=Math::BigInt->new(0);while($x){my $c=chop($x); my $cp=0;while($bb[$cp] ne $c && $cp<=$#bb){$cp++;} $n+=$cp*(58**$i);$i++; }$i=$n->as_hex();$i=substr($i,2); $x=reverse($ox);my $c=chop($x);while($c eq '1'){$c=chop($x);$i="00".$i;} if(length($i)%2==1){$i="0".$i;} my $ver=substr($i,0,2);return hex($ver); } mskwik@mskwik ~/script/bitcoin $ perl print prefix_version('NPhaux')."\n"; 53
|
|
|
|
Morblias
|
|
December 04, 2012, 06:49:03 PM |
|
I got vanitygen64.exe working perfect, but I am confused as to how to use oclvanitygen. I type in oclvanitygen -d 0 address and it just shows this over and over: CPU hash: GPU hash: Found delta: start delta:
It never outputs address or privkey. Am I doing something wrong?
|
Tips / Donations accepted: 1Morb18DsDHNEv6TeQXBdba872ZSpiK9fY
|
|
|
stevegee58
Legendary
Offline
Activity: 916
Merit: 1003
|
|
December 04, 2012, 06:50:36 PM |
|
example usage:
oclvanitygen -d 0 1JohnGalt
The number after the -d switch is the GPU device #
|
You are in a maze of twisty little passages, all alike.
|
|
|
Morblias
|
|
December 04, 2012, 06:59:48 PM |
|
example usage:
oclvanitygen -d 0 1JohnGalt
The number after the -d switch is the GPU device #
oops, yeah that's what I mean, updated my original post. all it outputs is CPU hash, GPU hash, and delta. Shouldn't it output address and privkey just like vanitygen64.exe does?
|
Tips / Donations accepted: 1Morb18DsDHNEv6TeQXBdba872ZSpiK9fY
|
|
|
crazyates
Legendary
Offline
Activity: 952
Merit: 1000
|
|
December 04, 2012, 07:07:01 PM |
|
example usage:
oclvanitygen -d 0 1JohnGalt
The number after the -d switch is the GPU device #
oops, yeah that's what I mean, updated my original post. all it outputs is CPU hash, GPU hash, and delta. Shouldn't it output address and privkey just like vanitygen64.exe does? Let me guess, you're using an ATI 7xxx card? Oclvanitygen seems to be broken with 7xxx cards, and it produces incorrect results. Workaround is to use the -S command, but your speeds will be much slower (1/4 to 1/3 of the speed).
|
|
|
|
runlinux
|
|
December 04, 2012, 07:10:00 PM |
|
Even then, I have not been able to get it to work. I get the same issue with my 5830. I'm not too worried now that I know its a "known" issue.
its fun to dump hundreds of thousands of addresses to a text file and search for cool things.
|
|
|
|
Morblias
|
|
December 04, 2012, 07:10:39 PM |
|
example usage:
oclvanitygen -d 0 1JohnGalt
The number after the -d switch is the GPU device #
oops, yeah that's what I mean, updated my original post. all it outputs is CPU hash, GPU hash, and delta. Shouldn't it output address and privkey just like vanitygen64.exe does? Let me guess, you're using an ATI 7xxx card? Oclvanitygen seems to be broken with 7xxx cards, and it produces incorrect results. Workaround is to use the -S command, but your speeds will be much slower (1/4 to 1/3 of the speed). Yeah, 7950
|
Tips / Donations accepted: 1Morb18DsDHNEv6TeQXBdba872ZSpiK9fY
|
|
|
crazyates
Legendary
Offline
Activity: 952
Merit: 1000
|
|
December 04, 2012, 07:12:52 PM |
|
Even then, I have not been able to get it to work. I get the same issue with my 5830. I'm not too worried now that I know its a "known" issue.
its fun to dump hundreds of thousands of addresses to a text file and search for cool things.
IIRC, older cards can have this issue fixed by using an older driver/SDK. 7xxx cards require newer drivers/SDK, so we don't have this option.
|
|
|
|
runlinux
|
|
December 04, 2012, 07:34:55 PM |
|
Even then, I have not been able to get it to work. I get the same issue with my 5830. I'm not too worried now that I know its a "known" issue.
its fun to dump hundreds of thousands of addresses to a text file and search for cool things.
IIRC, older cards can have this issue fixed by using an older driver/SDK. 7xxx cards require newer drivers/SDK, so we don't have this option. Yup, running 12.6 here. Explains a bit. It's my work rig, so I'm not worried about downgrading right now.
|
|
|
|
Morblias
|
|
December 04, 2012, 09:36:49 PM |
|
example usage:
oclvanitygen -d 0 1JohnGalt
The number after the -d switch is the GPU device #
oops, yeah that's what I mean, updated my original post. all it outputs is CPU hash, GPU hash, and delta. Shouldn't it output address and privkey just like vanitygen64.exe does? Let me guess, you're using an ATI 7xxx card? Oclvanitygen seems to be broken with 7xxx cards, and it produces incorrect results. Workaround is to use the -S command, but your speeds will be much slower (1/4 to 1/3 of the speed). Yeah, 7950 Finally got around to giving it a try, you are correct the -S command fixed the issue while using my 7950 and just like you said, it was about 1/3 slower. Better then nothing I guess. Thanks!
|
Tips / Donations accepted: 1Morb18DsDHNEv6TeQXBdba872ZSpiK9fY
|
|
|
warmach
Newbie
Offline
Activity: 48
Merit: 0
|
|
December 04, 2012, 11:03:54 PM |
|
Total noob question...sorry...
Is there a reason why a pattern can not use a lower case "L"?
I want to generate pattern 1Akula but get a message about it being an invalid character.
|
|
|
|
BkkCoins
|
|
December 05, 2012, 12:21:24 AM |
|
Total noob question...sorry...
Is there a reason why a pattern can not use a lower case "L"?
I want to generate pattern 1Akula but get a message about it being an invalid character.
Some characters are not valid because they are easily mistaken for others. So "l" cannot be used as it conflicts with "1". See the wiki "address" page for a list of invalid chars.
|
|
|
|
jl2035
|
|
December 05, 2012, 02:08:27 PM Last edit: December 06, 2012, 11:00:13 PM by jl2035 |
|
Total noob question...sorry...
Is there a reason why a pattern can not use a lower case "L"?
I want to generate pattern 1Akula but get a message about it being an invalid character.
Even newbier! Can't even install this thing...
|
|
|
|
warmach
Newbie
Offline
Activity: 48
Merit: 0
|
|
December 05, 2012, 02:35:55 PM |
|
OK...another noob question.
All the crypto math and logic is a bit confusing to me and I need to spend more time to understand it. As I understand it from a layman's perspective, the generator gets a random number as a starting point and then increments that number and hashes it looking for the chosen pattern. If I would start the generator, stop it, then restart again for the same pattern, will it use the same number to start with? I want to run the vanity gen at night and want to make sure that I am not duplicating work that was already done when I restart it each night.
Thanks.
|
|
|
|
jl2035
|
|
December 07, 2012, 04:00:01 PM |
|
I really want to install this thing... can anyone help me?? I created issue on github but no comments or anything... when I type make I get this. user@JLaptop:~/MyPrograms/VanityAddr/vanitygen-master$ make cc -ggdb -O3 -Wall -c -o vanitygen.o vanitygen.c vanitygen.c:26:25: fatal error: openssl/sha.h: No such file or directory compilation terminated. make: *** [vanitygen.o] Error 1
|
|
|
|
BkkCoins
|
|
December 07, 2012, 04:13:27 PM |
|
OK...another noob question.
All the crypto math and logic is a bit confusing to me and I need to spend more time to understand it. As I understand it from a layman's perspective, the generator gets a random number as a starting point and then increments that number and hashes it looking for the chosen pattern. If I would start the generator, stop it, then restart again for the same pattern, will it use the same number to start with? I want to run the vanity gen at night and want to make sure that I am not duplicating work that was already done when I restart it each night.
Thanks.
It doesn't remember position but doesn't need to. Any time you start you will be looking at fresh number space because the chances of repeating work are so very, very tiny. The chances of repeating work are the same as the chances of finding an existing key - which is the whole point. So any time you restart you are never wasting search attempts. It all counts.
|
|
|
|
|