VanitySearch icon indicating copy to clipboard operation
VanitySearch copied to clipboard

Version 1.13 -rp and -sp flag

Open SatoshiNakamotoBitcoins opened this issue 6 years ago • 5 comments

@JeanLucPons Can you give us an example of applying the -rp and/or -sp flag succesfully...

Thnx in advance

SatoshiNakamotoBitcoins avatar Apr 18 '19 09:04 SatoshiNakamotoBitcoins

There is few words in the README. https://github.com/JeanLucPons/VanitySearch#generate-a-vanity-address-for-a-third-party-using-split-key-vanity-address

JeanLucPons avatar Apr 18 '19 09:04 JeanLucPons

It does not work, as it seems to me, he is looking for just random addresses.Run in step 2 of your example. VanitySearch.exe -sp 03FC71AE1E88F143E8B05326FC9A83F4DAB93EA88FFEACD37465ED843FCC75AA81 -stop -o keyinfo.txt 1ALice That's what he owes us. Pub Addr: 1ALicegohz9YgrLLa4ADCmam7X2Zr6xJZx PartialPriv: L2hbovuDd8nG4nxjDq1yd5qDsSQiG8xFsAFbHMcThqfjSP6WLg89 that's what he writes to us Pub Addr: 1ALicehECYPb1qAduVLx8VR85JQeQ1AJzH PartialPriv: Kykh3kxyAB4BS5HfNHfqVRGnKcZY5iEb8YrJ5NdesLhX9c8avppv As you can see, it only searches for the prefix 1ALice and the fact that I specified the public key does not affect it in any way.

dem10 avatar Apr 18 '19 16:04 dem10

@JeanLucPons Is there a difference "under the hood" when applying this command:

VanitySearch.exe -t 1 -o output.txt -u -r 1 -sp 04977367164ca24f1f2de2e2cfb9e5c3f22d510d3f33683de200283100af0c8667dba7e4e389fa9953c6cb83d6ea72990e139f529b58cfbbac27607a28207b2a37 16kktFTqsruEfPPphW4YgjktRF28iT8Dby

or

This command:

VanitySearch.exe -t 1 -o output.txt -u -r 1 16kktFTqsruEfPPphW4YgjktRF28iT8Dby

Regarding the same address...

Does the -sp flag with the corresponding public key regarding BTC address in this example speed up the process...

SatoshiNakamotoBitcoins avatar Apr 18 '19 20:04 SatoshiNakamotoBitcoins

The -sp and -rp options are for slipt-key only. This is for generating a vanity address by someone else in a safe manner.

Basically the -sp (start public key) adds the specified starting key (let's call it Q) to the starting keys of each threads. That means that when you search (using -sp), you do not search for addr(k.G) but for addr(kpart.G+Q) where k is the private key in the first case and kpart the "partial private key" in the second case. Then the requester can reconstruct the final private key by doing kpart+ksecret where kpart is the partial private key found by the searcher and ksecret is the private key of Q (Q=ksecret.G). This is the purpose of the -rp option.

The searcher has found a match for addr(kpart.G+ksecret.G) without knowing ksecret so the requester has the wanted address addr(kpart.G+Q) and the corresponding private key kpart+ksecret and the searcher is not able to guess this final private key because he doesn't know ksecret (he knows only Q).

Note: This explanation is simplified, it does not take care of symmetry and endomorphism optimizations but the idea is the same.

JeanLucPons avatar Apr 19 '19 06:04 JeanLucPons

@JeanLucPons Thank you for your extended explanation!

SatoshiNakamotoBitcoins avatar Apr 19 '19 08:04 SatoshiNakamotoBitcoins