Bitcoin Forum
April 10, 2026, 10:58:08 PM *
News: Latest Bitcoin Core release: 30.2 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 ... 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 [417] 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 ... 650 »
  Print  
Author Topic: Bitcoin puzzle transaction ~32 BTC prize to who solves it  (Read 378743 times)
Denevron
Newbie
*
Offline Offline

Activity: 121
Merit: 0


View Profile
March 27, 2025, 12:05:38 PM
Last edit: March 27, 2025, 01:24:03 PM by Denevron
 #8321

@nomachine
Do you still have a version of Cyclone that runs on CPU that does not have avx2? i think when you first uploaded was working also on that machines and now after the updates and modifications it doesnt.
thank you

maybe you mean this version?)
by the way, on this version, there was very good speed  Cheesy

https://bitcointalk.org/index.php?topic=1306983.msg65173186#msg65173186

Unfortunately, it does not calculate the speed correctly, along with other bugs. Only the latest version on GitHub works properly. I have now updated all my posts containing the code to direct users to GitHub to avoid confusion and prevent false hopes about unrealistic speeds. It is impossible to exceed 5 Mkeys/s per core with this configuration and compilation method. Higher speeds are only doable with the Clang AOCC compiler for specific AMD processors—but that method also causes a thermal disturbance. You’d need a half-meter cooler for it!.  Smiley

ahh, so that's why the speed is so good  Grin
I wanted to ask you, if I show you the code (it's in Python), could you transfer it to Cyclone, as another new mode? It differs from the search options presented here, and copes well up to puzzle 55, and then there is simply not enough speed)  I can't add it myself because I don't know C++, I'm more of a Javascript fan) Sorry for my broken English, it's not my native language 

I replied to you in a private message, but I don’t know if it will reach you, since I’m a “newbie”, and it seems like there are restrictions)
nomachine
Full Member
***
Offline Offline

Activity: 812
Merit: 134



View Profile
March 27, 2025, 04:10:25 PM
 #8322

I replied to you in a private message, but I don’t know if it will reach you, since I’m a “newbie”, and it seems like there are restrictions)

I received a private message with a red warning. The idea is good, but the Python code is not well-written. I will send you my version so you can see how it works—after I have carefully thought through this idea.  Wink

BTC: bc1qdwnxr7s08xwelpjy3cc52rrxg63xsmagv50fa8
Denevron
Newbie
*
Offline Offline

Activity: 121
Merit: 0


View Profile
March 27, 2025, 04:14:43 PM
 #8323

I replied to you in a private message, but I don’t know if it will reach you, since I’m a “newbie”, and it seems like there are restrictions)

I received a private message with a red warning. The idea is good, but the Python code is not well-written. I will send you my version so you can see how it works—after I have carefully thought through this idea.  Wink

Yes, it is crooked, made quickly so that the theory could be tested, and it turned out to work) Thank you very much, I will wait)   Smiley
nomachine
Full Member
***
Offline Offline

Activity: 812
Merit: 134



View Profile
March 27, 2025, 05:22:06 PM
 #8324

I replied to you in a private message, but I don’t know if it will reach you, since I’m a “newbie”, and it seems like there are restrictions)

I received a private message with a red warning. The idea is good, but the Python code is not well-written. I will send you my version so you can see how it works—after I have carefully thought through this idea.  Wink

Yes, it is crooked, made quickly so that the theory could be tested, and it turned out to work) Thank you very much, I will wait)   Smiley

Quote
# python3 test.py
Predicted flip count for Puzzle 68: 40 bits

Searching Puzzle 68 (256-bit)
Base Key: 00000000000000000000000000000000000000000000000730fc235c1942c1ae
Target: 1BY8GQbnueYofwSuFAT3USAhGjPrkxDdW9
Predicted Flip Count: 40 bits
Total Possible Combinations: 2^63
Using 12 workers...

You will see that we need a speed 2²³ times higher to compensate for this method.

BTC: bc1qdwnxr7s08xwelpjy3cc52rrxg63xsmagv50fa8
Denevron
Newbie
*
Offline Offline

Activity: 121
Merit: 0


View Profile
March 27, 2025, 05:30:24 PM
Last edit: March 28, 2025, 06:13:39 PM by hilariousandco
 #8325

I replied to you in a private message, but I don’t know if it will reach you, since I’m a “newbie”, and it seems like there are restrictions)

I received a private message with a red warning. The idea is good, but the Python code is not well-written. I will send you my version so you can see how it works—after I have carefully thought through this idea.  Wink

Yes, it is crooked, made quickly so that the theory could be tested, and it turned out to work) Thank you very much, I will wait)   Smiley

Quote
# python3 test.py
Predicted flip count for Puzzle 68: 40 bits

Searching Puzzle 68 (256-bit)
Base Key: 00000000000000000000000000000000000000000000000730fc235c1942c1ae
Target: 1BY8GQbnueYofwSuFAT3USAhGjPrkxDdW9
Predicted Flip Count: 40 bits
Total Possible Combinations: 2^63
Using 12 workers...

You will see that we need a speed 2²³ times higher to compensate for this method.


