Bitcoin Forum
July 11, 2026, 12:11:58 AM *
News: Latest Bitcoin Core release: 31.1 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: FastScan GPU – Open-Source Bitcoin Puzzle Breaker Revolutionary project  (Read 12 times)
Illumicoin (OP)
Newbie
*
Offline

Activity: 10
Merit: 0


View Profile
July 10, 2026, 09:18:17 PM
 #1

Hello everyone, I want to entroduce my project:
FastScan GPU v2.0 now peaks at 3.5 GH/s on an RTX 4090 – the absolute performance ceiling of the chunk‑based parallel scanning method. More importantly, the chunking algorithm guarantees that every part of the keyspace is probed simultaneously, with zero overlap and zero gaps. A puzzle key sitting at the very last bit of the range is found just as quickly as one sitting at the first bit. There is no “waiting for the scanner to reach the end” – the entire range is covered from the very first second.

Why the chunk coverage matters
In traditional linear scanners, the keyspace is scanned from left to right. If the key happens to be near the end, you wait weeks. FastScan GPU breaks the range into thousands of non‑overlapping chunks, all processed in parallel by the GPU.

Chunks never overlap – each chunk covers a distinct, mathematically disjoint sub‑interval.

No gaps – the last chunk is force‑aligned to end exactly at the range boundary, so no key slips through the cracks.

Whole range probed at once – because all chunks are dispatched simultaneously (as GPU threads), the scanner is effectively “touching” every part of the range from the moment the kernel launches.

This means a puzzle key can be hit at any moment, regardless of whether it lies at the beginning, middle, or extreme end of the bit range. The first few seconds of scanning already have a chance to land on it – a property unique to parallel chunk scanners.

How we reached 3.5 GH/s (the absolute limit)
1. Batch Modular Inversion (Montgomery trick)
The most expensive operation – modular inversion – is now computed once per 8 keys instead of once per key.
dx = Gx – P.x → one batch inversion for the group → affine point addition for each key.
Mathematically identical, 8× fewer inversions.

2. 1 GB Bloom Pre‑filter
Before the costly binary search through a 12 GB database, the kernel checks a 2³³‑bit Bloom filter (k=11).
~99.9% of keys are instantly rejected, keeping the GPU pipelines full.

3. Incremental Stepping (P₀ once, then +G)
Each (chunk, sub‑thread) computes its starting point P₀ = priv₀·G once. All subsequent keys are derived as P₀+G, P₀+2G, … using the cheap batch inversion path. No more full G‑Table multiplies for every key.

4. Fixed 24‑bit Prefix Index
Works correctly for any database size (1 address or 600 million) thanks to a counting + exclusive prefix‑sum pass. Build time ~4 seconds.

5. Single‑Address Mode
Pass a raw Bitcoin address directly on the command line – no .bin file needed.

6. Non‑Overlapping Chunk Architecture
The keyspace is divided into CHUNKS blocks using a stride that guarantees no overlap.

Chunk i starts at R0 + i * stride and scans a fixed number of keys.

The last chunk is locked to R1 - block_size + 1 so it reaches exactly the end of the range.

As CHUNKS doubles each round, the stride shrinks, but the coverage remains mathematically disjoint – you never scan the same key twice unless the stride becomes so small that the blocks naturally touch (which is harmless).

This is the same algorithm used in the reference CPU solver, now fully parallelized on the GPU. The net result: the entire range is actively scanned in parallel from the very first kernel launch. A key at position 2^70 + 99% is just as likely to be found in Round 1 as a key at 2^70.


Performance (RTX 4090, 600M address DB)
Metric   Value
Peak speed   3.5 GH/s
Sustained speed   3.1–3.5 GH/s (range‑dependent)
Database   11 GB (mmap, no RAM copy)
Bloom filter   1 GB (GPU), built in ~4 s
24‑bit index   128 MB (GPU), built in ~4 s
Accuracy   100% (verified against libsecp256k1)
Single‑address support   Yes
Overlap / gaps   Zero – the range is covered perfectly
🔧 Usage
bash
# Full database
./fastscan_gpu_opt addresses.bin 70 71 --mode=comp

# Single address
./fastscan_gpu_opt 1BgGZ9tcN4rm9KBzDn7KprQz87SZ26SAMH 66 67 --mode=comp

# Resume
./fastscan_gpu_opt addresses.bin 70 71 --resume
📂 Repository & License
GitHub: github.com/ethicbrudhack/FastscanGPU-BitcoinPuzzleChallengeBreaker-
License: MIT – fully open‑source, no hidden fees, no premium version.

I’m happy to dive deeper into the chunking guarantees or any other part of the architecture. version available for many new and old graphics cards, feel free to test – the single‑address mode makes it trivial to verify against any known key.
Pages: [1]
  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!