Bitcoin Forum
April 19, 2024, 09:36:25 AM *
News: Latest Bitcoin Core release: 26.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 [15] 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 ... 191 »
  Print  
Author Topic: Vanitygen: Vanity bitcoin address generator/miner [v0.22]  (Read 1152797 times)
dinox
Full Member
***
Offline Offline

Activity: 126
Merit: 100


View Profile
August 12, 2011, 06:00:56 PM
 #281

Hmm, if I knew C I would code a switch where you use an existing pub-key as seed, and vanitygen tries new keys by adding to that key. That would make it safe to help people find a key, without you having a way to fraud him.

blockchain.info/fb/1dinox - 1Dinox3mFw8yykpAZXFGEKeH4VX1Mzbcxe
Active trader on #bitcoin-otc - See here - Proof that my nick is dinox here
1713519385
Hero Member
*
Offline Offline

Posts: 1713519385

View Profile Personal Message (Offline)

Ignore
1713519385
Reply with quote  #2

1713519385
Report to moderator
1713519385
Hero Member
*
Offline Offline

Posts: 1713519385

View Profile Personal Message (Offline)

Ignore
1713519385
Reply with quote  #2

1713519385
Report to moderator
"The nature of Bitcoin is such that once version 0.1 was released, the core design was set in stone for the rest of its lifetime." -- Satoshi
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
Rassah
Legendary
*
Offline Offline

Activity: 1680
Merit: 1035



View Profile WWW
August 12, 2011, 06:44:10 PM
 #282

So, does anyone else have/had an issue where olcvanitygen never finds a matching key, and just continues searching regardless of how easy the request is?
samr7 (OP)
Full Member
***
Offline Offline

Activity: 140
Merit: 430

Firstbits: 1samr7


View Profile
August 12, 2011, 07:20:56 PM
 #283

So, does anyone else have/had an issue where olcvanitygen never finds a matching key, and just continues searching regardless of how easy the request is?

I haven't forgotten about you!  To really get to the bottom of this problem, a device-side kernel test suite will be required.  I'm working on this.  All of my testing to date has been done using a host program, and in all cases so far except yours, the code has behaved identically on the device, or caused a nice, clean crash.

In the mean time, does it generate addresses correctly in safe mode, i.e. does not take more than a few seconds to find a match to 1Boat or such?
Rassah
Legendary
*
Offline Offline

Activity: 1680
Merit: 1035



View Profile WWW
August 12, 2011, 07:49:36 PM
 #284

So, does anyone else have/had an issue where olcvanitygen never finds a matching key, and just continues searching regardless of how easy the request is?

I haven't forgotten about you!  To really get to the bottom of this problem, a device-side kernel test suite will be required.  I'm working on this.  All of my testing to date has been done using a host program, and in all cases so far except yours, the code has behaved identically on the device, or caused a nice, clean crash.

In the mean time, does it generate addresses correctly in safe mode, i.e. does not take more than a few seconds to find a match to 1Boat or such?

No, safe mode doesn't help.

What code is this written in? Or rather, what compiler (for Windows) should I get? Maybe I can step through the thing to see where it fails (I at least know that much about programming >.< )
samr7 (OP)
Full Member
***
Offline Offline

Activity: 140
Merit: 430

Firstbits: 1samr7


View Profile
August 12, 2011, 08:21:05 PM
 #285

No, safe mode doesn't help.

So, the last version worked in safe mode, but crashed otherwise, and the current version doesn't work at all in either mode?

And, just to verify, the key search rate is still ~3Mkey/s in safe mode?

This is a very interesting result.  In the current version, safe mode does not completely disable loop unrolling, just the long ones.  The shorter loops used in the bignum arithmetic functions are still unrolled by the preprocessor.  There were changes beside this, but it could be a good place to start poking.  I can send you replacement kernel code that disables all preprocessor unrolling if you want to try.

Quote
What code is this written in? Or rather, what compiler (for Windows) should I get? Maybe I can step through the thing to see where it fails (I at least know that much about programming >.< )

The language is OpenCL-C, and you should already have the code: take a look at calc_addrs.cl.  Unfortunately, I don't have any tips to offer on how to use a device-side debugger, or whether it's even possible using AMD's SDK.

The kernels keep a couple of large temporary value buffers in GPU memory, usually never touched by the CPU.  Their contents could be very informative for diagnosing problems, and all the test suite will do is check the correctness.
Rassah
Legendary
*
Offline Offline

Activity: 1680
Merit: 1035



View Profile WWW
August 12, 2011, 10:09:19 PM
 #286

No, safe mode doesn't help.

So, the last version worked in safe mode, but crashed otherwise, and the current version doesn't work at all in either mode?

And, just to verify, the key search rate is still ~3Mkey/s in safe mode?

I may have jumped the gun on this one. The old one has the same problem of not actually finding anything in safe mode, either (the one I was looking for would've taken an estimated 3 days to find it in safe mode, so it never finished)

This is a very interesting result.  In the current version, safe mode does not completely disable loop unrolling, just the long ones.  The shorter loops used in the bignum arithmetic functions are still unrolled by the preprocessor.  There were changes beside this, but it could be a good place to start poking.  I can send you replacement kernel code that disables all preprocessor unrolling if you want to try.
I think the issue may be something else now. Then again, maybe it DID work back when I had 0.16, and something changed between then? Damn. I hate debugging things. Sorry :/

Quote
What code is this written in? Or rather, what compiler (for Windows) should I get? Maybe I can step through the thing to see where it fails (I at least know that much about programming >.< )

The language is OpenCL-C, and you should already have the code: take a look at calc_addrs.cl.  Unfortunately, I don't have any tips to offer on how to use a device-side debugger, or whether it's even possible using AMD's SDK.

The kernels keep a couple of large temporary value buffers in GPU memory, usually never touched by the CPU.  Their contents could be very informative for diagnosing problems, and all the test suite will do is check the correctness.

I was thinking I could do something like step through it line by line to see where it SHOULD actually find a match and see what happens when it skips it and keeps going. I code in VB for Excel for work, and used to write in some other languages. There's no compiler out there that would allow me to execute the code line by line? Or is the stuff in the background too complicated to monitor?
samr7 (OP)
Full Member
***
Offline Offline

Activity: 140
Merit: 430

Firstbits: 1samr7


View Profile
August 12, 2011, 10:23:37 PM
 #287

Hmm, if I knew C I would code a switch where you use an existing pub-key as seed, and vanitygen tries new keys by adding to that key. That would make it safe to help people find a key, without you having a way to fraud him.

This could be pretty cool.

I know this has been discussed elsewhere.  To reiterate, the scheme involves a client/service relationship, where the client:

  • Comes up with a list of address patterns that they want.
  • Generates a pool of EC private keys, at least one per pattern.
  • Submits the public keys of the key pool and the patterns to the address generation service.

The service tests a whole bunch of public key addresses, finds a match, and reports back:

  • The matched pattern.
  • The base public key Kb from which the match was derived.
  • The increment of the matching public key n from the base, where the matching vanity public key Kv = Kb + nG

The client could then compute the private key by finding the private key in their pool matching the base public key and adding the increment to it.  Thus, the service can find vanity addresses without ever having to know their private keys.

The security afforded by this scheme comes at the cost of not being able to pool together the patterns desired by different clients into a single list, which would be dramatically more efficient.  Every work unit executed by the service would end up being specific to a single client.  If there were some way around this, it would make the service much more practical.
samr7 (OP)
Full Member
***
Offline Offline

Activity: 140
Merit: 430

Firstbits: 1samr7


View Profile
August 12, 2011, 10:57:46 PM
 #288

I think the issue may be something else now. Then again, maybe it DID work back when I had 0.16, and something changed between then? Damn. I hate debugging things. Sorry :/

A lot changed between them.  It would be interesting to know for sure whether 0.16 in safe mode works for a simpler pattern, one that should take a minute or two instead of three days.  If you're interested in trying this and need old binaries, you can get them here.

Quote
I was thinking I could do something like step through it line by line to see where it SHOULD actually find a match and see what happens when it skips it and keeps going. I code in VB for Excel for work, and used to write in some other languages. There's no compiler out there that would allow me to execute the code line by line? Or is the stuff in the background too complicated to monitor?

AMD does offer this.  I'm not convinced that the OpenCL debugger component actually runs on the GPU, and I'll give the problem here 99/100 odds of being a bug in the GPU compiler.  But, if you really want to try it out, I can send you an oclvanitygen binary with debugging symbols.

Yet another debugging possibility -- if you run:

Code:
set GPU_DUMP_DEVICE_KERNEL=3
del *.oclbin
oclvanitygen 1

(or better parameters to oclvanitygen for your setup)

it should recompile the kernel, and in the process, create four .il files and four .isa files.  These are output from different stages of the GPU compiler.  If you can post them somewhere, I can look over them them and try compiling/assembling them for my own setup.
Rassah
Legendary
*
Offline Offline

Activity: 1680
Merit: 1035



View Profile WWW
August 13, 2011, 07:43:38 PM
 #289

I think the issue may be something else now. Then again, maybe it DID work back when I had 0.16, and something changed between then? Damn. I hate debugging things. Sorry :/

A lot changed between them.  It would be interesting to know for sure whether 0.16 in safe mode works for a simpler pattern, one that should take a minute or two instead of three days.  If you're interested in trying this and need old binaries, you can get them here.

Tested with both new and old with -S. Same thing happens on both: the probability cunts up, then goes away, and it just keep counting the # of completed attempts without ever finding anything.
samr7 (OP)
Full Member
***
Offline Offline

Activity: 140
Merit: 430

Firstbits: 1samr7


View Profile
August 14, 2011, 06:57:43 PM
 #290

Tested with both new and old with -S. Same thing happens on both: the probability cunts up, then goes away, and it just keep counting the # of completed attempts without ever finding anything.

Thank you Rassah!

I posted a binary of oclvanitygen with verification functions here.  Run it with the -vV flags to enable verification mode.  It should run extremely slow, maybe 20-30 Kkey/s.  If either the first or second kernel is producing incorrect results, it should produce copious output to your terminal.  If it does this, pipe the output to a file (>error.txt), post it to pastebin or such, and post the link.

This may not be enough to isolate the problem to a specific function.  In case it's not, I'm currently working on a more comprehensive test suite, one that provides device-side unit tests for the various bignum arithmetic primitives.
dinox
Full Member
***
Offline Offline

Activity: 126
Merit: 100


View Profile
August 15, 2011, 03:51:55 PM
 #291

The security afforded by this scheme comes at the cost of not being able to pool together the patterns desired by different clients into a single list, which would be dramatically more efficient.  Every work unit executed by the service would end up being specific to a single client.  If there were some way around this, it would make the service much more practical.
If we had a trusted pool server, it could supply each "miner" with a list of patterns and a public key which only the server knows the public key of. When a match occurs, it's controlled by the server and if it is correct, the miner get's another public key and server sends the vanity key and corresponding private key to the requesting user. We do have to trust the server to not steal the public keys, I don't know if this is a big issue.

blockchain.info/fb/1dinox - 1Dinox3mFw8yykpAZXFGEKeH4VX1Mzbcxe
Active trader on #bitcoin-otc - See here - Proof that my nick is dinox here
idev
Hero Member
*****
Offline Offline

Activity: 859
Merit: 1004


BTC OG and designer of the BitcoinMarket.com logo


View Profile
August 15, 2011, 05:49:40 PM
 #292

How to get this running on OSX
defxor
Hero Member
*****
Offline Offline

Activity: 530
Merit: 500


View Profile
August 15, 2011, 06:04:16 PM
 #293

How to get this running on OSX

This might help a bit. You have to install PCRE also, see http://pcre.org/

https://bitcointalk.org/index.php?topic=25804.msg424122#msg424122
fcmatt
Legendary
*
Offline Offline

Activity: 2072
Merit: 1001


View Profile
August 18, 2011, 02:06:47 AM
 #294

what is the most interesting vanity address created so far? anybody care to share?
RaTTuS
Hero Member
*****
Offline Offline

Activity: 792
Merit: 1000


Bite me


View Profile
August 18, 2011, 07:42:17 AM
 #295

http://blockexplorer.com/address/1BitcoinEaterAddressDontSendf59kuE
this one ?

In the Beginning there was CPU , then GPU , then FPGA then ASIC, what next I hear to ask ....

1RaTTuSEN7jJUDiW1EGogHwtek7g9BiEn
TiagoTiago
Hero Member
*****
Offline Offline

Activity: 616
Merit: 500


Firstbits.com/1fg4i :)


View Profile
August 18, 2011, 10:17:50 AM
 #296

I think he meant valid vanity addresses, i don't think that one passes more strict validation

(I dont always get new reply notifications, pls send a pm when you think it has happened)

Wanna gimme some BTC/BCH for any or no reason? 1FmvtS66LFh6ycrXDwKRQTexGJw4UWiqDX Smiley

The more you believe in Bitcoin, and the more you show you do to other people, the faster the real value will soar!

Do you like mmmBananas?!
RaTTuS
Hero Member
*****
Offline Offline

Activity: 792
Merit: 1000


Bite me


View Profile
August 18, 2011, 10:46:44 AM
 #297

 Tongue
I've generated a 7 letter one that I may use....
but ones associated with my forum name will stay on the forums  Cool

In the Beginning there was CPU , then GPU , then FPGA then ASIC, what next I hear to ask ....

1RaTTuSEN7jJUDiW1EGogHwtek7g9BiEn
molecular
Donator
Legendary
*
Offline Offline

Activity: 2772
Merit: 1019



View Profile
August 18, 2011, 04:56:44 PM
 #298

I think he meant valid vanity addresses, i don't think that one passes more strict validation

We'll never know wether or not it's valid Wink

PGP key molecular F9B70769 fingerprint 9CDD C0D3 20F8 279F 6BE0  3F39 FC49 2362 F9B7 0769
jackjack
Legendary
*
Offline Offline

