Title: Why Pairgen is fast ?
Post by: Kostelooscoin on January 27, 2021, 09:53:52 AM
Hello why is pairgen so fast and how does it work? with vanitygen : thor@thor-All-Series:~/van$ ./vanitygen 1MLEvxNe Difficulty: 873388193410 987.22 Kkey/s] [total 4036352] [Prob 0.0%] [50% in 7.1d] [total 4036352] [Prob 0.0%] [50% in 7.1d
with pairgen : thor@thor-All-Series:~/pairgen$ ./pairgen 40 n = 40bits difficulty = 1234604 distinguished = 11bits threads = 4 init | ...| find_Y |...Y| refine_Y[7] |.................................Y| refine_Y[0] |...S... Y[0] = 63960b937332a82b859a35801456876de48650d0 Y[1] = bcf69bf233f413a4f6be6a26ab6c6d3260da5b3d time = 3827ms
--RESULT-(SECRET)---------------------------------------------------------------
priv_key[1] = 2DCA02F4E17AF59D4F53FA47C88A3DA5ECB2DBD4BC55102A63A7D1B5F92BCDCC priv_key[2] = C9B3646080483325B03337D29B64F78ED2CB3B72A8DD3AEC1D9435E84E5A01DE
WIF [1] = KxkieiAUmkvB29hNgnkCnGY7EZVrW3h2QJSgW1BnMNSNxC717C5h WIF [2] = L3ynpSthAk4eHLe88bJ9srgFQWYeoitgHH7hVpMKX2cJeGg7q3nx
--RESULT-(SIGNATURES)-----------------------------------------------------------
message = "This is a real Bitcoin address." sig[1] = H/eQdTr9ZNaQtpZBlFqgxXJwdFAxcaPqMLiZo10Fp8zNP6g54Y7/8K5ZucmRqIB3iI2ZtFBS6wdrfag2zwKtLsY= sig[2] = H1mIBPAu+Q1D4k1leUaz6l0IF4jXIUG8yU8EXWieaeeQWnV/QutXdZO6r0Q3Dt7rbGJevamYDkYIwoB/j/1ykPk=
--RESULT-(PUBLIC)---------------------------------------------------------------
pub_key[1] = 0262128BE3997ADD392C7A27C5D751E64F7B06039C66F7DB79F91DA2F27EE328 pub_key[2] = 034D9D75D9B9330B77342C09242C028029DAF850C720E6182A9D5A74BDFCE9E7
bonus = 1bits shared = 10 chars hash160 [1] = df060c1e73c2d4fb8463696a6e4df867aa70d1bf hash160 [2] = df060c1e73b63bb1035571ccdf3fdb1f191ed1fb
shared = 8 chars addr[1] = 1MLEvxNeJHjv2Stbsm7Nfaa9nP9A3MFCAU addr[2] = 1MLEvxNeFyxwMeZFyaddeD67ag1rEYVAgf
warning: verify the keys/addresses before use! in less than 10 seconds
Title: Re: Why Pairgen is fast ?
Post by: j2002ba2 on January 27, 2021, 11:02:44 AM
Vanitygen searches for specific prefix. Pairgen searches for matching prefixes.
The difficulty of finding a pair is suqare root of the difficulty finding a specific prefix. This is known as Birthday Paradox (https://en.wikipedia.org/wiki/Birthday_problem).
Finding a 40-bit matching pair is 1,000,000 times faster than finding 40-bit prefix. Well, to be more precise, 890,578 times faster.
Title: Re: Why Pairgen is fast ?
Post by: NotATether on January 27, 2021, 11:27:14 AM
I assume by pairgen you mean https://github.com/basil00/pairgen ?
It's because all pairgen does is look for two addresses with random characters at the beginning, with the only condition being that they have the same N initial characters at the beginning, which can be any combination of characters as long as there's N of them, while vanitygen has to find the private key for an address that must begin with a specific combination of characters and there are so many different addresses that do not start with that prefix that finding one that does is slow - like finding a needle in a haystack.
Title: Re: Why Pairgen is fast ?
Post by: ProjectSe7en on December 16, 2022, 10:47:24 PM
Hello why is pairgen so fast and how does it work? with vanitygen : thor@thor-All-Series:~/van$ ./vanitygen 1MLEvxNe Difficulty: 873388193410 987.22 Kkey/s] [total 4036352] [Prob 0.0%] [50% in 7.1d] [total 4036352] [Prob 0.0%] [50% in 7.1d
with pairgen : thor@thor-All-Series:~/pairgen$ ./pairgen 40 n = 40bits difficulty = 1234604 distinguished = 11bits threads = 4 init | ...| find_Y |...Y| refine_Y[7] |.................................Y| refine_Y[0] |...S... Y[0] = 63960b937332a82b859a35801456876de48650d0 Y[1] = bcf69bf233f413a4f6be6a26ab6c6d3260da5b3d time = 3827ms
--RESULT-(SECRET)---------------------------------------------------------------
priv_key[1] = 2DCA02F4E17AF59D4F53FA47C88A3DA5ECB2DBD4BC55102A63A7D1B5F92BCDCC priv_key[2] = C9B3646080483325B03337D29B64F78ED2CB3B72A8DD3AEC1D9435E84E5A01DE
WIF [1] = KxkieiAUmkvB29hNgnkCnGY7EZVrW3h2QJSgW1BnMNSNxC717C5h WIF [2] = L3ynpSthAk4eHLe88bJ9srgFQWYeoitgHH7hVpMKX2cJeGg7q3nx
--RESULT-(SIGNATURES)-----------------------------------------------------------
message = "This is a real Bitcoin address." sig[1] = H/eQdTr9ZNaQtpZBlFqgxXJwdFAxcaPqMLiZo10Fp8zNP6g54Y7/8K5ZucmRqIB3iI2ZtFBS6wdrfag2zwKtLsY= sig[2] = H1mIBPAu+Q1D4k1leUaz6l0IF4jXIUG8yU8EXWieaeeQWnV/QutXdZO6r0Q3Dt7rbGJevamYDkYIwoB/j/1ykPk=
--RESULT-(PUBLIC)---------------------------------------------------------------
pub_key[1] = 0262128BE3997ADD392C7A27C5D751E64F7B06039C66F7DB79F91DA2F27EE328 pub_key[2] = 034D9D75D9B9330B77342C09242C028029DAF850C720E6182A9D5A74BDFCE9E7
bonus = 1bits shared = 10 chars hash160 [1] = df060c1e73c2d4fb8463696a6e4df867aa70d1bf hash160 [2] = df060c1e73b63bb1035571ccdf3fdb1f191ed1fb
shared = 8 chars addr[1] = 1MLEvxNeJHjv2Stbsm7Nfaa9nP9A3MFCAU addr[2] = 1MLEvxNeFyxwMeZFyaddeD67ag1rEYVAgf
warning: verify the keys/addresses before use! in less than 10 seconds Hi, how you do for search using this 1MLEvxNe as prefix in pairgen?
|