Author

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

legendary
Activity: 1512
Merit: 1036
Strange, the difficulty of 1Firo is significantly lower than that of 1Sivo - why?

vanitygen.exe 1Firo
Difficulty: 4476342

vanitygen.exe 1Sivo
Difficulty: 264104224

The change happens at a particular address:

Prefix difficulty:                77178 1QLa
Prefix difficulty:                78362 1QLb
Prefix difficulty:              4553521 1QLc

This is a quirk of how the 25-byte (50 digit hexadecimal) Bitcoin address is converted into Base58 (represented by numbers and letters), and the different maximum values that can be stored in 25 base256 digits vs 34 base58 digits.

The Bitcoin address in it's native binary form (that you never see) is 25 bytes, it's parts are:
byte 0: Network ID Byte (0x00 for main bitcoin network)
byte 1-20: ripemd160 hash (20 bytes) of sha256 hash (32 bytes) of 0x04+public key (65 bytes)
byte 21-24: checksum: first four bytes of sha256 hash of sha256 hash of bytes 0-20 above

This would be 50 hexadecimal characters long (base16), with a possible digit value between 0-F.

We will ignore byte 0, it is always 0x00, and Base58 conversion always preserves this leading 0 byte by directly encoding it as a "1".

That means the "vanity" part of the address is bytes 1-24, 24 bytes of random hash output, or 48 hexadecimal digits. The maximum value that this can be is 0x FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF ffff ffff (the lower case "f"s are the checksum, and won't be all FFFFs for the maximum ripemd160 value.)
We can guess from the output below that this maximum possible address value encoded in Base58 becomes 1QLbxxxxxx.... something:


1QLa8LNNFeYs7KJWvxMdR5YtRjkwtQtkyb
1QLabhman6ZQyz3musbqV1RjFmE3pyT29j
1QLaJHv2LCSYo8WgT9qPf4rdttduRGyozX
1QLarwzJCUWGuQEZ4uWPsYVz8N2P5XmeQU

1QLckWG2tx17suupYU2FfeWunTCZMuJKW
1QLcMk7NVLwvg8gw2ihJTuG8x7WLYCjMg
1QLcLr6AoN687CpH1JZnfeMmWvUka5NHX
1QLc47945bSCv4J1Z4yRuvUbtooQqmGJ1
1QLcU9NNxaqfvqMRXD8dFtL2SktL3YmBT
1QLc1D24uDbvy327MzifEChVvATAeDsbF


See how the 1QLa addresses are full length, but the 1QLc addresses are one digit shorter? That is because the only way to have an address starting at 1QLc or greater is by having a binary address that is 59x smaller.
legendary
Activity: 1092
Merit: 1016
760930
Strange, the difficulty of 1Firo is significantly higher than that of 1Sivo - why?

vanitygen.exe 1Firo
Difficulty: 4476342

vanitygen.exe 1Sivo
Difficulty: 264104224
legendary
Activity: 2646
Merit: 1137
All paid signature campaigns should be banned.
Hmm. outsourced vanity address generation?
Discussed many times.  I really should get off my butt and just do it.  I keep waiting for someone else to do it.
hero member
Activity: 532
Merit: 500
Hmm. outsourced vanity address generation?
full member
Activity: 736
Merit: 100
Adoption Blockchain e-Commerce to World
Is there a "fast" way to generate an address with up to 8-9 vanity characters? By fast I mean like within 24 hours.
Yes, use a lot of video cards and run your request on all of them.

I'll take that as a no :\
If you have a BTC mining farm you can use it to find vanity adresses but during that time you cannot mine BTC.  With enough power you can find an 8-9 character vanity address in 24 hours.

Yeah I don't have the equipment to do that but it's okay. I'm happy with 5.
legendary
Activity: 2646
Merit: 1137
All paid signature campaigns should be banned.
Is there a "fast" way to generate an address with up to 8-9 vanity characters? By fast I mean like within 24 hours.
Yes, use a lot of video cards and run your request on all of them.

I'll take that as a no :\
If you have a BTC mining farm you can use it to find vanity adresses but during that time you cannot mine BTC.  With enough power you can find an 8-9 character vanity address in 24 hours.
full member
Activity: 736
Merit: 100
Adoption Blockchain e-Commerce to World
Is there a "fast" way to generate an address with up to 8-9 vanity characters? By fast I mean like within 24 hours.
Yes, use a lot of video cards and run your request on all of them.

I'll take that as a no :\
legendary
Activity: 2646
Merit: 1137
All paid signature campaigns should be banned.
Is there a "fast" way to generate an address with up to 8-9 vanity characters? By fast I mean like within 24 hours.
Yes, use a lot of video cards and run your request on all of them.
full member
Activity: 736
Merit: 100
Adoption Blockchain e-Commerce to World
Is there a "fast" way to generate an address with up to 8-9 vanity characters? By fast I mean like within 24 hours.
staff
Activity: 4256
Merit: 1208
I support freedom of choice
Is it difficult to make a Oclvanitygen for Onion addresses ?
https://bitcointalksearch.org/topic/gpu-based-onion-hash-generator-32501
full member
Activity: 196
Merit: 100
Web Dev, Db Admin, Computer Technician
vanitygen running well @ 113 Kkeys/s on the CPU's. Dual core and both CPU's are at 100%.
full member
Activity: 196
Merit: 100
Web Dev, Db Admin, Computer Technician
Quote
I'm an apt-get type of person and never have used git. Could someone explain the process?
I hacked up an example from an unrelated git tut but needs some fill in the blanks or corrections.
Are there any dependancies that need to be satisfied before running?
I don't plan on using oclvanitgen as hardware doesn't support 11.11, maybe 8 or 9. Wink Will I be limited to what I can look for?

Code:
steps on how to compile under Linux:
 $ git clone https://github.com/samr7/vanitygen.git
 $ cd *where?*
 $ git checkout -b *what is going on here?*
 $ ./autogen.sh && ./configure *anyflags needed here?* && make
 $ sudo make install
I moved this question to technical support, it would help if I read to the end of sentences more often. Cheesy
My bad, move along.
legendary
Activity: 2912
Merit: 1060
I am getting this error

Read 131072 bytes from RNG seed file
Difficulty: 50656515217834
Compiling kernel, can take minutes...done!
WARNING: AMD BFI_INT patching failed
legendary
Activity: 2646
Merit: 1137
All paid signature campaigns should be banned.
hero member
Activity: 742
Merit: 500
Has anyone worked on getting secure zero-trust generation of vanity addresses by a third party?

Something like the user generates a private key and a public key and then gives the public key to someone with a bunch of hashing power.  They take the given public key and multiple it by a private key generated by vanitygen2.0. If that gives an address that matches the search pattern, the private key is sent securely back to the user.

I think this could be a great service.

I can't think of a way for the third party to prove they have generated the address without giving the key to the user.  I was trying to figure out how to monetize this.


EDIT: It looks like Armory has the math for this built in.

(1)Emulated 2-of-2 multisig  Note:  this is only for the case that one party will be redeeming the full amount of the encumbered funds:  there is no trust-free way to split the funds with this method (which makes it useful for Casascius+OtherParty physical bitcoins).

  • Each party produces a new address (which should not be in their wallet [explained later])
  • From the wallet properties dialog, or the "Keys" tab in the calculator, fetch public keys and exchange with the other party.
  • Fetch your own private key for the public key you just sent
  • Use the middle entry in the calculator dialog, to multiply the other person's public key (enter x,y pair) by your private key
  • Both parties get the same answer!  This is because party A has private key a and public key a*G and party B has private key b and public key b*G.  Both parties then end up producing a*b*G which is a new public key.  However, neither party can calculate a*b (which is the private key for the public key both parties calculated).
  • Calculate the address for the public key, and fund it with the amount of money agreed upon.

This is called an "Elliptic-Curve Diffie-Hellman" exchange (ECDH).  It is usually for creating a shared secret with your public keys (such as an encryption key).  In this case, it lets you produce an address that only someone with both private keys can access.  At the end of this process, one person must send the other person their private key, so that they can calculate the shared private key and redeem the funds!  This is why the private key you generate should not be part of any wallet, because it will eventually be shared and you never want to share a private key in one of your wallets!  

This could be used by Casascius and another party:  Casascius and other party execute the process above, and fund the address with 1000 BTC (for a 1000 BTC gold bar).  Casascius gets his hand on the gold bar, and puts his tamper-proof private key on it.  He sends it to the other party, and they put their tamper-proof private key sticker on the other side.  Now, the user with the gold bar is the only person that will ever see both private keys (once he peels them off) and thus, the only person that can ever spend them!  Just plug one into the 'a' field of the calculator and the other one into the 'b' field of the calculator  (if Casascius wanted to do this, I would add a simpler, reduced interface for multiplying private keys, but it is technically do-able as-is).



EDIT: I am so rusty when it comes to C.  I don't think this would be too complex to write, though.  It would definitely slow down address generation since you have to do some key multiplication.  A public key would be need to be passed as an additional argument.
legendary
Activity: 1680
Merit: 1035
There will be two weeks for the difficulty change, and many more weeks for those mining at a loss to finally quit. I don't expect the price to change almost at all from that, since miners have little if any effect on the market. So, for a few weeks mining will be very unprofitable, and likely getting blocks to confirm your transactions will take way longer than normal. Just in time for the holiday shopping season, too  Tongue
legendary
Activity: 3472
Merit: 1722
I an guessing that vanity names will explode in usage after the reward block halves, since Bitcoin mining will be very unprofitable at that point, and there will be a lot of hashing hardware sitting idle. I recently decided to focus on mining while I can, and put my vanity name generation off until next year.

The difficulty:price ratio will also change and only that's important (apart from maybe liquidity on exchanges).
legendary
Activity: 1680
Merit: 1035
I an guessing that vanity names will explode in usage after the reward block halves, since Bitcoin mining will be very unprofitable at that point, and there will be a lot of hashing hardware sitting idle. I recently decided to focus on mining while I can, and put my vanity name generation off until next year.
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.
You mean like the error you get if you try to search for 50,000+ addresses at once?

no just one.
Jump to: