hazync

Contribute

Hazync is a public good, and the chain is long. Every proven block is one fewer that a new node has to take on trust. Pick whichever fits you.

Join the proof party

The shared effort to prove the whole chain, one block at a time.

There is no allocation and nothing to apply for. Start a worker with ./hazync run and it claims the next open block by itself, proves it and submits it. The coordinator re-checks every proof, joins accepted ones into the proof from genesis, and puts your name against the blocks you proved.

Folding counts too. Joining neighbouring proofs into one wider proof is credited on the leaderboard separately from blocks proven.

Nobody has to trust the coordinator. Every proof it holds can be downloaded and checked independently, and the explorer lets you do that in your browser.

Prove blocks

You need an NVIDIA GPU and Linux on x86-64 — including Windows via WSL2, which runs the same binaries unchanged. A 24 GB gaming card is enough; cloud GPUs work well.

You prove blocks on your own machine, sign them with your own key, and submit them. The coordinator checks every proof before it counts, and your name goes on the board next to the blocks you proved.

  1. Download the prover and the contributor tool from the latest release. No build and no CUDA toolkit: the NVIDIA driver is all the prover needs. Take the latest one: a worker signs the blocks it claims, and from 16 September 2026 the coordinator refuses unsigned claims.
    base=https://github.com/hazync/hazync/releases/latest/download
    curl -fLO $base/SHA256SUMS.txt
    curl -fLO $base/hazync-host-x86_64-linux-gnu-cuda
    curl -fLO $base/hazync-worker
    
    # check what arrived before running it — this must print OK twice
    grep -E ' (hazync-host-x86_64-linux-gnu-cuda|hazync-worker)$' SHA256SUMS.txt | sha256sum -c -
    
    chmod +x hazync-host-x86_64-linux-gnu-cuda hazync-worker
    ln -sf hazync-worker hazync
    sudo apt install -y python3-cryptography   # Debian/Ubuntu — see below for other systems

    The checksum step is not optional dressing: the prover is a 410 MB binary that will drive your GPU unattended for hours, and the release publishes SHA256SUMS.txt precisely so you never have to take it on trust. If the check does not print OK for both files, stop — do not run them. SHA256SUMS.txt.asc signs that list with the maintainer's key if you want the stronger check.

    cryptography is the signing library the worker uses for your claims — the only thing here that wants root. On other distributions, or without sudo, use pip install --user cryptography instead; on Debian 12 and Ubuntu 24.04 and newer, pip refuses to touch the system Python, so it is python3 -m venv ~/.hazync-venv && ~/.hazync-venv/bin/pip install cryptography and then run the worker with ~/.hazync-venv/bin/python3. The worker tells you which of these it wants if it is missing.

  2. On Windows? Everything above runs unchanged inside WSL2 — the Linux binaries, the worker, the lot. NVIDIA's driver passes your GPU through, so there is no second CUDA install and nothing to build.
    wsl --install -d Ubuntu          # in PowerShell, as administrator; reboot when asked
    wsl                              # then follow the steps above, inside it
    nvidia-smi                       # should list your card — if it does, the GPU is through

    Needs Windows 11, or Windows 10 21H2 or newer, and a current NVIDIA driver on the Windows side. ⛔ Do not install a driver inside WSL2 — that breaks the passthrough. If nvidia-smi lists your card, the prover will find it.

    Native Windows without WSL2, and macOS, are not supported yet: the prover is built only for Linux on x86-64. Both are tracked in issue 616 if you want to follow along, or help.

  3. Choose a name. This creates your signing key in ~/.hazync.
    ./hazync id yourname
  4. Back up ~/.hazync now. The key is the only thing that ties your blocks to your name. One prover has already lost theirs with a deleted machine, and the blocks they proved can no longer be signed for. Moving to another machine means copying that folder across; one key can prove from several machines at once.
  5. Get a push on your phone when a worker stops or keeps failing, instead of finding out from its log. This makes a private ntfy topic and sends a test push; install the ntfy app and subscribe to the topic it prints. The topic is the only secret, so keep the generated one.
    ./hazync notify new
  6. Check your setup, then start proving.
    ./hazync selftest
    ./hazync run

No GPU? The CPU build proves early blocks too, more slowly. Big modern blocks want 64 GB of RAM or more. The full guide covers running several workers, folding proofs together, and the fixes for common driver errors.

Try to break it

You know Bitcoin's internals, cryptography, or how build systems go wrong.

The most valuable find is a case where a Hazync proof says valid and Bitcoin Core would say otherwise. There has been no commissioned audit yet, so outside eyes matter more than anything. In order of where an hour is worth most:

  1. Reproduce the build. Rebuild the prover on a clean machine and check you get the published program ID. Nobody outside the project has done this yet.
    docker build -f reproduce/Dockerfile .
  2. The accumulator, the one component that is not Core's code, and the most likely home of any remaining bug.
  3. The bridge that prepares each block's inputs, in particular verify_input.cpp.
  4. The node adoption code that decides what a node skips on the strength of a proof.
  5. The coordinator, assuming the coordinator itself is hostile.

The review guide says where to start on each. File findings as GitHub issues. For anything you would rather not publish first, encrypt it to the maintainer's key:

777F E81F 8CC0 77FD 3D08 055E 852C 2B31 90F5 B928