Skip to main content

Python bindings for an experimental SuperNova IVC (Rust backend)

Project description

seminova

Python bindings for an experimental SuperNova IVC (Rust backend)

seminova is a Python wrapper around an experimental Rust implementation of SuperNova-style IVC folding, with direct R1CS construction from Python. It’s not a full zkSNARK or anything close to production, but it works, it’s fast, and it’s great to play around with folding proofs with it.


⚠️ Disclaimer

This isn’t the complete SuperNova protocol from the Microsoft paper. It’s basically a trimmed-down toolkit to play with the folding part.

  • ❌ not fully sound
  • ❌ not zero-knowledge
  • ❌ not meant for production at all
  • ✔️ great for learning and experimentation
  • ✔️ fast enough for small/medium circuits
  • ✔️ useful if you want to understand IVC

What Works Today

  • Build R1CS matrices directly from Python (no ceremony)
  • Create PyR1CS objects and fold them together
  • Basic satisfiability checks (non-zk)
  • Incrementally update proofs with new folded instances
  • Access commitments, digests, witness/instance bytes

Future Plans

  • zero-knowledge (hiding commitments)
  • point proof gadgets
  • DSL for augmented circuits
  • more like an actual SuperNova
  • probably not a subnova anymore

Source

Repository: https://github.com/debxylen/seminova


License

MIT.


Credits

The rust backend is sourced from the MIT-licensed implementation from: https://github.com/jules/supernova

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

seminova-0.0.2.tar.gz (25.4 kB view details)

Uploaded Source

Built Distribution

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

seminova-0.0.2-cp312-cp312-win_amd64.whl (684.3 kB view details)

Uploaded CPython 3.12Windows x86-64

File details

Details for the file seminova-0.0.2.tar.gz.

File metadata

  • Download URL: seminova-0.0.2.tar.gz
  • Upload date:
  • Size: 25.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.9.6

File hashes

Hashes for seminova-0.0.2.tar.gz
Algorithm Hash digest
SHA256 6899ddb92f2384ac10e4154f6074f0e83e22cbf7e47a3e6d27a26624c5fa00e4
MD5 a68398e2f3924e3576e84e7cc99f26ec
BLAKE2b-256 5cd3924442ef9ffe0aafcf773ddb9f452a97708cd89f24beb4b42543b975e760

See more details on using hashes here.

File details

Details for the file seminova-0.0.2-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for seminova-0.0.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 56f3b034fefaa8a5298778c003c120ff06051f50239cc66de9706c588325bfb0
MD5 18105ce9a0eb642815a618635b1ce4d2
BLAKE2b-256 834070610646a7a79517e577f1f43c01e853f160c92707ac2bf25cf37b6ee824

See more details on using hashes here.

Supported by

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