but the key will be found before all options are tried)

I replied to you in a private message, but I don’t know if it will reach you, since I’m a “newbie”, and it seems like there are restrictions)

I received a private message with a red warning. The idea is good, but the Python code is not well-written. I will send you my version so you can see how it works—after I have carefully thought through this idea.  Wink

Yes, it is crooked, made quickly so that the theory could be tested, and it turned out to work) Thank you very much, I will wait)   Smiley

Quote
# python3 test.py
Predicted flip count for Puzzle 68: 40 bits

Searching Puzzle 68 (256-bit)
Base Key: 00000000000000000000000000000000000000000000000730fc235c1942c1ae
Target: 1BY8GQbnueYofwSuFAT3USAhGjPrkxDdW9
Predicted Flip Count: 40 bits
Total Possible Combinations: 2^63
Using 12 workers...

You will see that we need a speed 2²³ times higher to compensate for this method.


if you make this method in C++, it will be much more fun and faster  Grin
nomachine
Full Member
***
Offline Offline

Activity: 812
Merit: 134



View Profile
March 28, 2025, 05:40:55 AM
 #8326

if you make this method in C++, it will be much more fun and faster  Grin

I don't have enough time. I'm currently adding Endomorphism to Cyclone.

BTC: bc1qdwnxr7s08xwelpjy3cc52rrxg63xsmagv50fa8
Akito S. M. Hosana
Jr. Member
*
Offline Offline

Activity: 420
Merit: 8


View Profile
March 28, 2025, 05:47:52 AM
 #8327

I don't have enough time. I'm currently adding Endomorphism to Cyclone.

Another 30% speedup?  Tongue
POD5
Member
**
Offline Offline

Activity: 335
Merit: 10

Keep smiling if you're loosing!


View Profile
March 28, 2025, 08:48:40 AM
 #8328

I don't have enough time. I'm currently adding Endomorphism to Cyclone.

Does endomorphism also work with small ranges, like P68, P69 etc?

bc1qygk0yjdqx4j2sspswmu4dvc76s6hxwn9z0whlu
kTimesG
Full Member
***
Offline Offline

Activity: 798
Merit: 246


View Profile
March 28, 2025, 09:32:41 AM
 #8329

I don't have enough time. I'm currently adding Endomorphism to Cyclone.

Does endomorphism also work with small ranges, like P68, P69 etc?

No, by definition. Endo and symmetry are useless for range scans, only vanity.

Off the grid, training pigeons to broadcast signed messages.
Denevron
Newbie
*
Offline Offline

Activity: 121
Merit: 0


View Profile
March 28, 2025, 09:50:15 AM
 #8330

if you make this method in C++, it will be much more fun and faster  Grin

I don't have enough time. I'm currently adding Endomorphism to Cyclone.

I understand, but thanks anyway Smiley
nomachine
Full Member
***
Offline Offline

Activity: 812
Merit: 134



View Profile
March 28, 2025, 09:58:09 AM
 #8331

Endo and symmetry are useless for range scans, only vanity.


Endomorphism creates non-sequential key jumps (k, kλ, kλ² mod n).

Breaks the contiguous memory access pattern crucial for performance.

Causes cache thrashing as you jump around the keyspace...

But I'm doing something else here. I don't always have to explain what.

BTC: bc1qdwnxr7s08xwelpjy3cc52rrxg63xsmagv50fa8
kTimesG
Full Member
***
Offline Offline

Activity: 798
Merit: 246


View Profile
March 28, 2025, 10:03:52 AM
 #8332

Endo and symmetry are useless for range scans, only vanity.


Endomorphism creates non-sequential key jumps (k, kλ, kλ² mod n).

Breaks the contiguous memory access pattern crucial for performance.

Causes cache thrashing as you jump around the keyspace...

But I'm doing something else here. I don't always have to explain what.

I don't get what you mean.

Once you have a pubKey (for example, one produced by sequential iteration), you can simply hash the other 5 options, without having to mess with anything related to key jumps.

Simply adjust the pubKey first byte, and multiply the X by beta and beta**2.

Off the grid, training pigeons to broadcast signed messages.
Akito S. M. Hosana
Jr. Member
*
Offline Offline

Activity: 420
Merit: 8


View Profile
March 28, 2025, 10:05:19 AM
 #8333

But I'm doing something else here. I don't always have to explain what.

Cool, cool… so it’s illegal?  Tongue
nomachine
Full Member
***
Offline Offline

Activity: 812
Merit: 134



View Profile
March 28, 2025, 10:20:13 AM
 #8334

I don't get what you mean.

Cool, cool… so it’s illegal?  Tongue


Quote
Point endoPoints[3];
Int endoKeys[3];

endoPoints[0] = startPoint;
endoKeys[0].Set(&currentBatchKey);

// (λ)
endoPoints[1].x.ModMulK1(&startPoint.x, &beta);
endoPoints[1].y.Set(&startPoint.y);  // Y remains same (sign flips handled later)
endoKeys[1].ModMulK1(&currentBatchKey, &lambda);

// (λ²)
Int beta2;
beta2.ModMulK1(&beta, &beta);
endoPoints[2].x.ModMulK1(&startPoint.x, &beta2);
endoPoints[2].y.Set(&startPoint.y);  // Y remains same
endoKeys[2].ModMulK1(&currentBatchKey, &lambda2);

// 6 total - 3 points × 2 parity
uint8_t pubKeyVariants[6][33];
for (int i = 0; i < 3; i++) {
    // Positive Y
    pointToCompressedBin(endoPoints, pubKeyVariants[i*2]);
   
    // Negative Y
    pubKeyVariants[i*2+1][0] = pubKeyVariants[i*2][0] ^ 0x01;
    memcpy(pubKeyVariants[i*2+1]+1, pubKeyVariants[i*2]+1, 32);
}

computeHash160BatchBinSingle(10, pubKeyVariants, hashResults);

for (int i = 0; i < 10; i++) {
    if (memcmp(hashResults, targetHash160.data(), g_prefixLength) == 0) {
        // Handle match
        Int foundKey;
        foundKey.Set(&currentBatchKey);
        return foundKey;
    }
}

BTC: bc1qdwnxr7s08xwelpjy3cc52rrxg63xsmagv50fa8
kTimesG
Full Member
***
Offline Offline

Activity: 798
Merit: 246


View Profile
March 28, 2025, 10:35:08 AM
 #8335

Quote
Point endoPoints[3];
Int endoKeys[3];

endoPoints[0] = startPoint;
endoKeys[0].Set(&currentBatchKey);

// (λ)
endoPoints[1].x.ModMulK1(&startPoint.x, &beta);
endoPoints[1].y.Set(&startPoint.y);  // Y remains same (sign flips handled later)
endoKeys[1].ModMulK1(&currentBatchKey, &lambda);

// (λ²)
Int beta2;
beta2.ModMulK1(&beta, &beta);
endoPoints[2].x.ModMulK1(&startPoint.x, &beta2);
endoPoints[2].y.Set(&startPoint.y);  // Y remains same
endoKeys[2].ModMulK1(&currentBatchKey, &lambda2);

// 6 total - 3 points × 2 parity
uint8_t pubKeyVariants[6][33];
for (int i = 0; i < 3; i++) {
    // Positive Y
    pointToCompressedBin(endoPoints, pubKeyVariants[i*2]);
   
    // Negative Y
    pubKeyVariants[i*2+1][0] = pubKeyVariants[i*2][0] ^ 0x01;
    memcpy(pubKeyVariants[i*2+1]+1, pubKeyVariants[i*2]+1, 32);
}

computeHash160BatchBinSingle(10, pubKeyVariants, hashResults);

for (int i = 0; i < 10; i++) {
    if (memcmp(hashResults, targetHash160.data(), g_prefixLength) == 0) {
        // Handle match
        Int foundKey;
        foundKey.Set(&currentBatchKey);
        return foundKey;
    }
}

Here's some tips to make it faster (besides getting rid of the obvious overhead of the Int wrappers):

1. beta**2 is constant, no need to recompute it by beta*beta.
2. You don't need to compute k*lambda or k*lambda**2 unless you have a hash match. I think you also have some bugs around the returned key.

Off the grid, training pigeons to broadcast signed messages.
Akito S. M. Hosana
Jr. Member
*
Offline Offline

Activity: 420
Merit: 8


View Profile
March 28, 2025, 11:14:44 AM
 #8336

This is like you talking to me about deciphering Egyptian writing.  Grin
nomachine
Full Member
***
Offline Offline

Activity: 812
Merit: 134



View Profile
March 28, 2025, 02:47:15 PM
 #8337

This is like you talking to me about deciphering Egyptian writing.  Grin

You'll learn in time...  Grin

Cyclone has been updated with some cosmetic changes and optimizations. Nothing drastic.  Wink

BTC: bc1qdwnxr7s08xwelpjy3cc52rrxg63xsmagv50fa8
b0dre
Jr. Member
*
Offline Offline

Activity: 61
Merit: 1


View Profile
March 28, 2025, 02:51:43 PM
 #8338

This is like you talking to me about deciphering Egyptian writing.  Grin

You'll learn in time...  Grin

Cyclone has been updated with some cosmetic changes and optimizations. Nothing drastic.  Wink

Just a bit changes  Grin
filo1992
Newbie
*
Offline Offline

Activity: 42
Merit: 0


View Profile
March 28, 2025, 03:25:14 PM
 #8339

Hi, I've been testing your Cyclone for a few days now.

I have a question, can the progress made be used so that I don't always have to start the search from the beginning?
Akito S. M. Hosana
Jr. Member
*
Offline Offline

Activity: 420
Merit: 8


View Profile
March 28, 2025, 03:26:05 PM
 #8340

Cyclone has been updated with some cosmetic changes and optimizations. Nothing drastic.  Wink


You removed Xoshiro256plus why ?  Tongue


https://github.com/NoMachine1/Cyclone/commit/e507ff3c6c9ed435c183dd626aef4946bc15080a
Pages: « 1 ... 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 [417] 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 ... 650 »
  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!