30

I guess you mean Vanitygen: https://bitcointalk.org/index.php?topic=25804.0 From that page: Vanitygen is a command-line vanity bitcoin address generator. Vanitygen accepts as input a pattern, or list of patterns to search for, and produces a list of addresses and private keys. Vanitygen's search is probabilistic, and the amount of time ...


25

It's impossible to say for sure what's a vanity address and what's generated purely at random, but 1CFBdvaiZgZPTZERqnezAtDQJuGHKoHSzg is 34 characters with no digits in it other than the initial '1'. That may well be a vanity address. Then again on average 1 in every 515 34-character addresses you generate won't have any digits in them other than the ...


18

From what it appears, yes, it is possible, and quite simple really to outsource vanity address creation to a third party without risking anything. Bitcoin addresses are created from ECDSA keypairs. Their property is that if you take two private keys and add them together (with appropriate modulo operations), the sum will map to a public key that is the same ...


14

Install OpenSSL. When the executable in your path, enter this command to generate a private key: openssl ecparam -genkey -name secp256k1 -noout -out myprivatekey.pem To create the corresponding public key, do this: openssl ec -in myprivatekey.pem -pubout -out mypubkey.pem This will give you both keys in PEM format. I'm not sure what format the web page ...


12

Proper syntax for VanityGen is: Usage: vanitygen [-vqrikNT] [-t <threads>] [-f <filename>|-] [<pattern>...] Generates a bitcoin receiving address matching <pattern>, and outputs the address and associated private key. The private key may be stored in a safe location or imported into a bitcoin client to spend any balance received on ...


12

The characters excluded in Base58 are 0OIl. oiL are allowed, making these two valid addresses. It is impossible to send to an invalid address, as Bitcoin transaction scripts actually include raw 160-bit hashes (which by definition have a one-to-one correspondence with valid addresses), not addresses. Bitcoin clients will simply refuse to do anything if an ...


12

From a cryptographic point of view, there is just one type of private keys and one type of public keys. A private key is an integer in the range 1 to 115792089210356248762697446949407573529996955224135760342422259061068512044368, a public key is a point on the elliptic curve secp256k1. No magic here. The problem is that Bitcoin uses addresses, and addresses ...


11

None. It's impossible to send bitcoins to an invalid address. Those addresses are valid, though they might not be owned by anyone. Look at pszBase58 more carefully: 'o', 'i', and 'L' are allowed. The first few posts in that forum thread are wrong. The network doesn't know anything about Bitcoin addresses. At the network level, you never send bitcoins to an ...


10

The probabilities are detailed here: https://en.bitcoin.it/wiki/Vanitygen#Difficulty_of_finding_a_vanity "The difficult of finding a vanity address depends on its exact structure (leading letters and numbers) and how likely such an output is given the algorithms involved, which can consist of several pivots where the difficulty suddenly changes." ...


9

I would recommend using Homebrew or MacPorts to manage this dependency. The Homebrew package is simply pcre or pcre++. brew install pcre pcre++ The MacPorts packages are pcre and pcrexx. sudo port install pcre pcrexx


9

Thanks to Elliptic Curve cryptography, a third party doesn't need to know the private key to generate a vanity address, as JoelKatz describes here: http://bitcointalk.org/index.php?topic=81865.msg901491#msg901491


9

Yes, the concept is known, and called "vanity address". The problem with it is that it takes a lot of computing power. However, there is also a "split-key" method of generating vanity addresses, which lets you commission other people for the computing work. And finally, I created a website called Vanity Pool that handles a sort of free market of vanity ...


8

There's this thread on bitcoin talk: https://bitcointalk.org/index.php?topic=90982.0 I personally generated this address: 1BoyishnessfwHq3wSkCkJ7iafUdjhghfU which is the longest one I'm aware of that's not mixed case. It was generated by feeding oclvanitygen a large number of potential prefixes from a large wordlist.


8

tl;dr If you stop vanitygen for 5 minutes, on average you've added 5 minutes to the time it will take to complete. While it is running, vanitygen tells you how much longer it will take until you have a 50% chance of finding a suitable address. About half the time, that countdown will reach zero, and then the countdown starts again, but this time showing ...


8

Bitcoin addresses are 160-bit numbers. Hence, randomly finding a private key corresponding to an address takes on average 2^160 attempts. If 4 billion computers work on cracking a key doing 1 billion calculations per second for 15 billion years, they will find a total of 1.8*10^36 keys, so their chance to hit a right one is (1.8*10^36)/(2^160) = 1.23 * 10^(...


8

The rules are the same, but the available range is different. In the testnet the address prefix is 111 (https://en.bitcoin.it/wiki/List_of_address_prefixes). To deduce the address you write in base58 the prefix concatenated with a 160 bit (20 bytes) hash of the public address and a checksum of 4 bytes (https://en.bitcoin.it/wiki/...


7

VanityGen uses the GPU to generate addresses until a desired match is found. On my 5870 it does about 27 million addresses per second.


7

You can generate a vanity address using various generators, such as Vanitygen for example. This option assumes you have a computer with decent GPU, as creating a long vanity address requires a lot of computation. If you don't have a particularly good piece of hardware and would still like to own a lengthy address, recently split-key vanity address mining ...


7

I ran vanitygen -k 1, which will keep creating addresses matching the pattern 1* until stopped, for approximately five seconds and it generated more than 3,000 addresses. No GPU assistance here. So, do this: In one Terminal tab, run vanitygen or oclvanitygen: vanitygen -k -o addrs 1 In another Terminal tab, run this: watch 'echo "`wc -l addrs | egrep -o ...


6

Namecoin addresses, like Bitcoin addresses, are Base58 encodings of a public key hash. The encoded data starts with a version byte, and the value of this byte affects the first characters of the result. Namecoin addresses specifically use a version byte of 52, which dictates a certain range of initials. The prefixes you listed are simply too high - they ...


6

!WARNING! The vanity address site below was hacked in December, 2013, but the site owner only recently posted an update admitting the hack: https://bitcointalk.org/index.php?topic=118968.0 More than 4 Bitcoins total have been stolen to date, as you can see from Blockchain records (note the number of vanity addresses dumping coins, and you'll see that ...


6

You can do this manually using the hex/base58check converter (such as the converter on brainwallet.org) Remove the starting 1 and convert from base58 XXXXXXXXXXXXXXXXXXXXXXXXXXX to hex: 25c7415deb828c49ccb799c452ae17589bca1af2 (make sure result is 24 bytes) Remove last 4 bytes to get a 20-byte hash: 25c7415deb828c49ccb799c452ae17589bca1af2 -> ...


6

The 160-bit hash that is encoded in addresses is uniformly distributed ("truely random" as you call it), but the base58 encoded form is not. Some characters are more likely to occur at the start, for example. To illustrate, consided the set of all integers between 0 and 1999. Even though each of those numbers is equally likely to be chosen, this is not true ...


6

I'd assume it's just so people reading the docs won't try to "tip" the writer and send to a foobar address that was made up for the sake of example That is correct! Other than that, there is no other real point at all. These bitcoins are gone forever and no one will ever be able to get them. However there is some projects or new coins that does Proof-Of-...


5

It shouldn't, otherwise it would indicate a weakness in the generation of the addresses. The vanitygen should initialize itself with a random private key number each run, otherwise it would be really easy to generate an exact same vanity address someone else generated.


5

Samr's vanitygen gets its initial private key from OpenSSL's random functions, which have been well vetted. Even if you specify a random seed (which is a good idea to add even more randomness) the entropy generation random libraries from the crypto is still used. It has equal randomness and strength as Bitcoin's address/key generator, with the exception that ...


5

If you mean as part of a URL or domain name, then yes, I think it's a bad idea. If your private key is somehow compromised (eg through a stolen or hacked PC) you may no longer want to use that address, but your users may have it in their bookmarks for years afterwards. However, as long as it didn't have any particular meaning (such as being accompanied by ...


5

It is the same thing as a vanity plate which are used for cars. That is: An address which you choose yourself (or at least part of it). For example the address of Bitcoin24 is 1BTC24yVKQdQNAa4vX71xLUC5A8Za7Rr71 (watch the first six characters!). See this question How can I generate a vanity Bitcoin address?


4

To generate an Elliptic Curve private key in PEM format using the secp256k1 curve (which is the one used in Bitcoin): openssl ecparam -genkey -name secp256k1 -out tmp/data.pem To convert the private key from PEM (human-readable and extended) to a hex format: openssl ec -in tmp/data.pem -outform DER|tail -c +8|head -c 32|xxd -p -c 32 To retrieve the ...


4

just in case anyone still looking for an answer: in pattern.c just put the full path to pcre.h (use locate pcre.h to find a path for it; if you don't have the file just install pcre package first). It should compile fine afterwards.


Only top voted, non community-wiki answers of a minimum length are eligible