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.1.tar.gz (25.3 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.1-cp312-cp312-win_amd64.whl (681.8 kB view details)

Uploaded CPython 3.12Windows x86-64

File details

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

File metadata

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

File hashes

Hashes for seminova-0.0.1.tar.gz
Algorithm Hash digest
SHA256 1dbab0ad9455430197c23bf2456ea50f37c1fc66c64dbcc7310031efb5223954
MD5 3913c28032cab0e672af11f5f2d794de
BLAKE2b-256 67ff402129b4e3c0da658914c94eb37ec23d302727f0a658fb009c669d693a59

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for seminova-0.0.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 8335e910f254fc06c39289a7d4dfeaef403a5f0886d76204b36db5b287fae38a
MD5 149819ffbfd479cb10e9ae92dfa08dbf
BLAKE2b-256 de42d94e5e41cd176241caa105775249497004924a32ef8d0dade5846c02ad51

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