0

I generated a Bitcoin vanity address having a string “TEST” in it.

> vanitygen -v -1 -F pubkey -C BTC 1TEST
Generating BTC Address
Prefix difficulty:            264104224 1TEST
Difficulty: 264104224
Using 16 worker thread(s)
BTC Pattern: 1TEST
Pubkey (hex): 0488ee6eb5f11979685086810a148f3cc25573e6b86572e8e79fc22ec7d9dc9d561e490b7f61d438eef870343e524d1f44518ed3cc86922b2ba3cff74e69e6c7b3
Privkey (hex): F0EFC073E94C15DFAF10660005B5DF0E9654636A7A9E97738524C0896092D871
BTC Address: 1TESTUYn69qjvxwmHAXWCdDL7vRDJxAo8
BTC Privkey: 5KePyu3mmr9TJxmFsqGxDR1kS8W28PKgfs4SCALi2Yf5D4UFyF8
[2.54 Mkey/s][total 184456984][Prob 7.4%][50% in 1.1min][Found 1/1]

I want to make such ones for other coins, too. If I could make altcoin vanity addresses of the same key pair preserving the “TEST,” that would save some computational resources for me.

Some altcoins seem to have similar address generation steps with Bitcoin, but not sure if there’re any cases where this idea works.

Are there any? If so, which coins, for example? If never, why is it?


Bitcoin address generation

1

I want to make such ones for other coins, too. If I could make altcoin vanity addresses of the same key pair preserving the “TEST,” that would save some computational resources for me.

This would work for other coins with the exact same address alphabet as Bitcoin (which is most bitcoin clones), and the exact same version byte.

Addresses in bitcoin are derived by:

  1. Taking the payload (which is the HASH160 of the pubkey or redeem script for p2pkh and p2sh addresses) and concatenate it with the version byte (0x00 for p2pkh, 0x05 for p2sh)
  2. Sha256d(step 1) to get a hash of the payload and, taking the first four bytes as a checksum
  3. Base 58 encoding the results of 1 and 2

While this is a simplified explanation (more details can be found here), it is immediately obvious that attempting to change the version byte will result in a different value for the checksum, which will lead to a completely different base58 encoding. Therefore, if your altcoin does not use the exact same version bytes for the same address type, it will not be able to encode the same vanity phrase for a given key.

Moreover, coins which don't follow Bitcoin's address schemes will also encode differently - for example, Ethereum takes the keccak256 hash of the pubkey, and selects the last 20 bytes as the address - this is also going to lead to a total loss of the vanity phrase (especially since the alphabet is now just 0-9A-F, so TEST is never possible in anycase).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.