Skip to main content

sp1-zorch

A lean SP1 prover built on zorch's scheme-agnostic SNARK building blocks. zorch provides the reusable pieces (hashing, Merkle commitment, sumcheck, fold, …); sp1-zorch adds only the SP1-specific glue on top — domain separator, verify codes, heap proof layout, and the FFI byte-match against the SP1 reference prover.

frx  ──▶  zorch (scheme-/zkVM-agnostic blocks)  ──▶  sp1-zorch (SP1 glue)

Status

The full SP1 shard proving scheme runs on zorch blocks: a ProveChain of trace commit → LogUp-GKR → zerocheck → jagged PCS, byte-matching SP1's reference prover end to end (its sp1_verify_shard accepts the assembled proof). See docs/architecture.md.

Installation

Python 3.11 on Linux x86_64 only.

CPU

pip install sp1-zorch

GPU (CUDA 12)

pip install sp1-zorch 'frx[cuda12]' \
    --extra-index-url https://fractalyze.github.io/pypi/simple/

The extra index carries the CUDA plugin wheels, which are too large for PyPI's per-file limit. It is not needed for the CPU tier.

Verify

python -c "import frx, sp1_zorch; print(frx.devices()); print(sp1_zorch.__version__)"

[CpuDevice(id=0)] means the CPU tier; a CUDA install prints the GPU devices.

Development

sp1-zorch is pure Python on frx (Field, Ring Accelerated), run against the Fractalyze XLA GPU plugin, built with Bazel (bzlmod). It consumes zorch as a Bazel module, pinned in MODULE.bazel via git_override for reproducible builds.

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 commit — create .bazelrc.user (gitignored):

common --override_module=zorch=/abs/path/to/your/zorch/checkout

Run the tests (CPU is the default for correctness; the FFI byte-match against the SP1 reference needs a CUDA GPU):

bazel test //...

Documentation

See docs/ — the architecture (the shard proof as a ProveChain of Stages, each running inner Rounds, threaded by a Bridge, plus the SP1 dump vocabulary), the development guide (environment, testing, and the per-stage SP1 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

sp1_zorch-0.1.2.tar.gz (183.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sp1_zorch-0.1.2-py3-none-any.whl (218.9 kB view details)

Uploaded Python 3

File details

Details for the file sp1_zorch-0.1.2.tar.gz.

File metadata

  • Download URL: sp1_zorch-0.1.2.tar.gz
  • Upload date:
  • Size: 183.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for sp1_zorch-0.1.2.tar.gz
Algorithm Hash digest
SHA256 7a26dd5cb4f733047d89881ef780f988a328cbcaf73ffda86c261141e17fa7f8
MD5 978b3fc5a4c795f129c2bdf0dcc30fd8
BLAKE2b-256 9d221653367db5a9b078ac87aa34ce3a7ca162a08dce3bb4f1488c52b0f28a31

See more details on using hashes here.

Provenance

The following attestation bundles were made for sp1_zorch-0.1.2.tar.gz:

Publisher: release.yml on fractalyze/sp1-zorch

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sp1_zorch-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: sp1_zorch-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 218.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for sp1_zorch-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 319c4c780a53e28332ea9bf51ad888218943c4a0027e8f8cbb20301b0fa69525
MD5 b5088fe7fd5bdc31237ffe621c9f9c49
BLAKE2b-256 088dff21ee114e2fed5a79bd7dfbb469383e7d02e831b8d3d32d95a9f032c8f6

See more details on using hashes here.

Provenance

The following attestation bundles were made for sp1_zorch-0.1.2-py3-none-any.whl:

Publisher: release.yml on fractalyze/sp1-zorch

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 files

0.1.1

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page