Cyclone the quickest CPU solver for Satoshi's puzzles (CPU only)

19 replies 367 views
bull_2014Member
Posts: 15 · Reputation: 143
#1Nov 16, 2017, 02:15 PM
Hey everyone! I’m really thrilled to finally share something I’ve been working on for a bit now Cyclone, the fastest CPU brute-forcer for puzzles! It’s built to tackle Satoshi puzzles on CPUs (why not? Gotta take a shot at winning something). Here’s a quick comparison of how Cyclone measures up against other tools: Vanity Search: 35.91 (Doesn’t let you pick a range of private keys for searching and uses endomorphism which isn’t applicable for range searches) Keyhunt: 43 (Makes errors by calculating half of the hashes and addresses wrong due to missing Y coordinates in compress mode) Cyclone AVX2: 51.21 (Accurate computation of compressed public keys, handling 8 hash160 per batch) Cyclone AVX512: ~64 (estimated, about 25% quicker than AVX2, handling 16 hash160 per batch) I also ran tests on the AVX2 version using a Ryzen 9 7945HX, and it hit 145 Mkey/s. On a single thread of an Intel Xeon Gold 3rd Gen processor, the AVX512 version is around 22% faster than the AVX2 version: AVX2: ~2.5 Mkey/s AVX512: ~3.2 Mkey/s If you’re interested in giving it a shot or checking out the code, feel free to visit the GitHub repo here: https://github.com/Dookoo2/Cyclone/tree/main I’m eager to hear your opinions, feedback, or any suggestions for making it better. Hit me up if you have any questions or run into problems. Apologies for my English, not my first language :)
4 Reply Quote Share
5tack5atsSenior Member
Posts: 142 · Reputation: 897
#2Nov 16, 2017, 06:57 PM
Nice work. But your software is slow because it uses, as you mention, JLP-based secp256k1 math. There are a number of users here already who outperformed your speeds already. I also believe the  private clients of some pools are also much faster than your software. So be careful with these performance claims (e.g. "world's fastest" - it's definitely not)..
4 Reply Quote Share
bull_2014Member
Posts: 15 · Reputation: 143
#3Nov 16, 2017, 11:46 PM
kTimesG, thanks for your answer. I'm glad to present my update of Cyclone. AVX512 version is ready. It is ~15-%-17% faster than AVX2 version on Ryzen 9 CPU. The next step is adapting to CUDA , because I have a few ideas about speeding up computing hash160 compared to keyhunt cuda version.
3 Reply Quote Share
Posts: 18 · Reputation: 187
#4Nov 19, 2017, 03:27 AM
Nice to see CPU improvement!
2 Reply Quote Share
nickcoinMember
Posts: 28 · Reputation: 236
#5Nov 21, 2017, 02:44 AM
Hi. Nothing better (faster) is available than: https://github.com/JayDDee/cpuminer-opt/tree/master/algo/ripemd (ripemd) https://github.com/JayDDee/cpuminer-opt/tree/master/algo/sha (sha) 4-way, 8-way, avx2/avx512vl . . .  I've been using CPU miner components in Vanity Search for a year now. Don't even try to make the AI do this task for you; you'll overload their server.
0 Reply Quote Share
ryan23Member
Posts: 5 · Reputation: 117
#6Nov 21, 2017, 06:14 AM
puzzle: 67 730fc235 Possibilities : 13 Seed : 2113081982 KHex : 730fc235 Seed : 2179848786 KHex : 730fc235 Seed : 2620256395 KHex : 730fc235 Seed : 3559516538 KHex : 730fc235 Seed : 5559894373 KHex : 730fc235 Seed : 5960477113 KHex : 730fc235 Seed : 6204436682 KHex : 730fc235 Seed : 7016671995 KHex : 730fc235 Seed : 8305603871 KHex : 730fc235 Seed : 8560029709 KHex : 730fc235 Seed : 8633074902 KHex : 730fc235 Seed : 9737552820 KHex : 730fc235 Seed : 9997208084 KHex : 730fc235 seed integer (or "exit" to quit): 8560029709 Seed : 8560029709 KHex : 730fc235 Searching range: 730fc235000000000:730fc235fffffffff (2^36 keys) ================= WORK IN PROGRESS ================= Target Address: 1BY8GQbnueYofwSuFAT3USAhGjPrkxDdW9 CPU Threads   : 2 Mkeys/s       : 5.50 Total Checked : 35287381504 Elapsed Time  : 01:46:50 Range         : 730fc235000000000:730fc235fffffffff Progress      : 51.3499 % Progress Save : 21 ================== FOUND MATCH! ================== Private Key   : 00000000000000000000000000000000000000000000000730FC235C1942C1AE Public Key    : 0212209F5EC514A1580A2937BD833979D933199FC230E204C6CDC58872B7D46F75 WIF           : KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qbP2K5cm35XKMND1X1KW P2PKH Address : 1BY8GQbnueYofwSuFAT3USAhGjPrkxDdW9 Total Checked : 35315148800 Elapsed Time  : 01:46:54 Speed         : 5.5030 Mkeys/s Success! Private key found with seed 8560029709.
4 Reply Quote Share
omega_bearFull Member
Posts: 116 · Reputation: 780
#7Nov 21, 2017, 10:19 PM
67 finded  so fast, not so long kike 66 previous
1 Reply Quote Share
nickcoinMember
Posts: 28 · Reputation: 236
#8Nov 22, 2017, 08:30 AM
It is necessary to implement the entire SECP256K1 curve method (from scratch) using AVX2 to achieve significant performance improvements—potentially 2x to 5x faster. Additionally, using assembly can provide further speedups. Optimizing only the hashing process is insufficient for meaningful overall gains. I spent hundreds of hours of development, debugging, and testing. Half a year of testing. And in the end it really sucks. The one with 1200 GPUs won the battle.
3 Reply Quote Share
nickcoinMember
Posts: 28 · Reputation: 236
#9Nov 22, 2017, 11:33 AM
I have ~190 Mkey/s with this searching directly Hash160 targets in pure random mode. https://github.com/NoMachine1/Cyclone
4 Reply Quote Share
bull_2014Member
Posts: 15 · Reputation: 143
#10Nov 22, 2017, 03:36 PM
Hello guys! Hello nomachine!^) Great work! On what CPU you got this speed?
2 Reply Quote Share
nickcoinMember
Posts: 28 · Reputation: 236
#11Nov 22, 2017, 08:45 PM
AMD Ryzen Threadripper PRO 7985WX (but I don't just do puzzles on it. I do more stuff.)   Makefile
2 Reply Quote Share
LoneSageMember
Posts: 8 · Reputation: 139
#12Nov 22, 2017, 10:29 PM
All files *.cpp *.h etc Pls upload all files to GitHub and post link For testing ...
3 Reply Quote Share
bull_2014Member
Posts: 15 · Reputation: 143
#13Nov 23, 2017, 12:34 AM
7985WX a little bit faster than 7945HX (145% faster:)) I'm almost done distributed Cyclone version with "client to server" topology. It could be useful if you have more than one PC/SRV for computing. Each client gets a part of whole range for computing and communicate with server for sending results. Hope it will help for somebody. Release will be 4-5 march. And also I will start develop a GPU version of my software with both types (standalone, distributed).
4 Reply Quote Share
nickcoinMember
Posts: 28 · Reputation: 236
#14Nov 23, 2017, 06:50 AM
You can use existing files from Cyclone github - the script will work. This is still in the testing phase....
4 Reply Quote Share
Posts: 6 · Reputation: 150
#15Nov 23, 2017, 09:42 AM
Hi, thanks for the code. I'm having some trouble to compile it on Ubuntu 24.04; this is the error I get when I try to 'make' it: Thanks in advance.
4 Reply Quote Share
nickcoinMember
Posts: 28 · Reputation: 236
#16Nov 23, 2017, 12:32 PM
It's probably a copy/paste error on my part - the <array> header is missing. Here it is again: https://github.com/NoMachine1/Cyclone  I have about ~380M keys/s.
0 Reply Quote Share
Posts: 6 · Reputation: 150
#17Nov 23, 2017, 05:20 PM
@nomachine: Thanks a lot, indeed that was the problem! Cheers!
1 Reply Quote Share
eric_gweiMember
Posts: 4 · Reputation: 108
#18Nov 23, 2017, 08:18 PM
Prefix and auto_random: https://github.com/B0dre/Cyclone_Prefix
3 Reply Quote Share
gigabitMember
Posts: 1 · Reputation: 86
#19Nov 23, 2017, 10:57 PM
@b0dre Can you adapt the source code so that it can be turned into a Windows 64 project? The code is currently only adapted for Linux, would that be possible? Many thanks
4 Reply Quote Share
eric_gweiMember
Posts: 4 · Reputation: 108
#20Nov 24, 2017, 09:31 PM
I don’t have a Windows machine available for testing; I only have macOS and Linux systems. You could try using either WSL (Windows Subsystem for Linux) or this version: https://github.com/NoMachine1/Cyclone, which is faster than mine.
2 Reply Quote Share
?Reply
Sign in to reply to this topic

Related topics