Denevron
Newbie
Offline
Activity: 121
Merit: 0
|
 |
March 27, 2025, 12:05:38 PM Last edit: March 27, 2025, 01:24:03 PM by Denevron |
|
@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 https://bitcointalk.org/index.php?topic=1306983.msg65173186#msg65173186Unfortunately, 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!.  ahh, so that's why the speed is so good 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
|
 |
March 27, 2025, 04:10:25 PM |
|
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. 
|
BTC: bc1qdwnxr7s08xwelpjy3cc52rrxg63xsmagv50fa8
|
|
|
Denevron
Newbie
Offline
Activity: 121
Merit: 0
|
 |
March 27, 2025, 04:14:43 PM |
|
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.  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) 
|
|
|
|
|
|
nomachine
|
 |
March 27, 2025, 05:22:06 PM |
|
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.  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)  # 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
Activity: 121
Merit: 0
|
 |
March 27, 2025, 05:30:24 PM Last edit: March 28, 2025, 06:13:39 PM by hilariousandco |
|
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.  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)  # 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.  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)  # 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 
|
|
|
|
|
|
nomachine
|
 |
March 28, 2025, 05:40:55 AM |
|
if you make this method in C++, it will be much more fun and faster  I don't have enough time. I'm currently adding Endomorphism to Cyclone.
|
BTC: bc1qdwnxr7s08xwelpjy3cc52rrxg63xsmagv50fa8
|
|
|
Akito S. M. Hosana
Jr. Member
Offline
Activity: 420
Merit: 8
|
 |
March 28, 2025, 05:47:52 AM |
|
I don't have enough time. I'm currently adding Endomorphism to Cyclone.
Another 30% speedup? 
|
|
|
|
|
POD5
Member

Offline
Activity: 335
Merit: 10
Keep smiling if you're loosing!
|
 |
March 28, 2025, 08:48:40 AM |
|
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
|
 |
March 28, 2025, 09:32:41 AM |
|
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
Activity: 121
Merit: 0
|
 |
March 28, 2025, 09:50:15 AM |
|
if you make this method in C++, it will be much more fun and faster  I don't have enough time. I'm currently adding Endomorphism to Cyclone. I understand, but thanks anyway 
|
|
|
|
|
|
nomachine
|
 |
March 28, 2025, 09:58:09 AM |
|
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
|
 |
March 28, 2025, 10:03:52 AM |
|
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
Activity: 420
Merit: 8
|
 |
March 28, 2025, 10:05:19 AM |
|
But I'm doing something else here. I don't always have to explain what.
Cool, cool… so it’s illegal? 
|
|
|
|
|
|
nomachine
|
 |
March 28, 2025, 10:20:13 AM |
|
I don't get what you mean.
Cool, cool… so it’s illegal?  Point endoPoints[3]; Int endoKeys[3];
endoPoints[0] = startPoint; endoKeys[0].Set(¤tBatchKey);
// (λ) endoPoints[1].x.ModMulK1(&startPoint.x, &beta); endoPoints[1].y.Set(&startPoint.y); // Y remains same (sign flips handled later) endoKeys[1].ModMulK1(¤tBatchKey, &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(¤tBatchKey, &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(¤tBatchKey); return foundKey; } }
|
BTC: bc1qdwnxr7s08xwelpjy3cc52rrxg63xsmagv50fa8
|
|
|
|
kTimesG
|
 |
March 28, 2025, 10:35:08 AM |
|
Point endoPoints[3]; Int endoKeys[3];
endoPoints[0] = startPoint; endoKeys[0].Set(¤tBatchKey);
// (λ) endoPoints[1].x.ModMulK1(&startPoint.x, &beta); endoPoints[1].y.Set(&startPoint.y); // Y remains same (sign flips handled later) endoKeys[1].ModMulK1(¤tBatchKey, &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(¤tBatchKey, &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(¤tBatchKey); 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
Activity: 420
Merit: 8
|
 |
March 28, 2025, 11:14:44 AM |
|
This is like you talking to me about deciphering Egyptian writing. 
|
|
|
|
|
|
nomachine
|
 |
March 28, 2025, 02:47:15 PM |
|
This is like you talking to me about deciphering Egyptian writing.  You'll learn in time...  Cyclone has been updated with some cosmetic changes and optimizations. Nothing drastic. 
|
BTC: bc1qdwnxr7s08xwelpjy3cc52rrxg63xsmagv50fa8
|
|
|
b0dre
Jr. Member
Offline
Activity: 61
Merit: 1
|
 |
March 28, 2025, 02:51:43 PM |
|
This is like you talking to me about deciphering Egyptian writing.  You'll learn in time...  Cyclone has been updated with some cosmetic changes and optimizations. Nothing drastic.  Just a bit changes 
|
|
|
|
|
filo1992
Newbie
Offline
Activity: 42
Merit: 0
|
 |
March 28, 2025, 03:25:14 PM |
|
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?
|
|
|
|
|
|
|
|