Introduction
These have been around for a long time now but they are still nonetheless pretty neat. They are called vanity addresses because you can create a bitcoin address with certain starting letters that spell out words such as your name or your brand.
What does a bitcoin address look like?
A bitcoin address is like a bank number. You give it or show it to people who then use it to send you bitcoins, litecoins, ether or whatever crypto currency you prefer. Wallets create these addresses randomly and a sample bitcoin address looks like this: mr4WeSWGzg8ND2qbpvKJqq2LgMq3HfB6EW
This is an address from testnet, which is a test blockchain for development.
You can see the transaction history at: https://tbtc.blockr.io/address/info/mr4WeSWGzg8ND2qbpvKJqq2LgMq3HfB6EW which shows that 0.2btc has been sent to this address. Again, the 0.2 btc are not real so not worth anything.
What does a bitcoin vanity address look like?
For those who want to get fancy, they can create addresses such as: 1appleWGzg8ND2qbpvKJqq2LgMq3HfB6EW or 1microsoft8ND2qbpvKJqq2LgMq3HfB6EW
It makes the address stand out and a little unique hence the name vanity addresses.
Things to consider
- Generating vanity addresses with more than 7 letters can take years. This is because the computer goes through all the possible combinations in order to find addresses starting with these letters. 6 letters generally takes hours. Below is a screen shot where creating an address with the words bitcoin at the start will take 2.6 years! Of course you could get a faster CPU or even use graphics cards but still.
- Address re-use is generally considered bad practice. Every transaction should use a new bitcoin address to reduce the possibility of address correlation which increases a persons privacy exposure co-efficient.
- The benefit of reusing an address is to show an audit trail of donations for example. If you have nothing to fear, you have nothing to hide.
- All funds going to that address can be seen on any blockchain explorer.
How to create a bitcoin vanity address?
The easiest way to generate a vanity address is to download Vanitygen from https://bitcointalk.org/index.php?topic=25804.0
If you use the windows version, you can get up and running in seconds. Download the zip file, extract it and then open a command line and navigate to that folder.
Then run:
>vanitygen.exe 1test
The screenshot below shows that it will take about 14 minutes. This does depend on your CPU though. The example below was done on an Intel i3 so it’s quite slow.
What you should get when it’s finishes is the address and the private key. The private key should be kept secret and not revealed to anyone.
How do I use my GPU to speed up the process?
You can run this command
> oclvanitygen.exe 1test
which means use the OCL version of vanitygen.exe. OCL is the OpenCL version.
Your GPU’s should be detected. To run it, use this command:
> oclvanitygen.exe -D 0:0 1test
This means use the GPU at 0:0. If you have 2, use:
> oclvanitygen.exe -D 0:0 -D 0:1 1test
Errors
If get you this error:
C:\Users\hp7446a0be58ca\AppData\Local\Temp\\OCL5108T3.cl:173:19: error: constant address space qualified variables are required to be initialized 2 errors generated. error: Clang front-end compilation failed! Frontend phase failed compilation. Error: Compiling CL to IR
Then open up the file calc_addrs.cl (in the vanitygen directory) and around line 170 change:
__constant bignum bn_zero
to
__constant bignum bn_zero = { 0 }
If you get the following result:
Match idx: 0 CPU hash: 98ea7880df7a77894766b188f2e4a108b7587cce GPU hash: 09bf67116407381c1ab321fb17415c332676a98d Found delta: 8380733 Start delta: 1 [1.46 Mkey/s][total 8388608] atch idx: 0 CPU hash: dfb3ee7568a67e146a130c34c435510ee24f07c0 GPU hash: 09cc95e7ad00520e28a94b66a50d0803c6959332 Found delta: 8385423 Start delta: 1 [1.31 Mkey/s][total 16777216] atch idx: 0 CPU hash: dd521582971523324d26241cb6897613faa5433a GPU hash: 09b10780c44af2aba351e58affe0b727606784ab Found delta: 8388561 Start delta: 1 [1.26 Mkey/s][total 25165824]
It means that there was a CPU hash mismatch to GPU hash so it keeps on trying. This will continue forever. Stop it and rerun it with
> oclvanitygen.exe -S -D 0:0 -D 0:1 1test
which means safe mode which disables unrolling optimization. It should do the trick.
Summary
A vanity address is a nice to have address useful for auditable and open transactions such as donations and not typical daily transactions. The time it takes to generate ranges from minutes to years depending on the how long the desired word is and you can generate it yourself or pay for a service to do it for you.
Is there an option to limit the gpu rate? I cant use my pc while searching for a bitcoin address 😀
Not that I know of.