CheetahSpec: Native execution speed WGSL browser cryptosolver

w2seraph1 pts0 comments

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

/" data-turbo-transient="true" />

Skip to content

Type / to search

Sign in<br>Sign upAppearance settings

You signed in with another tab or window. Reload to refresh your session.<br>You signed out in another tab or window. Reload to refresh your session.<br>You switched accounts on another tab or window. Reload to refresh your session.

Dismiss alert

{{ message }}

renz0kuken9

CheetahSpec

Public

Notifications<br>You must be signed in to change notification settings

Fork

Star

master

BranchesTags

Go to file

CodeOpen more actions menu

Folders and files<br>NameNameLast commit message<br>Last commit date<br>Latest commit

History<br>2 Commits<br>2 Commits

blake3dcr

blake3dcr

cmd

cmd

harness

harness

oracle

oracle

pool

pool

wgsl

wgsl

README.md

README.md

blake3dcr-plant

blake3dcr-plant

go.mod

go.mod

go.sum

go.sum

View all files

Repository files navigation

CheetahSpec

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

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

The scoreboard

Metric<br>Value<br>The story

Kernel throughput (AMD RX 5700 XT)<br>5.9–6.5 Gh/s<br>Same class as gominer's OpenCL miner

The gap we closed<br>243M → 6.51 Gh/s<br>~27× — it was a fence round-trip, not the math

Kernel ceiling vs ALU peak<br>~66%<br>Know the physics before you optimize

Validation gates<br>K1–K10c, 69/69 vectors<br>Every byte proven, none assumed

Live simnet E2E<br>dcrd 0 → 126 blocks, 0 rejected shares<br>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<br>hash the constant prefix once. Per-attempt cost collapsed from a full hash<br>to a single compression — the difference between "mining" and "wishing".

Correctness is a build artifact, not a hope. A Go reference,<br>triple-cross-checked against two independent implementations and official<br>vectors, compiled to a WASM oracle; every WGSL stage diffs byte-exact<br>against it. Gates that prove the filter is alive — with planted nonces<br>(B7 accepted, B0 rejected) — not gates that pass because the expected set<br>was empty.

The pipeline runs, or it doesn't. Decoupled burst loop: fill the ring,<br>drain it, batch the synchronization. GPU idle gap: 0 ms. Device lost,<br>rebuild, resume — with the receipts to prove it.

It ships where it says it ships. A local dcrpool-compatible stratum<br>pool (Go), a zero-dependency browser stratum client, and a one-command E2E<br>that starts a private simnet node, mines with your GPU, and only exits 0<br>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<br>./run-simnet-rig.ps1 -Seconds 75 -Sharediff 67108864

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

Layout

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

2026 DeepSeek V4 Flash

About<br>Decred (Blake3DCR algo) 27x WebGPU miner proof of concept<br>Topics<br>blakeblake3blake3dcrbrowsercryptocurrencyjavascriptwebgpuwgsl<br>Resources<br>Readme<br>Activity<br>Stars<br>0 stars<br>Watchers<br>0 watching<br>Forks<br>0 forks<br>Report repository

Releases

Packages

Contributors

You can’t perform that action at this time.

blake3dcr pool browser wgsl decred byte

Related Articles