Background
What are Bitcoin Puzzles?
A practical explanation of the public key-search challenges, what is actually being searched, and why the remaining spaces are still enormous.
Read article →Architecture
How OpenPuzzle coordinates work without searching centrally
The separation between the public coordinator, the local client and the local search engine, including the trust boundary around potential solutions.
Read article →Scheduling
Random ranges, leases and avoiding duplicated work
How assignment sizing, random non-overlap, cancellation and recycling fit together without ranking participants by hardware.
Read article →Reliability
Why PID reuse matters after a Linux reboot
The failure mode fixed in OpenPuzzle 1.0.17 and why a process number alone is not a safe identity across boots.
Read article →Hardware
CUDA, OpenCL and CPU: choosing a backend
What each backend changes operationally, why benchmark speed sizes work rather than priority, and why sustained speed matters more than a short peak.
Read article →Results
How to interpret coverage without overclaiming probability
Why completed coverage is evidence of searched space, not evidence that the next range is more likely to contain the key.
Read article →Reliability
Leases, heartbeats and recovering interrupted work
Why distributed assignments need explicit leases and terminal states, and how interrupted ranges are recovered without overstating coverage.
Read article →Release engineering
Designing a safe self-updater for a running compute client
How release manifests, SHA-256 verification, safe stop and portable package naming fit into a reliable update path.
Read article →Benchmarking
How to benchmark GPU search speed without fooling yourself
Warm-up, sustained throughput, backend differences and why assignment sizing should use realistic speed instead of a short peak.
Read article →Security
What the OpenPuzzle server knows — and what it does not
A concrete look at the project trust boundary: coordination metadata crosses the network while cryptographic execution and sensitive output remain local.
Read article →