Author

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

legendary
Activity: 1512
Merit: 1036
anyone run into the error:  CL out of resources?

using app sdk 2.5, win 7 64 bit, 2 x 6970 gpu's usually used for mining via cgminer. 

turned them off and restarted so they aren't running, i think.
You mean like the error you get if you try to search for 50,000+ addresses at once?
legendary
Activity: 1764
Merit: 1002
anyone run into the error:  CL out of resources?

using app sdk 2.5, win 7 64 bit, 2 x 6970 gpu's usually used for mining via cgminer. 

turned them off and restarted so they aren't running, i think.
legendary
Activity: 2912
Merit: 1060
I will try restarting one and see if it gets the same ones in order.

I started 4 copies of vanitygen but they all use the same rng seed file. Will they all be starting from the same spot? Or is there added entropy even if I use a seed file? Thanks.
Use them all to find the same simple phrase, like 1234, you should find that they each find a different one.
legendary
Activity: 1512
Merit: 1036
I started 4 copies of vanitygen but they all use the same rng seed file. Will they all be starting from the same spot? Or is there added entropy even if I use a seed file? Thanks.
Use them all to find the same simple phrase, like 1234, you should find that they each find a different one.
legendary
Activity: 2912
Merit: 1060
I started 4 copies of vanitygen but they all use the same rng seed file. Will they all be starting from the same spot? Or is there added entropy even if I use a seed file? Thanks.
donator
Activity: 308
Merit: 250
Also, is there a way to just pen an address, partially or a complete one, have it checked to make sure it's not already in use, then have a private key made for that? e.g. 1TurkeyBob1siHHu8...etc...
Regarding your second question, no, encryption is one way only. It is VERY quick and easy to make a public key from a private key, but almost impossible to make a private key out of a public key.
To correct, encryption isn't one-way only. Hashing is.
legendary
Activity: 1918
Merit: 1570
Bitcoin: An Idea Worth Spending
Distributed vanity address generation (distributed vanity address mining) has been discussed several times in several threads.  Someone just needs to get off their butt and do it.  Using the additive or multiplicative properties of the elliptical curve cryptography used for Bitcoin it can be done securely but there is one sticking point to the scheme - all the miners have to cooperate.  There are several threads related to this including back up a few pages in this thread.

I have shelved the idea personally until the new type 3 addresses since they will make vanity address generation much easier and allow for much longer vanity names.  For example 3BurtWagner.....

Dug up one of the better threads on this subject here:  https://bitcointalk.org/index.php?topic=56839.0

If you are interested you should revive that thread!

That's what I was looking for! Thanks, Burt. There's nuggets out the ass on that short thread. What I wanted to see and read is the following in bold, until Gavin almost burst my bubble.

From a glance-through read, it would appear that one would only be able to generate addresses for a single client at a time. Am a wrong, that the hashing and checking will find an address that would work for just one client. Currently, you hash once and see if the public address has any matches from an arbitrary list.
This is a challenge. One possible approach (and again I hope I'm not reinventing the wheel) is to have a body of n arbiters which are assumed do not all collude. Each will generate a private key bi and public key Bi. The Bi's will be distributed among miners. The miner generates a pair d, D and tries different nonces C in the transaction script (B1 & B2 & ... & Bn) & (C | D) . If the resulting address matches a pattern, he informs the arbiters who the client is. He sends C to the client and each arbiter send his bi to the client. Each arbiter then deletes the key and generates a new pair to be used for the next completed address and broadcasts the public key to all miners. Then the only way to steal the funds is if all arbiters collude and share the client's keys.

Without the benefit of mining vanity addresses for multiple clients while looking for your own too, with minimal performance penalty, it doesn't seem an endeavour worth pursuing.
This endeavor is worth what its purchaser will pay for it. I can think of two main reasons to use vanity addresses:

1. Well, vanity - to show the world you have an intensional address with a harder pattern than other people. Then it doesn't matter at all how hard or easy it is, there will be a market of those who want harder than average.

2. To have a simple firstbits address - then generally you want the vanity pattern as short as possible while being unique. The length it takes to be unique is fixed, so if generating addresses is too easy there will be no market for generation since anyone can generate the required address.

So, harder generation is better for generators and for businesses wanting to protect their brand, indifferent for most other people.


I've was kind of aware of what deepceleron pointed out in the current last post of that thread:

Quote
However, I don't think anything like this should be included in Bitcoin. Although not any more dangerous than "firstbits", it would make it too easy to spoof people into sending money to an "amazon.com" that goes to a malicious squatter instead. It also hinders anonymity and the sender identification that comes with one-time-use addresses.

The first line of defense should be doing due diligence, an example of when Matthew once changed one letter in a domain name, making us believe there was an update to an infamous letter.

Thanks, all, for helping me with this. I'll be back!

~Bruno~
legendary
Activity: 2646
Merit: 1137
All paid signature campaigns should be banned.
Distributed vanity address generation (distributed vanity address mining) has been discussed several times in several threads.  Someone just needs to get off their butt and do it.  Using the additive or multiplicative properties of the elliptical curve cryptography used for Bitcoin it can be done securely but there is one sticking point to the scheme - all the miners have to cooperate.  There are several threads related to this including back up a few pages in this thread.

I have shelved the idea personally until the new type 3 addresses since they will make vanity address generation much easier and allow for much longer vanity names.  For example 3BurtWagner.....

Dug up one of the better threads on this subject here:  https://bitcointalksearch.org/topic/outsourcing-vanity-address-generation-56839

If you are interested you should revive that thread!
legendary
Activity: 1680
Merit: 1035
Also, is there a way to just pen an address, partially or a complete one, have it checked to make sure it's not already in use, then have a private key made for that? e.g. 1TurkeyBob1siHHu8...etc...

Regarding your second question, no, encryption is one way only. It is VERY quick and easy to make a public key from a private key, but almost impossible to make a private key out of a public key. If what you ask was possible, it would be fairly easy to take an address, such as 1BTC1oo1J3MEt5SFj74ZBcF2Mk97Aah4ac, and make a private key out of that. Obviously we wouldn't want that. So what vanitygen essentially does is pick random numbers, makes private keys out of them, and then checks what kind of public address is made from that private key. If the address is what you are looking for, you're good. If (most likely) it's just gibberish, it tries again with a different random number. The process is pretty much just like mining, where you are throwing dice millions of times a second, and instead of looking for a hash that starts with 000000000000... you are looking for a "hash" that starts with 1TurkeyBob1siHHu8...
legendary
Activity: 1512
Merit: 1036
WOW! But I'm not done with. I'm sure that if ask the right questions, the answer will manifest itself.

What would be the average price point for generating the longest possible vanity address in the least amount of time? Giving a couple hypothetical examples would be nice.

Also, is there a way to just pen an address, partially or a complete one, have it checked to make sure it's not already in use, then have a private key made for that? e.g. 1TurkeyBob1siHHu8...etc...

I would have a 50% chance of finding a case-insensitive "1phinnaeus" address in twelve days on my video card. In that same time I could have mined a guaranteed 2 BTC PPS. Each additional character in length makes it 59 times harder. A case-sensitive "1TurkeyBob" would have a 50% chance in 214 years.

If you want to see if an address prefix was previously used on the Bitcoin network, you can go to http://firstbits.com and type in 1phinnaeus or whatever. It would be possible to do a check yourself on your own website if you have the skills to make a site that integrates Bitcoin blockchain lookups like firstbits or blockexplorer. I mention checking that no other user is simultaneously searching for the same or a similar address on a "generator" web site in my post above, because that is just one obvious way you could mess up and give two users the same private key.
legendary
Activity: 1918
Merit: 1570
Bitcoin: An Idea Worth Spending
WOW! But I'm not done with. I'm sure that if ask the right questions, the answer will manifest itself.

What would be the average price point for generating the longest possible vanity address in the least amount of time? Giving a couple hypothetical examples would be nice.

Also, is there a way to just pen an address, partially or a complete one, have it checked to make sure it's not already in use, then have a private key made for that? e.g. 1TurkeyBob1siHHu8...etc...
legendary
Activity: 1680
Merit: 1035
deepceleron and Rassh, you have been both very helpful. Let me quote the exact point at which I get lost, then let me know if there is any hope for me.

Quote
If GPU acceleration is desired, install ATI Drivers v11.11 or newer for ATI video cards or latest Nvidia driver, test that OpenCL is working with GPU miner software.

I need my clients to easily hash their own vanity address without having to purchase, let alone, install hardware and complex programs. Is this even possible?


My mining rig does 530Mhash/s, consisting of two ATI 5830s, each costing $130 or so. With that, to generate an address like 1MemDea1r would take me about a month of running vanitygen non-stop, burning 430 Watts per hour. It's not cheap.
legendary
Activity: 1512
Merit: 1036
deepceleron and Rassh, you have been both very helpful. Let me quote the exact point at which I get lost, then let me know if there is any hope for me.

Quote
If GPU acceleration is desired, install ATI Drivers v11.11 or newer for ATI video cards or latest Nvidia driver, test that OpenCL is working with GPU miner software.

I need my clients to easily hash their own vanity address without having to purchase, let alone, install hardware and complex programs. Is this even possible?


Generating anything beyond a trivially short vanity phrase takes significant time. It would only be practical in a "vanitygen for hire", "check back later and see if we found one" fashion.

Your clients would need to trust you also having the private keys that can be used to spend their bitcoins (dangerous), and you would need a dedicated web server that can run executable non-script binaries on-demand (dangerous), and have security and audited code to ensure that no client can hack the front-end software to get another person's key (dangerous).

The way I would see a "generation" service working would be to have a vanitygen always running, and when a client wants to have a new address searched for, the address they want is validated as workable, has never been used for anyone else, and is added to vanitygen's PrefixList.txt as I used it above only if the list is not too long already, and the vanitygen process is restarted. Software would have to parse the output regularly to find if an address was found and add it to a user's "found addresses" database. All this should not be attempted by someone who even has a hard time running vanitygen, you are liable to f*#k something up by putting such a system online for hackers smarter than you to mess with.
legendary
Activity: 1918
Merit: 1570
Bitcoin: An Idea Worth Spending
deepceleron and Rassh, you have been both very helpful. Let me quote the exact point at which I get lost, then let me know if there is any hope for me.

Quote
If GPU acceleration is desired, install ATI Drivers v11.11 or newer for ATI video cards or latest Nvidia driver, test that OpenCL is working with GPU miner software.

I need my clients to easily hash their own vanity address without having to purchase, let alone, install hardware and complex programs. Is this even possible?
legendary
Activity: 1680
Merit: 1035
^ What he said
legendary
Activity: 1512
Merit: 1036
...but why can't I do the rest with this program with ease?
I don't get the problem? If you are trying to build it, build instructions are there, and you can look back in the thread for others' experiences building oclvanitygen. The code doesn't have a comment for every line, further hacking it into something different would need coding skills on parity with the creator.

If you are just trying to use it, here's a Windows binary HOWTO that should have been in the original post:

Installation:

  • If GPU acceleration is desired, install ATI Drivers v11.11 or newer for ATI video cards or latest Nvidia driver, test that OpenCL is working with GPU miner software.
  • Download and unzip vanitygen-0.17-win.zip to it's own directory.
  • To interact with the program, you need to open a terminal/shell/command prompt in the program's directory. In Windows Vista/Win7 Explorer, hold down the shift key on the keyboard while right-clicking the folder where vanitygen was extracted, and choose Open command window here.
  • Test CPU operation. This command line will generate a Bitcoin addresses beginning with 1ABCD in around a minute or less:
    >vanitygen 1ABCD
  • Test GPU operation. This command line will generate a Bitcoin addresses beginning with 1ABCDE in around a minute, using the first OpenCL device in your system:
    >oclvanitygen -d 0 1ABCDE

Note that a Bitcoin address must start with 1. The default vanitygen operation is to find a matching prefix (start of address), and you must specify the 1 that begins all Bitcoin addresses.

OpenCL GPU device configuration:

OpenCL is the language used for talking to a GPU, and is installed with the video card driver. If the above GPU command didn't run correctly, generating over 1Mkey/s, then you should examine your OpenCL configuration. Remove the -d 0 option ("use device #0") from the command line above and run it again, which will list available OpenCL devices. Here's mine:

>oclvanitygen 1ABCD
Available OpenCL platforms:
0: [Advanced Micro Devices, Inc.] AMD Accelerated Parallel Processing
  0: [Advanced Micro Devices, Inc.] Juniper
  1: [GenuineIntel] Intel(R) Core(TM)2 Quad CPU    Q6600  @ 2.40GHz


Both a GPU and the system CPU are available in my system; on yours, the GPU may not be the first listed. "Juniper" is this AMD GPU's code name.

The first line is the platform number, the second two lines are the available devices under that platform. Change the -d 0 line in the example above to the GPU desired. If no GPU is shown, the video card driver or OpenCL is not installed properly. If you have multiple OpenCL SDKs or implementations installed, more than one platform may be shown, specify the correct one (e.g. -p 1 for the second platform if shown.)

Example command lines (oclvanitygen, device 0, default platform):

  • Search for exact prefix 1ABCDE, keep searching after first match is found (-k):
    >oclvanitygen -d 0 -k 1ABCDE
  • Search for prefix 1ABCDE in any combination of upper or lower case (-i):
    >oclvanitygen -d 0 -i 1ABCDE
  • Search for ABCD anywhere in address (only supported on CPU vanitygen) (-r):
    >vanitygen -r ABCD
  • Search for prefix 1ABCDE, use a seed file to make address generation more secure and random (-s):
    >oclvanitygen -d 0 -s RandomSeedFile.txt 1ABCDE
  • Search for prefix 1ABCDE, keep searching after first match is found, and save all found address to a file:
    >oclvanitygen -d 0 -k -o GeneratedAddresses.txt 1ABCDE
  • Search for many prefixes at once using a text file listing them (newline after each prefix including last):
    >oclvanitygen -d 0 -k -f PrefixList.txt
  • Use all options above including case-insensitive search, and turn on verbose mode for more information:
    >oclvanitygen -d 0 -v -i -k -f PrefixList.txt -o GeneratedAddresses.txt -s RandomSeedFile.txt

When specifying a case-insensitive address prefix on the command line or in a text file list, you must still only use valid Base58 characters. This means you must only use lower-case i or o, and only upper-case L, or you will get an error.
  • Bad: 1celeron, 1CELERON
  • Good: 1ceLeron, 1CELERoN

I found an address, now what?

Vanitygen finds an address that matches your search parameters, and provides the private key for that address. The private key is never shown to you in the Bitcoin client; it is used behind the scenes, and is the secret part of your address that you should never give to anyone.

The mainline Bitcoin client does not have the ability to use private keys directly, but you can do other things to use bitcoins sent to your new address:

  • Use the "redeem private key" option on MtGox, and input the private key you found. Any Bitcoins sent to the address will now be automatically withdrawn to your MtGox account. This is permanent, there is no option to remove or cancel a private key once it is added to your MtGox account,
  • Use an alternate Bitcoin client, such as Armory, that has an "import private key" feature,
  • Use the pywallet utility to import your private key and address into your Bitcoin wallet.
legendary
Activity: 1918
Merit: 1570
Bitcoin: An Idea Worth Spending
I finally decided to download this simply program so that I would no longer impose upon Rassah to create my vanity addresses. I read the OP and understood it perfectly until I got to GitHub. At this point all bets were off. I continued to read this thread and finally came to the conclusion that if this is easy, I've yet to realize it.

All I want is a place to download the program. Once I have the program install, I fire it up. Once fired up, I set the parameters and press GO. A bell rings when it's done. I'll forego the bell ringing option, but why can't I do the rest with this program with ease?

The reason for asking is that I'm currently working on an idea with the core business model centered around Vanitygen and Firstbits. If I can't easily do it, how am I going to get a following to do it?

~Bruno~ (not Bruno Houdini)


It actually is fairly easy to use. You just have to run it from a DOS window. You could just ask me directly, and I would gladly walk you through it. One important prerequisite first: do you have mining hardware? To generate an address with more than just a few custom letters you need the same kind of hardware you use for mining Bitcoin

Using a DOS window I probably can do for I've used those F-keys at the top of the keyboard before and have been inside the DOS programs of this laptop (or was it with ME--can't remember), but don't have any mining hardware. Perhaps if I knew what the bear equipment I need to buy and shown how easy this could be to do, I may be game into shit!!! I have no choice now but to do this. What are the steps, equipment needed, costs, etc.? Thank you, Rassah.

