Before Quantum — GPU-Accelerated Weak Key Recovery Website: https://b4q.io Technical Research: https://b4q.io/research
What is this? Before Quantum is a distributed GPU computing project that searches for Bitcoin private keys generated by weak entropy sources between 2009 and 2012. During Bitcoin's early years, wallet software used predictable random number generators:
- Timestamp-seeded LCGs — glibc and MSVC srand(time(NULL))+rand(), only ~62.8 million possible seeds
- Debian OpenSSL bug (CVE-2008-0166) — entropy reduced to just the PID, only 65,536 possible keys
- Randstorm (V8 MWC1616) — BitcoinJS web wallets using Chrome's weak Math.random(), ~4.1 trillion keys
- Brain wallets — SHA256 of sequential integers, short ASCII strings, phone numbers, timestamps
- Java LCG (BitcoinJ) — Early Android wallets seeded with System.currentTimeMillis()
- PHP mt_rand() — Auto-seeded with time*pid, used by early PHP-based web wallets
We test 23 weak key generation modes against ~2,845 known funded addresses that are believed to have been created by these flawed algorithms.
How it works Everything runs in a single CUDA C++ file (~3,400 lines). Each GPU thread executes the full pipeline independently:
Private key generation (mode-dependent)
→ secp256k1 EC point multiplication (67 MB precomputed lookup tables)
→ SHA-256 (specialized kernels for 33-byte and 65-byte pubkeys)
→ RIPEMD-160
→ Bloom filter check (32 KB constant memory, 7 hash functions)
→ Binary search confirmation
Both compressed and uncompressed public key formats are tested. An RTX 3090 does ~135M keys/s againt ~3000 targets.
Distributed verification: - Workers never send private keys to the server — only hash160 + key offset
- Server independently regenerates the key from (mode, offset) and verifies the full crypto chain
- Canary targets (honeypot hashes) detect workers that skip computation
- Checkpoint verification on every completed work unit
Reward distribution If a matching wallet is found:
- 70% — Contributors: Distributed proportionally to all GPU workers based on verified compute time. The people who power the search earn the largest share.
- 20% — Platform: Covers development, server infrastructure, and ongoing maintenance.
- 10% — Medical research: Donated to medical research organizations. Recovering lost Bitcoin should also contribute to something meaningful.
Current status The small keyspaces are already fully exhausted (Debian OpenSSL: 65K keys, LCG timestamp modes: ~62.8M keys each). We're now grinding through
SHA-256 Sequential — brain wallets from sequential integers (SHA256(0), SHA256(1), ...) with a 2^64 keyspace against 2,845 target
wallets.
Supports GPUs from GTX 1080 (sm_61) through RTX 5090 (sm_120). Setup takes about 2 minutes.
Links: - Website — Live stats, leaderboard, target addresses
- Technical Research — Deep dive into the CUDA pipeline, memory architecture, match detection
- Join — Download the client and start contributing
Happy to answer technical questions