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 :)
Cyclone the quickest CPU solver for Satoshi's puzzles (CPU only)
19 replies 367 views
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)..
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.
tom_cipherMember
Posts: 18 · Reputation: 187
#4Nov 19, 2017, 03:27 AM
Nice to see CPU improvement!
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.
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.
omega_bearFull Member
Posts: 116 · Reputation: 780
#7Nov 21, 2017, 10:19 PM
67 finded so fast, not so long kike 66 previous
It is necessary to implement the entire SECP256K1 curve method (from scratch) using AVX2 to achieve significant performance improvementspotentially 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.
I have ~190 Mkey/s with this searching directly Hash160 targets in pure random mode.
https://github.com/NoMachine1/Cyclone
Hello guys!
Hello nomachine!^)
Great work!
On what CPU you got this speed?
AMD Ryzen Threadripper PRO 7985WX (but I don't just do puzzles on it. I do more stuff.)
Makefile
All files *.cpp *.h etc
Pls upload all files to GitHub and post link
For testing ...
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).
You can use existing files from Cyclone github - the script will work.
This is still in the testing phase....
coldsatoshiMember
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.
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.
coldsatoshiMember
Posts: 6 · Reputation: 150
#17Nov 23, 2017, 05:20 PM
@nomachine: Thanks a lot, indeed that was the problem!
Cheers!
Prefix and auto_random:
https://github.com/B0dre/Cyclone_Prefix
@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
I dont 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.
?Reply
Sign in to reply to this topic
Related topics
- Bitcoin Core displaying coins (UTXOs) in a new tab 13
- Are you in favor of BIP-110? Let's get a Bitcoin poll going. 0
- Erlay seems to have some issues here’s a better proposal for a bitcoin protocol without invites 3
- New Optional Hourglass Implementation is Live 3
- Ways to earn some sats by contributing to bitcoin core development 5
- Exploring the Potential and Challenges of a Kardashev-Scale Bitcoin Network 3