zisk-zorch
A lean ZisK prover built on zorch's
scheme-agnostic SNARK building blocks. zorch provides the reusable pieces
(hashing, Merkle commitment, Reed-Solomon LDE, transcript, …); zisk-zorch
adds only the ZisK-specific glue on top — the pil2-stark Poseidon2-Goldilocks
parameters, the pil2 transcript and linear-hash conventions, and the
byte-match against the pil2-proofman
reference prover that ZisK uses.
frx ──▶ zorch (scheme-/zkVM-agnostic blocks) ──▶ zisk-zorch (ZisK / pil2-stark glue)
ZisK proves with Polygon's eSTARK (pil2-stark) — a FRI-based STARK over
Goldilocks. None of that scheme-specific knowledge belongs in zorch (its hard
rule), so it lives here.
Status
prove_inner runs the inner proof end to end over one Fiat-Shamir transcript —
trace commit → quotient → DEEP → FRI. The primitives it is built from are
byte-matched against golden vectors generated from pil2-proofman v1.0.0-alpha's
fields crate (tools/fixture-gen/);
DEEP is the one stage with no golden. No stage is yet byte-matched against a real
pil2 dump, so the per-stage timings in
docs/development.md
are engineering signal, not a sealed baseline. See
docs/architecture.md.
Installation
Python 3.11 on Linux x86_64 only.
CPU
pip install zisk-zorch
GPU (CUDA 12)
pip install zisk-zorch 'frx[cuda12]' \
--extra-index-url https://fractalyze.github.io/pypi/simple/
The extra index carries the CUDA plugin wheels: frx-cuda12-pjrt is over PyPI's
per-file limit, and frx-cuda12-plugin is not published there. It is not needed
for the CPU tier.
Verify
python -c \
"import frx, zisk_zorch.prover; print(frx.devices()); print(zisk_zorch.__version__)"
[CpuDevice(id=0)] is the CPU tier. If you followed the GPU command and still
see it, the CUDA plugins did not take effect and everything will run on the CPU
without saying so.
Importing zisk_zorch.prover rather than the package is deliberate: the package
__init__ is a docstring and a version string, so a bare import zisk_zorch
touches neither frx nor zorch and stays green on an install that resolved
neither.
Development
From a git checkout, not a pip install — nothing below ships in the distribution.
zisk-zorch is pure Python on frx (Field, Ring Accelerated), run against the
Fractalyze xla fork's PJRT plugin (the
frx-cuda12 wheels), built with Bazel (bzlmod). It consumes zorch as a
dev-release wheel from the Fractalyze index, pinned in
requirements.in,
so frx and zk_dtypes resolve once here. Those pins are the development set,
not the packaged dependency set — a release resolves from PyPI via
pyproject.toml.
python3.11 -m venv .venv && . .venv/bin/activate
pip install -r requirements.in \
--extra-index-url https://fractalyze.github.io/pypi/simple/
Dev against a local zorch checkout instead of the pinned wheel — create
.bazelrc.user (gitignored):
common --override_module=zorch=/abs/path/to/your/zorch/checkout
Run the tests (CPU is the default for determinism):
bazel test //...
Documentation
See docs/ —
the architecture
(the inner proof as stages over one transcript, plus the pil2 vocabulary they
mirror), the development guide
(environment, testing, fixtures, CI, and the per-stage pil2 baseline), and the
conventions.
License
Licensed under the Apache License, Version 2.0 (see LICENSE).
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file zisk_zorch-0.1.1.tar.gz.
File metadata
- Download URL: zisk_zorch-0.1.1.tar.gz
- Upload date:
- Size: 80.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f80a53800ba1041084c6e09ed4bbf7783eb7f6a6d37e6d566b84d4e4d038d775
|
|
| MD5 |
6ac23be4799f596e196a74102bebbb9f
|
|
| BLAKE2b-256 |
3bb23ad47be5ca05c7a569f70ac343e2986f5a227b550861045a15cfb24de446
|
Provenance
The following attestation bundles were made for zisk_zorch-0.1.1.tar.gz:
Publisher:
release.yml on fractalyze/zisk-zorch
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
zisk_zorch-0.1.1.tar.gz -
Subject digest:
f80a53800ba1041084c6e09ed4bbf7783eb7f6a6d37e6d566b84d4e4d038d775 - Sigstore transparency entry: 2256694980
- Sigstore integration time:
-
Permalink:
fractalyze/zisk-zorch@cd5b53dc6be120d3061c74bf3797a431703381af -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/fractalyze
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@cd5b53dc6be120d3061c74bf3797a431703381af -
Trigger Event:
release
-
Statement type:
File details
Details for the file zisk_zorch-0.1.1-py3-none-any.whl.
File metadata
- Download URL: zisk_zorch-0.1.1-py3-none-any.whl
- Upload date:
- Size: 101.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bcd82cc34a86b28d9e8d15acd63227b8ebca07ef35e4aede1c2bbb4d8fe9be3e
|
|
| MD5 |
74a3073c655cbd9e177d89dbb3ac264c
|
|
| BLAKE2b-256 |
ca5eef0a23651abf5a97d2acd73915e37076576f11a5ac3007d62ef38887c03c
|
Provenance
The following attestation bundles were made for zisk_zorch-0.1.1-py3-none-any.whl:
Publisher:
release.yml on fractalyze/zisk-zorch
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
zisk_zorch-0.1.1-py3-none-any.whl -
Subject digest:
bcd82cc34a86b28d9e8d15acd63227b8ebca07ef35e4aede1c2bbb4d8fe9be3e - Sigstore transparency entry: 2256694995
- Sigstore integration time:
-
Permalink:
fractalyze/zisk-zorch@cd5b53dc6be120d3061c74bf3797a431703381af -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/fractalyze
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@cd5b53dc6be120d3061c74bf3797a431703381af -
Trigger Event:
release
-
Statement type: