Post
Topic
Board Development & Technical Discussion
Re: Vanity Pool - vanity address generator pool
by
runeks
on 23/10/2012, 17:15:50 UTC
What is the difference in performance is on average? We should probably be calculating both of these options, with another ratio factor. The client should decide which method to use. This could become important when scaling up, if there is a lot of available work from different pubkeys.

I have no idea what the difference in performance is, as I don't think anyone has implemented the other method yet. However, I'm afraid it might be dependant on the amount of keys to check. I will add the columns in.

Cool. I added mine to the table. If anyone has data for their hardware and doesn't feel like editing the wiki, please at least post here!
I've added my 5770 to the wiki page.

Shouldn't all our key-speeds be in the "Additive" column though? As far as I've understood (public key point) addition is what's in use now, and (private key) multiplication hasn't been implemented (but should be faster):

There are two ways to do this but one takes less steps inside the time critical loop so would take less time to compute each trial:

Public key addition (described above) steps

1) Generate new key pair
2) Add the generated public key to the provided public key
3) Hash and test
4) If not the vanity address match go to step 1)

Private key multiplication (described elsewhere) steps

0) Set the starting point of all key generation to the provided public key (instead of the normal point G)
1) Generate new key pair
2) Hash and test
3) If not the vanity address match go to step 1)

See how method 1) requires a larger modification to the vanity generation loop and adds a large computational step, point (public key) addition defined over the eliptical curve, into the time critical loop?

I believe that method 2) would run much faster.

After the vanity address is found the only difference between the two methods is that in method 1) the final private key is the modulo sum of the two private keys where as in method 2) is is the modulo product of the two private keys.