GitHub - renz0kuken9/CheetahSpec: Decred (Blake3DCR algo) 27x WebGPU miner proof of concept

GitHub

2 min read Original article ↗
image

Blake3DCR · Decred's BLAKE3 Proof-of-Work, at near native speed

The browser as a mining rig — a byte-exact WebGPU solving kernel for Decred's DCP0011 (BLAKE3-256 over the 180-byte header), wrapped in a stable mining loop, a local stratum pool, and a live-chain E2E. No GPU required to read this; one is recommended for the rest.

The scoreboard

Metric Value The story
Kernel throughput (AMD RX 5700 XT) 5.9–6.5 Gh/s Same class as gominer's OpenCL miner
The gap we closed 243M → 6.51 Gh/s ~27× — it was a fence round-trip, not the math
Kernel ceiling vs ALU peak ~66% Know the physics before you optimize
Validation gates K1–K10c, 69/69 vectors Every byte proven, none assumed
Live simnet E2E dcrd 0 → 126 blocks, 0 rejected shares A browser mined a real chain, through a real pool

Why this is a thing

  • The midstate trick. Only the last 64-byte block changes per nonce, so we hash the constant prefix once. Per-attempt cost collapsed from a full hash to a single compression — the difference between "mining" and "wishing".
  • Correctness is a build artifact, not a hope. A Go reference, triple-cross-checked against two independent implementations and official vectors, compiled to a WASM oracle; every WGSL stage diffs byte-exact against it. Gates that prove the filter is alive — with planted nonces (B7 accepted, B0 rejected) — not gates that pass because the expected set was empty.
  • The pipeline runs, or it doesn't. Decoupled burst loop: fill the ring, drain it, batch the synchronization. GPU idle gap: 0 ms. Device lost, rebuild, resume — with the receipts to prove it.
  • It ships where it says it ships. A local dcrpool-compatible stratum pool (Go), a zero-dependency browser stratum client, and a one-command E2E that starts a private simnet node, mines with your GPU, and only exits 0 when shares are accepted and the chain advanced.

Run it

# on the Windows rig (real GPU): same chain, 5.9 Gh/s, headful browser window
./run-simnet-rig.ps1 -Seconds 75 -Sharediff 67108864

# the kernel's full-capacity benchmark page (save URL to Desktop and stare)
node src/harness/server.js 8333 src/

Layout

src/blake3dcr/   Go reference + official test vectors + WASM oracle
src/wgsl/        the kernel — 7 rounds, fully unrolled, no mercy
src/harness/     gates, MinerLoop, bench, browser stratum client, E2E runners
src/pool/        the local stratum pool that speaks Decred

2026 DeepSeek V4 Flash