~Bruno~
legendary
Activity: 1680
Merit: 1035
I finally decided to download this simply program so that I would no longer impose upon Rassah to create my vanity addresses. I read the OP and understood it perfectly until I got to GitHub. At this point all bets were off. I continued to read this thread and finally came to the conclusion that if this is easy, I've yet to realize it.

All I want is a place to download the program. Once I have the program install, I fire it up. Once fired up, I set the parameters and press GO. A bell rings when it's done. I'll forego the bell ringing option, but why can't I do the rest with this program with ease?

The reason for asking is that I'm currently working on an idea with the core business model centered around Vanitygen and Firstbits. If I can't easily do it, how am I going to get a following to do it?

~Bruno~ (not Bruno Houdini)


It actually is fairly easy to use. You just have to run it from a DOS window. You could just ask me directly, and I would gladly walk you through it. One important prerequisite first: do you have mining hardware? To generate an address with more than just a few custom letters you need the same kind of hardware you use for mining Bitcoin
legendary
Activity: 1918
Merit: 1570
Bitcoin: An Idea Worth Spending
I finally decided to download this simply program so that I would no longer impose upon Rassah to create my vanity addresses. I read the OP and understood it perfectly until I got to GitHub. At this point all bets were off. I continued to read this thread and finally came to the conclusion that if this is easy, I've yet to realize it.

All I want is a place to download the program. Once I have the program install, I fire it up. Once fired up, I set the parameters and press GO. A bell rings when it's done. I'll forego the bell ringing option, but why can't I do the rest with this program with ease?

The reason for asking is that I'm currently working on an idea with the core business model centered around Vanitygen and Firstbits. If I can't easily do it, how am I going to get a following to do it?

~Bruno~ (not Bruno Houdini)
legendary
Activity: 2646
Merit: 1137
All paid signature campaigns should be banned.
Your answer to my question is correct.  The question I meant to ask was "What is the probablity of a program restart searching the same area of the key space?"
Jump to: