Bitcoin Forum
June 29, 2024, 04:44:59 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 ... 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 [263]
  Print  
Author Topic: Bitcoin puzzle transaction ~32 BTC prize to who solves it  (Read 192346 times)
holy_ship
Jr. Member
*
Offline Offline

Activity: 113
Merit: 1


View Profile
June 25, 2024, 05:50:09 PM
 #5241

Solving 130-bit is equivalent to solving 4 to 8 billion 66-bit puzzles

You're unprofessional if you compare 66 and 130, because BSGS is much faster than bruteforce. But I agree that p66 is shorter on same price HW.

p.s. Hey, guys. Another discussion of stealing bot.
What if you (finder of p66)
make 2 transactions by yourself

1st - transfer BTC to your wallet with reasonable fee and RBF False.

and after several seconds you doublespend everything with fee == 6.6BTC and RBF true

so, either you win, either nobody, right?
kTimesG
Member
**
Offline Offline

Activity: 81
Merit: 18


View Profile
June 25, 2024, 05:53:45 PM
Merited by citb0in (1)
 #5242

Solving 130-bit is equivalent to solving 4 to 8 billion 66-bit puzzles

You're unprofessional if you compare 66 and 130, because BSGS is much faster than bruteforce. But I agree that p66 is shorter on same price HW.
obody, right?

WTF are you talking about? Who said anything about bruteforcing anything?
130-bit is solvable in time complexity of 2**64.5 steps
66-bit is solvable in time complexity 2**32.5 steps

The ratio is around 4 billion. BSGS or kangaroo, is irrelevant. No brute force. Brute force ratio between the two would be 2**64. What did I get wrong?


I'm asking for a proper solution from a community developer or a github the can vouch for that everyone knows, like wandering/alberto/digaran etc....
It's obviously just the 137th clone of JLP Kangaroo, same skeleton, same architecture, same issues. If you want a "proper" solution don't expect it to land freely on GitHub. Knowledge and experience comes with a price tag. I could brag that I managed to write from scratch a completely working Kangaroo that currently works 6x (six times) faster than both the original and all the n00b clones out there. I'm not gonna sell it or release it because for one, I don't need to prove anything to anyone except myself, and secondly, it's really ok if no one believes me that I can squeeze out 900 million jumps/s on an underclocked RTX 3050 laptop GPU that can never reach more than 200 Mops/s with JLP's app. BTW, the stats on JLP's program are biased, the real speed is slower than the one printed on the screen (there's some non-sense smoothing speed computation in there, and the computed time durations are bugged between worker threads and main thread). Real speed is 10% slower due to these bugs. Whatever.
pseudospace
Newbie
*
Offline Offline

Activity: 9
Merit: 0


View Profile
June 25, 2024, 10:00:49 PM
 #5243

Hypothetically lets say someone where to crack puzzle #66 tomorrow. Are there any practical ways they could sweep the wallet considering how many bots are monitoring the network ready to crack the weak public key as soon as it gets revealed?

It just feels to me like people are wasting there time with 66 as any attempts to take the prize will end in shambles. Would the only feasible way to spend the winnings be to mine a block yourself without broadcasting the transaction? Obviously not very practical for the average joe.

Interested in hearing your thoughts.

pseudospace.
madogss
Newbie
*
Offline Offline

Activity: 24
Merit: 0


View Profile
June 25, 2024, 11:16:10 PM
 #5244

Hypothetically lets say someone where to crack puzzle #66 tomorrow. Are there any practical ways they could sweep the wallet considering how many bots are monitoring the network ready to crack the weak public key as soon as it gets revealed?

It just feels to me like people are wasting there time with 66 as any attempts to take the prize will end in shambles. Would the only feasible way to spend the winnings be to mine a block yourself without broadcasting the transaction? Obviously not very practical for the average joe.

Interested in hearing your thoughts.

pseudospace.
I think the only way you can truly know is to test it yourself with a bot and a 66 bit private key address
Akito S. M. Hosana
Newbie
*
Offline Offline

Activity: 12
Merit: 0


View Profile
June 26, 2024, 08:49:47 AM
Last edit: June 26, 2024, 11:39:33 AM by Akito S. M. Hosana
 #5245

130-bit is solvable in time complexity of 2**64.5 steps

I could brag that I managed to write from scratch a completely working Kangaroo that currently works 6x (six times) faster

I never got further than 2**50 steps. Somewhere on  2**45 it starts to slow down.

Try to make SECPK1 6x (six times) faster first.

The fastest implementation for secp256k1 code that I ever see and use it is already inside of kangaroo tool.

https://github.com/JeanLucPons/Kangaroo/tree/master/SECPK1

I would like to see some new ideas here. Wink
kTimesG
Member
**
Offline Offline

Activity: 81
Merit: 18


View Profile
June 26, 2024, 10:12:52 AM
 #5246

I never got further than 2**50 steps. Somewhere on  2**45 it starts to slow down.

Steps duration more than doubles than the time of the previous depth, at each depth, duh.

Try to make SECPK1 6x (six times) faster first.

I think it's more like "stop using a secp256k1 batch group addition that runs 6x times slower than what the hardware can accomplish".

The fastest implementation for secp256k1 code that I ever see and use it is already inside of kangaroo tool.

https://github.com/JeanLucPons/Kangaroo/tree/master/SECPK1

I would like to see some new ideas here. Wink

Challenge accepted. Let's do this, shall we?

1. CPU: speed is faster when using 5 x 52-bit limbs instead of 4 x 64-bit limbs because instructions can now run in parallel (SIMD) instead of limbs being dependent on each other's results (due to carry flag propagation, which is a performance killer on any CPU).
    (this alone gets you a 50% speedup at least)
    NOW... how many tools that have blatantly copied each other's "fast" code assumed "this is the fastest, I won't bother"?
 
2. There's a trick to also compute the batched inverse faster (same idea, get rid of partial products inter-dependency).
    (speedup is around 5%)

There's some secp256k1 ASM code out there that uses 4x64-bit limbs, which is slower than using no ASM and 52-bit limbs, and letting the compiler do the SIMD instruction packaging.

Refs for the above: Bernstein (some 2009 PDF), also "Modern computer arithmetics".

3. GPU: this is way more problematic. Let's start with some facts:

- GPU global & local (stack) memory is very, very slow to access; fastest code will do very few memory loading and storing.
- all threads compute the exact same instruction at every cycle (conditional branches are masked no-ops)
- all instructions are actually executed by 32-bit arithmetic units (64-bit are emulated)
- you have some small amount (48 kB) of fast on-chip shared memory accessible to all threads in a block / SM.
- you have some very small amount (1 KB) of extremely (fastest possible) registers on each thread

Now, if we do the math depending on GPU specs, clock frequency, how many cycles a fused multiply-add instruction takes, etc, we can arrive at some very impressionable numbers, for example of how many secp256k1 field multiplications / s (with modular reduction included et all) the GPU is capable of. These values are indicating to us that "hey, why the hell can we do billions of modular mul/s but when we run JLP's kangaroo the numbers are 10% of the theoretical peak?"

Now... looking at JLP's Kangaroo which you call "the fastest", what do we see?

- kangaroos get copied between global memory and local memory (stack), but if the stack gets too large (which it does, because it wants a large "gpu group size" to theoretically speed up inverse calculus), this just results of copying from global memory to global memory, doubling both the loading/storing, AND the required memory size, and slowing the runtime overall).
   Someone might say: this is done for coalescing reasons, etc. - why the hell is this the GPU kernel's concern, not the host's? Smiley
- on-chip shared memory is completely ignored and used as L1 cache (but what is it caching? one-time memory reads? oh no...);
- are all the PTX-base  routines taking notice that the GPU has a multiply-and-add 32-bit HW instruction? answer: no, everything is a 64-bit pointer...;
- kernel logic for batched addition is convoluted and modularized to the point it makes the compiler optimizations close to impossible, increasing the register pressure.
- at the highest possible level, a lot of things can be strategically better thought. Things like "X items were lost because you have no idea what arguments to use, bro" should not exist. The GPU should act as a continuous DP generator, with no lunch breaks between the kernel launches. Separate better the concerns between producing DPs and consuming DPs.

Just are these some of the ideas. There are more which I won't mention, since it's much too technical.
hardworkinfamilyman
Jr. Member
*
Offline Offline

Activity: 124
Merit: 2

1 Address


View Profile WWW
June 26, 2024, 03:23:08 PM
 #5247

I want to play, I just cant figure out a good way to hook up. Anyone have any suggestions? Pools to join?

Thanks in advance

F8E5 5B14 73DC FF83 5CCE  599E 8920 0D87 A42D 1483 | 1 Address
madogss
Newbie
*
Offline Offline

Activity: 24
Merit: 0


View Profile
June 26, 2024, 04:50:59 PM
 #5248

I want to play, I just cant figure out a good way to hook up. Anyone have any suggestions? Pools to join?

Thanks in advance
Depends on what puzzle you want to solve if its #130 or above with public keys then Etar's Kangaroo or another modified kangaroo is the way to go
If you want to do puzzles without public keys like #66 or #67 you can join a pool there's a couple that you can find on (https://privatekeys.pw/puzzles/bitcoin-puzzle-tx) but if you want to go solo to get the full reward then the software that a lot of people use you can find here (https://bitcointalk.org/index.php?topic=5422375.0)
I myself use JeanLucPons kangaroo for #130 on cpu and have a python script that I wrote to make each thread search a random smaller range and saves that randomly generated range so I don't search that range again and prints the percent of the total range I have completed.
For the smaller puzzles without public keys I use bitcrack2 for gpu and keyhunt-cuda for cpu running the same python script.
 
saatoshi_falling
Newbie
*
Offline Offline

Activity: 9
Merit: 0


View Profile
June 27, 2024, 01:44:47 PM
 #5249

I want to play, I just cant figure out a good way to hook up. Anyone have any suggestions? Pools to join?

Thanks in advance
Depends on what puzzle you want to solve if its #130 or above with public keys then Etar's Kangaroo or another modified kangaroo is the way to go
If you want to do puzzles without public keys like #66 or #67 you can join a pool there's a couple that you can find on (https://privatekeys.pw/puzzles/bitcoin-puzzle-tx) but if you want to go solo to get the full reward then the software that a lot of people use you can find here (https://bitcointalk.org/index.php?topic=5422375.0)
I myself use JeanLucPons kangaroo for #130 on cpu and have a python script that I wrote to make each thread search a random smaller range and saves that randomly generated range so I don't search that range again and prints the percent of the total range I have completed.
For the smaller puzzles without public keys I use bitcrack2 for gpu and keyhunt-cuda for cpu running the same python script.
 

So you're saying that you can still use JLP's code for #130 as long as the range is smaller? smaller by how much? can you give me an example?
You mean like instead of
200000000000000000000000000000000:3ffffffffffffffffffffffffffffffff
you make it like
210000000000000000000000000000000:220000000000000000000000000000000 
or something?
Baskentliia
Jr. Member
*
Offline Offline

Activity: 44
Merit: 1

34Sf4DnMt3z6XKKoWmZRw2nGyfGkDgNJZZ


View Profile
June 27, 2024, 01:52:24 PM
 #5250

I have a question
It is for people who know the Kangaroo program well.

Kangaroo program has a multiple pubkey search feature, but it searches sequentially. that is, key1 key2 key3. It does not search for key2 before key1 is found. Likewise, it does not search for key3 unless key2 is found. I AM GIVING AN EXAMPLE. We have created 500 pubkeys. Is it possible to search all of them at the same time? Is there anyone working on this? can you share?

34Sf4DnMt3z6XKKoWmZRw2nGyfGkDgNJZZ
kTimesG
Member
**
Offline Offline

Activity: 81
Merit: 18


View Profile
June 27, 2024, 03:02:19 PM
 #5251

We have created 500 pubkeys. Is it possible to search all of them at the same time? Is there anyone working on this? can you share?
No. You have 500 different problems, not one problem with 500 variables. Each public key means you have to start a new kangaroo algorithm from scratch, you can't check for collisions for multiple public keys at the same time, it just ends up needing to track multiple sorts of wild kangaroos, which just ends up as a separate kangaroo problem to handle, instead of mixing 500 different brands of kangaroos inside the same algorithm.
Baskentliia
Jr. Member
*
Offline Offline

Activity: 44
Merit: 1

34Sf4DnMt3z6XKKoWmZRw2nGyfGkDgNJZZ


View Profile
June 27, 2024, 03:42:23 PM
 #5252

We have created 500 pubkeys. Is it possible to search all of them at the same time? Is there anyone working on this? can you share?
No. You have 500 different problems, not one problem with 500 variables. Each public key means you have to start a new kangaroo algorithm from scratch, you can't check for collisions for multiple public keys at the same time, it just ends up needing to track multiple sorts of wild kangaroos, which just ends up as a separate kangaroo problem to handle, instead of mixing 500 different brands of kangaroos inside the same algorithm.

Searching thousands of pubkeys at the same time with keyhunt bsgs is a great thing. The same thing would be great if it was on the kangaroo show, I wanted to know that. Thanks for your professional answer.

34Sf4DnMt3z6XKKoWmZRw2nGyfGkDgNJZZ
madogss
Newbie
*
Offline Offline

Activity: 24
Merit: 0


View Profile
June 27, 2024, 03:49:09 PM
 #5253



So you're saying that you can still use JLP's code for #130 as long as the range is smaller? smaller by how much? can you give me an example?
You mean like instead of
200000000000000000000000000000000:3ffffffffffffffffffffffffffffffff
you make it like
210000000000000000000000000000000:220000000000000000000000000000000 
or something?

Yes I believe the range width limit is 2^128 or 2^125 when you run JLP's Kangaroo it will tell you your range width of what your searching for.
so the limit for #130 would be
300000000000000000000000000000000:3ffffffffffffffffffffffffffffffff
if the 2^128 range width is correct else
3E0000000000000000000000000000000:3ffffffffffffffffffffffffffffffff
for range width 2^125.
Why I recommend Etar's if your doing the full range is because their kangaroo has a range width of 2^192.
CY4NiDE
Jr. Member
*
Offline Offline

Activity: 41
Merit: 8


View Profile
June 27, 2024, 04:13:17 PM
Last edit: June 27, 2024, 10:01:42 PM by Mr. Big
 #5254

So you're saying that you can still use JLP's code for #130 as long as the range is smaller? smaller by how much? can you give me an example?
You mean like instead of
200000000000000000000000000000000:3ffffffffffffffffffffffffffffffff
you make it like
210000000000000000000000000000000:220000000000000000000000000000000  
or something?


JLP's kangaroo supports a maximum range width of 125 bits.

So you can split #130 into multiple chunks each with 125 bit width at max.

Chunks with 125 bit width would look like this for #130:

200000000000000000000000000000000:21FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
220000000000000000000000000000000:23FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
240000000000000000000000000000000:25FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
...

Now imagine all the years and decades wasted searching through empty sub-ranges.



I have a question
It is for people who know the Kangaroo program well.

Kangaroo program has a multiple pubkey search feature, but it searches sequentially. that is, key1 key2 key3. It does not search for key2 before key1 is found. Likewise, it does not search for key3 unless key2 is found. I AM GIVING AN EXAMPLE. We have created 500 pubkeys. Is it possible to search all of them at the same time? Is there anyone working on this? can you share?

Only Keyhunt has that option and the speed will halve for each extra key.

I'd like to point out that JLP's kangaroo has a bug regarding multi pubkey.

After saving and reloading the program only the first public key from the input file will be present.

There's a patch to fix that which can be found here:

https://github.com/JeanLucPons/Kangaroo/pull/79/commits/9f92bad8390932e5cd3827608a609b822671ec3a






1CY4NiDEaNXfhZ3ndgC2M2sPnrkRhAZhmS
Baskentliia
Jr. Member
*
Offline Offline

Activity: 44
Merit: 1

34Sf4DnMt3z6XKKoWmZRw2nGyfGkDgNJZZ


View Profile
June 27, 2024, 08:37:41 PM
 #5255

I have a question
It is for people who know the Kangaroo program well.

Kangaroo program has a multiple pubkey search feature, but it searches sequentially. that is, key1 key2 key3. It does not search for key2 before key1 is found. Likewise, it does not search for key3 unless key2 is found. I AM GIVING AN EXAMPLE. We have created 500 pubkeys. Is it possible to search all of them at the same time? Is there anyone working on this? can you share?

Only Keyhunt has that option and the speed will halve for each extra key.

I'd like to point out that JLP's kangaroo has a bug regarding multi pubkey.

After saving and reloading the program only the first public key from the input file will be present.

There's a patch to fix that which can be found here:

https://github.com/JeanLucPons/Kangaroo/pull/79/commits/9f92bad8390932e5cd3827608a609b822671ec3a

Once this patch is installed, can multiple Pubkey scans be performed at the same time in the Kangaroo program?
There are algorithm differences, but multiple scanning is possible with Keyhunt bsgs. I think it can happen with Kangaroo, but it needs to be worked on technically

34Sf4DnMt3z6XKKoWmZRw2nGyfGkDgNJZZ
CY4NiDE
Jr. Member
*
Offline Offline

Activity: 41
Merit: 8


View Profile
June 27, 2024, 09:02:36 PM
 #5256

Once this patch is installed, can multiple Pubkey scans be performed at the same time in the Kangaroo program?

No.

There are algorithm differences, but multiple scanning is possible with Keyhunt bsgs. I think it can happen with Kangaroo, but it needs to be worked on technically

This topic has been discussed a lot in the past.

Like I said, Keyhunt has that option but the speed gets halved for each extra target.

The same would happen with a Kangaroo implementation that can search for multiple targets simultaneously.

If it can search for one key at 4 Gk/s, two keys would be searched in parallel at 2 Gk/s each. And so on.



1CY4NiDEaNXfhZ3ndgC2M2sPnrkRhAZhmS
vneos
Newbie
*
Offline Offline

Activity: 18
Merit: 0


View Profile
June 28, 2024, 06:20:53 AM
 #5257

Does anyone know if keyhunt has a version that supports custom range searches? (bsgs mode, without -b parameter, use -range instead)
Ovixx
Newbie
*
Offline Offline

Activity: 26
Merit: 0


View Profile
June 28, 2024, 10:06:34 AM
 #5258

Does anyone know if keyhunt has a version that supports custom range searches? (bsgs mode, without -b parameter, use -range instead)
Any version, but preferably the last of them. You use instead of -b value, for example -r 349B84B64310000000:349B84B6431A6FFFFF
casinotester0001
Member
**
Offline Offline

Activity: 195
Merit: 67

'Bitcoin signature chain' & '1 pixel inscriptions'


View Profile
June 28, 2024, 10:40:08 PM
 #5259

JLP's kangaroo for example is definitely not fully optimized when it comes to this...

Hi @all.

Testing JLP's kangaroo with an RTX 4090 and getting a speed of 2230 MK/s.

What speeds are you getting? eg. for RTX 3080, RTX 3080Ti, RTX 4080

Thanks for your answers.
Pages: « 1 ... 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 [263]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!