Bitcoin Forum
December 14, 2024, 03:50:30 AM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: [1]
1  Bitcoin / Project Development / Re: Keyhunt - development requests - bug reports on: March 20, 2024, 05:37:23 PM
Hi all, Alberto,
Has anyone done tests of KeyHunt (and shared the results) with very large amount of ram - say 512GB - 1TB? I'm thinking of doing this myself to at least document the speed gains (relationship between the n and k values, and the speed reported). To my understanding, adding more ram will significantly increase the speed because you can use a higher n and k values. I believe adding more RAM is much more beneficial to adding more CPU power, but of course both are important.
Edit: I'm talking about BSGS mode, of course.

Please delete this if it's off-topic for this thread.
2  Bitcoin / Bitcoin Discussion / Re: Bitcoin puzzle transaction ~32 BTC prize to who solves it on: March 18, 2024, 09:34:19 AM

Did you read his GitHub? He has ranges and keys to benchmark your speed.

And just because you could solve 120 in say a day, doesn’t mean you could solve 125 in 32 days. If the key is in the beginning of the range, before 120s, in relation, you’d solve faster than 32 days. If it was after, then more than 32 days.

Keep it easier,
If a key in the 120 bit range was in the 8s and it took you one day, if 124s key was in the Fs, it would take you longer than 16 days. Make sense?

To give a better, worse case scenario, determine your speed, then calculate time taken by taking the last possible check in a range, (based on how large your baby step file is) and divide it by your speed.

Yes, I've been reading the README, the code, and the description of the algorithm on wikipedia and other publications. I can't yet connect all the dots, but this helps, thanks!

So, is the n parameter the size of the range "chunk" you are looking at one at a time per thread (still unsure what k does)?
3  Bitcoin / Bitcoin Discussion / Re: Bitcoin puzzle transaction ~32 BTC prize to who solves it on: March 17, 2024, 10:56:07 PM
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.

https://andrea.corbellini.name/2015/06/08/elliptic-curve-cryptography-breaking-security-and-a-comparison-with-rsa/

You are mixing operations per second and keys per second and those aren't the same.

In BSGS with a precalculated set of 100 million keys, you only need to do a single operation ( publcikey subtraction) to determine if a key is in some 100 million keys right, that is 1 single operation but it give you a speed of 100 million keys / time, that is the difference, while bsgs do some thousands of subtraction per second (operations) it will give you some petakeya/s (speed) it is different way to measure it.

Thanks Alberto, this is indeed what I was missing. I'm trying to understand the exact purpose of the n and k parameters of keyhunt. Is n in this case the number of pre-calculated keys? I'm trying to understand the efficiency of the algorithm - how long it would take to finish a full scan of a given range. Is it as simple as range size (keys) divided by speed (keys/s reported by keyhunt)? I'm assuming not, since this is not a brute-force algorithm.

Every fifth range is 32 (25) times bigger than the last (e.g. the range for #130 has 32x more keys than the one for #125). If I could benchmark my system on how fast it could solve a simpler BSGS puzzle (say #125), how do I extrapolate on how fast it would do with #130? I assume it's faster than 32x the time it takes for #125.

No, once you try to move the funds, the public key is exposed.
A single modern GPU can solve #66 in less than a minute, with a known public key.
So how do you safely move the funds from 13zb1hQbWVsc2S7ZTZnP2G4undNNpdh5so ?

You can build a bot that monitors the mempool (pending transactions) to make sure that there's no one else trying to send your BTC to another address (since they can easily calculate the private key once you publish your transaction). If anyone else is trying to do that, you can send another transaction with a higher fee to out-bid the other parties, but this can create a vicious cycle where no one wins because you all keep increasing the fee for your own transactions until nothing is left.
4  Bitcoin / Bitcoin Discussion / Re: Bitcoin puzzle transaction ~32 BTC prize to who solves it on: March 17, 2024, 11:42:58 AM
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(n1/2). Taking the square root of the range (2130 - 2129 - 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?
Pages: [1]
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!