I was reading the python. I'm an old programmer but not a python programmer. What is the input.txt file?
The input file contains, in line order:
the amount of memory to be used to fill baby steps
start range
end range
pubkey1
pubkey2
etc
etc
This is a super waste of time. The best-of-the-best of anything on GITHUB is jean-luc 'Kangaroo', but even that you must be within the search range of 2^40, but then on that range of a real-space of 2^256, your not even in right galaxy 1/2^216
You get one-at-a-time search hashes in python, what are you doing 100 keys/sec??
You have to program in C/C++, you have to know how to program GPU's;
BTC key-space is 2^256, that is 10^77, that is the number of electrons in the known universe; One at a time you could not even be looking in the right galaxy for your lost electron.
The way its done is to parallel search of all keys at once, all 300M bitcoin addresses, that way on every search cycle your looking all at once in one nano-second is this priv-key, is this hash in the bloom-filter abstracting 300M keys, yes or no. If it is, then you print out that key, and you have found a private-key to a real bitcoin address.
Running on RTX-3070 cards, I'm seeing 2500M keys/sec, but because I'm comparing 300M on each cycle, its really 100B keys/sec, even then with the birthday problem 2^128, I figure the odd's of hitting a high-value address is 1,000 days, I run a mining rack of 4 RTX-3070's, and I'm doing over 10,000M cycles/sec ( times 300M ). WHen I say 1,000 days. Which is once every 3 years.
Just a few years ago with GTX-1070 cards I was doing 200M keys/sec, with 4gb bloom-filters( 100M) bitcoin addresses.
There are only about 10k high-value addresses on bitcoin
There were at one time 1,000's of public-keys with high-value, but post 2013-ish they hashed the public-key, so their no longer available, note "Kangaroo' only works if you have a public-key. Note that the only priv-keys ever found were toy problems where they gave you an priv-key that was close to the 2^40 range
...
There are two ways you can hack, crack, or bust Bitcoin.
1.) Is by math, that means you know the public-key, you search for it; The fastest technique on earth to date is pollard-rho/lambda, aka now called kangaroo, but it only works on toy problems, the current is around 2^110
There are other ways to hack a public-key, such as endomorphisms, and pairing; You can google these subjects; "ECDLP discrete log problem pariring/endomorphisms" read the papers.
I know this stuff is working, because two years ago here were 1,000's of BTC public-keys still with high-value ( pristine ), today there are less than 900, they get hacked about 10 / month; I spend about 1/2 my time on this activity so I'm up on what's being done
2.) The other way is hack is brute force, or just search the entire 2^256 space randomly; Which is what I'm talking about above with GPU test 10,000M priv-keys/sec, and look to see if the hashed address is in the 300M ( 64gb bloom ), if you get a hit, you still need to do a binary-search using 'xxd & sort -u', and binchk ( see original brainflayer for binchk ), that is 100% instant verification, the bloom-filter will always have some false positive, even 300M addresses in a 64gb bloom will find false postivies, the final binary-search lets you know that you a good key for sure.
...
If you say I don't know C/C++, or I can't program a GPU, then you really shouldn't even be playing this game.
If you don't have $10's of 1,000's of dollars for AMD 64thread-ripper cpus, and dozens of 4TB ram-drives, you shouldn't be in this game, your cpus must have 128GB of ram, and of course these days the RTX graphics cards are unavailable for any price
My feeling is the next generation graphics, will find keys in 100 days, as I'm seeing this stuff get faster 10x every 1-2 years, but you need to stay on top of the latest gen
...
Baby-step-giant-step is for toy problems, so people can learn about point-counting and simple elliptic-curve arithmetic
If you don't have the equivalent of a masters in math, then you will have a hard time exploring the type #1 hacking above, if you don't have lots of money, and cpu-gpu you'll have a hard time doing #2, and of course you must be able to do C/C++, and program gpus; the off the shelf stuff on GITHUB is 99% worthless; Like they say, if it worked they wouldn't be giving it away for free.
...
Some say "how often do you find keys", I would say once in a while 0.001 here, 0.05 there, I just put the private key into an CSV file, and then run checks to see if the money is still there in all cases, 1-2 years its gone, I have no long term keys that still have money
On checking adresses you must host a Bitcoin-NODE, and electrum-wallet server, so you can do your own checking, you can't be contacting the internet; So that's more computers.
I have GPU cards for years, been doing ML for years so I just redeployed stuff to bitcoin hacking, and of course you can mine, which is very profitable these days on ETH
Even little GTX-1060 cards, now 3gb is worthless on ETH, but I can use on algo #2 above and each card does 200M keys/sec ( * 300M); Just giving this so you can see difference,
...
I have no doubt that the last of the last public-keys will be hacked, I think most promising is pairing, finding a 'smart attack' prime close to the BTC prime, but of order N==P, then you convert that Elliptic-Curve maps directly to the finite-field; Very difficult to find these magic primes ( but it can be done ), but even here with the last of the last 900 public-keys of high value, we're able to search 900 at once, as well on each cycle, toss in a full 300M bloom-compare, so you can do a twofer 1&2 above.
WRT to targeting specific BTC address, so the ant-pool addresses that hold 10's of 1,000's of BTC, I think this would be impossible; Quantum Computers don't exist they're fictional at this point in time.
Can the NSA crack BTC? Yes I think so, this is where endomorphisms come in there are 1,000's; There is a backdoor to SECP256k1, otherwise NSA wouldn't have made it public.
The problem is how much time can person spend on this stuff, each area is like its own research; If it were easy to hack then you would be solving the ECDLP problem, which is worthy of a fields medal in math, lots of brilliant people work on this stuff, its like the Fermats Last Theorem
...
For you guys that want to do this stuff, I suggest if you don't the resources, just team up, and each do what they can do, don't try to go it alone, and I have attempted here to explain the state of art, and how difficult it right now,
This said, finding good keys every 1,000 days, if you have a mining farm, you could be finding good keys everyday, which is why I think 'inflection' has already passed, that hacking is more profitable than mining.
Lastly, for those that say Hacking BTC is bad, Nietzche said "That which kills bitcoin, makes it stronger", had BITCOIN-org made btc stronger and private years ago none of this would be possible
BITCOIN is designed become worthless in time, just like CBDC in China. Solution, hack the BITCOIN source pull out SHA256, and SECp256k1, an use SHA512, and a 1024 bit elliptic-curve that is un-breakable for the next 20+ years.