Activity: 1176
Merit: 1233


May Bitcoin be touched by his Noodly Appendage


View Profile
August 18, 2011, 05:02:31 PM
 #299

It is valid
We'll just never find the private key

Own address: 19QkqAza7BHFTuoz9N8UQkryP4E9jHo4N3 - Pywallet support: 1AQDfx22pKGgXnUZFL1e4UKos3QqvRzNh5 - Bitcointalk++ script support: 1Pxeccscj1ygseTdSV1qUqQCanp2B2NMM2
Pywallet: instructions. Encrypted wallet support, export/import keys/addresses, backup wallets, export/import CSV data from/into wallet, merge wallets, delete/import addresses and transactions, recover altcoins sent to bitcoin addresses, sign/verify messages and files with Bitcoin addresses, recover deleted wallets, etc.
TiagoTiago
Hero Member
*****
Offline Offline

Activity: 616
Merit: 500


Firstbits.com/1fg4i :)


View Profile
August 18, 2011, 05:05:16 PM
 #300

The checksum matches?

(I dont always get new reply notifications, pls send a pm when you think it has happened)

Wanna gimme some BTC/BCH for any or no reason? 1FmvtS66LFh6ycrXDwKRQTexGJw4UWiqDX Smiley

The more you believe in Bitcoin, and the more you show you do to other people, the faster the real value will soar!

Do you like mmmBananas?!
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 [15] 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 ... 191 »
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!