Pages:
Author

Topic: Baby Step Giant Step Combined Efforts to Find 1.2 Bitcoin (Read 1929 times)

full member
Activity: 1162
Merit: 237
Shooters Shoot...
Quote
1) How does the program know NOT to search for ranges that someone else has already searched for? is it automated in the code to get previous searches from other users online? If so, does that mean that it would be a bad idea to run it on an air gapped PC?
The program does not know, but there are MANY ranges to check. That's why a pool would need to be formed. The odds of same range being checked early in the search would be rare and even if, those numbers would be small.

Quote
2) I am currently running bat files: 10,17,18... would running them again after scan completion search for different ranges within 10 & 17 & 18 automatically?
Which version are you using?

Quote
3) Can I try my luck and use BSGS to search for other wallets' private keys (example: wallet #64 or #66)? If so can someone please Eli5 how to do it? (where to input other wallet's public key and how to set range?
Depends on which version I put out you are using. One version only searches for #120 subtracted range, the other version you could use for any wallet/range.
For #64 or #66, it cannot be used because we do not know the public key for those addresses.



newbie
Activity: 18
Merit: 0
Ok so I managed to run the program on multiple PCs, I have a couple of questions, I am not a pro programmer but trying to learn so please bear with me...

1) How does the program know NOT to search for ranges that someone else has already searched for? is it automated in the code to get previous searches from other users online? If so, does that mean that it would be a bad idea to run it on an air gapped PC?

2) I am currently running bat files: 10,17,18... would running them again after scan completion search for different ranges within 10 & 17 & 18 automatically?

3) Can I try my luck and use BSGS to search for other wallets' private keys (example: wallet #64 or #66)? If so can someone please Eli5 how to do it? (where to input other wallet's public key and how to set range?

I am learning python these days, dunno if that will help  Grin


full member
Activity: 1162
Merit: 237
Shooters Shoot...
I took the #120 public key (120 bits) and compressed it down to 117 bits to make our search range 8 times smaller.
Can you explain in more detail how to do this?
Any range can be compressed ?
How many bits can you compress?

Start here, and read forward up til the last posts. It's all explained there with some examples.
But a quick answer to your questions, yes any range can be compressed. As many bits as you can print pubkeys and check for.
https://bitcointalk.org/index.php?topic=5244940.1900
member
Activity: 174
Merit: 12
I took the #120 public key (120 bits) and compressed it down to 117 bits to make our search range 8 times smaller.
Can you explain in more detail how to do this?
Any range can be compressed ?
How many bits can you compress?
member
Activity: 174
Merit: 12
Has anyone tried this program?
https://github.com/albertobsd/keyhunt
It also has an implementation of BSGS
member
Activity: 406
Merit: 47
problem BSGS it is using a lot of Memory RAM
my PC can not rung BSGS  (program not respond)

I got idea from Chia coin (mine hard disk)

it can possible make BSGS to write to harddisk replace using full memory?
ok may be make it slow than using all memory
full member
Activity: 706
Merit: 111
How much RAM is needed to solve key #120, #125, and #130 with BSGS?
member
Activity: 182
Merit: 30
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.
member
Activity: 406
Merit: 47

What about this article?

https://sefiks.com/2018/02/27/counting-points-on-elliptic-curves-over-finite-field/

What function for Baby Step Giant Step works on article?
member
Activity: 406
Merit: 47

I want to know How Baby Step Giant Step work and How Baby Step Giant Step calculate

https://github.com/JeanLucPons/BSGS

Did BSGS calculate private key by jump with Baby Step Giant Step algorithm?
I mean number 2**119 to 2**120
or
Did BSGS with point x (ECC) like kangaroo?

 
full member
Activity: 1162
Merit: 237
Shooters Shoot...
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
newbie
Activity: 6
Merit: 0
I was reading the python.  I'm an old programmer but not a python programmer.   What is the input.txt file? 
newbie
Activity: 6
Merit: 0
Hi,  yes I am using windows
full member
Activity: 1162
Merit: 237
Shooters Shoot...
I need some help with this. I would like to participate but when I go to github all I see is the exe ,  a readme and the ranges searched txt.   Is there supposed to some bat files?   how do I go about running the program to search for the keys?
If you are using Windows I can post a python and bat script here to help you get started.
newbie
Activity: 6
Merit: 0
I need some help with this. I would like to participate but when I go to github all I see is the exe ,  a readme and the ranges searched txt.   Is there supposed to some bat files?   how do I go about running the program to search for the keys?
full member
Activity: 1162
Merit: 237
Shooters Shoot...
In trying to find some old source code for a project I ran across some #120 ranges searched.

How to use this?  The ranges listed have been searched through for the #120 key and the key was not in the range.  I am only adding the ones starting with 8 because the list would be 8 times as big. So any range listed below has also been ran in the 9, A, B ,C, D, E, F ranges as well.

The list has been sorted so you can determine the ranges by looking at the top range (that is the start range) and the next range (that is the end range).

I have more ranges that I have searched and will upload/update the above list once found.

Link (list was to big to post here):

https://github.com/WanderingPhilosopher/BSGS/blob/main/Ranges_Searched1a.txt
full member
Activity: 1162
Merit: 237
Shooters Shoot...

Do you think you can try to look for a way to reduce keyspace search for kangaroo too?


Unfortunately I am not programmer I can not code on C++

All tools is develop very good but still can work with low range low keyspace  and very large key space are still use time a lot

Do you think want to waiting a long time or scan all keyspace

I don't want to waiting more, I think should find the way predict or pick small key space and use tools for scan  may be better do scan all every thing

Baby Step Giant Step can found key on

at high range , wide keyspace BSGS still not work good, waiting a long time  (personal kangaroo feel work better)
compare ranking
1. Kangaroo
2. BitCrack
3. Baby Step Giant Step


BSGS gets through a smaller range faster and with 100% certainty that a key is or is not in the range.  Kangaroo can get through same range fast, but may keep going and going if key not found; BSGS stops and you know if key is there or not.

Bitcrack is designed to do something totally different. It is a mere brute force attack. So yes, if you do not know the public key, then you have to use a program like Bitcrack. But if you know the public key, Kangaroo and BSGS are 1 million times faster/better x Pi, than Bitcrack.

You can't really rank Kanga and BSGS with Bitcrack, they are different animals.
Pub key known and range above 64 bits, use kangaroo...64 and below, use BSGS.
Pub key not known, use Bitcrack or some other type of brute force program.

The only way to reduce keyspace is if pubkey is known, then you can do some basic ECDLP math to shrink the search range.
member
Activity: 406
Merit: 47

Do you think you can try to look for a way to reduce keyspace search for kangaroo too?


Unfortunately I am not programmer I can not code on C++

All tools is develop very good but still can work with low range low keyspace  and very large key space are still use time a lot

Do you think want to waiting a long time or scan all keyspace

I don't want to waiting more, I think should find the way predict or pick small key space and use tools for scan  may be better do scan all every thing

Baby Step Giant Step can found key on

at high range , wide keyspace BSGS still not work good, waiting a long time  (personal kangaroo feel work better)
compare ranking
1. Kangaroo
2. BitCrack
3. Baby Step Giant Step

full member
Activity: 706
Merit: 111

now I try to looking way to reduce keyspace for search because high bits it is too much large area to search
if can fine right keyspace  may be helpful to working search


Do you think you can try to look for a way to reduce keyspace search for kangaroo too?
Pages:
Jump to: