Hi All,
I've been reading this and other related topics for a few weeks and I'm trying to understand the complexity of the different algorithms and approaches.
For Pollard's Kangaroo algorithm, someone gave an estimate of 2^66.05 operations needed for solving #130 (
https://bitcointalk.org/index.php?topic=5244940.2740 not sure how they reached this conclusion, but from reading about the algorithm it has a similar complexity to BSGS). This equals
~7.6x1019 operations needed.
For BSGS, from reading about it, is has a complexity of O(n
1/2). Taking the square root of the range (2
130 - 2
129 - 1) equals ~
2.6x1019 operations needed.
Is this correct? Is BSGS more efficient, or is it just a wrong way of calculating the efficiency?
I think I'm missing something in estimating the total "operations needed" for these algorithms. Is there a better/correct way of doing this?
Edit: ->
Reading keyhunt's documentation, it says it can easily reach the speed of several peta-keys per second (1018), so I'm definitely missing something...Considering HW limitations, I am still not familiar with how different Kangaroo implementations work, I see that the JeanLucPons' based on VanitySearch requires GPU power (I assume more cores means better, but not sure what is the requirement for VRAM, CPU, RAM).
For BSGS, seems like keyhunt is the best, and works better with more RAM and more CPU cores.
Am I missing anything? Are there any other/better tools available for searching the ranges with known public keys?