https://github.com/gizatechxyz/luminair
A zkML framework for ensuring the integrity of computational graphs using Circle STARK proofs
https://github.com/gizatechxyz/luminair
ai deep-learning stark zero-knowledge zk
Last synced: 3 months ago
JSON representation
A zkML framework for ensuring the integrity of computational graphs using Circle STARK proofs
- Host: GitHub
- URL: https://github.com/gizatechxyz/luminair
- Owner: gizatechxyz
- Created: 2024-09-29T13:48:33.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2025-06-23T07:26:05.000Z (4 months ago)
- Last Synced: 2025-06-23T08:29:14.528Z (4 months ago)
- Topics: ai, deep-learning, stark, zero-knowledge, zk
- Language: Rust
- Homepage: https://luminair.gizatech.xyz
- Size: 10.8 MB
- Stars: 41
- Watchers: 3
- Forks: 22
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# LuminAIR
![]()
LuminAIR is a **Machine Learning** framework that leverages [Circle STARK Proofs](https://eprint.iacr.org/2024/278) to ensure the integrity of computational graphs.
It allows provers to cryptographically demonstrate that a computational graph has been executed correctly,
while verifiers can validate these proofs with significantly fewer resources than re-executing the graph.This makes it ideal for applications where trustlessness and integrity are paramount, such as healthcare, finance, decentralized protocols and verifiable agents.
> **⚠️ Disclaimer:** LuminAIR is currently under active development 🏗️.
## 🚀 Quick Start
To see LuminAIR in action, run the provided example:
```bash
$ cd examples/simple
$ cargo run
``````rust
use luminair_graph::{graph::LuminairGraph, StwoCompiler};
use luminal::prelude::*;fn main() -> Result<(), Box> {
let mut cx = Graph::new();// Define tensors
let a = cx.tensor((2, 2)).set(vec![1.0, 2.0, 3.0, 4.0]);
let b = cx.tensor((2, 2)).set(vec![10.0, 20.0, 30.0, 40.0]);
let w = cx.tensor((2, 2)).set(vec![-1.0, -1.0, -1.0, -1.0]);// Build computation graph
let c = a * b;
let mut d = (c + w).retrieve();// Compile the computation graph
cx.compile(<(GenericCompiler, StwoCompiler)>::default(), &mut d);// Execute and generate a trace of the computation graph
let trace = cx.gen_trace()?;// Generate proof and verify
let proof = cx.prove(trace)?;
cx.verify(proof)?;Ok(())
}
```## 📖 Documentation
You can check our official documentation [here](https://luminair.gizatech.xyz/).
## 🔮 Roadmap
You can check our roadmap to unlock ML integrity [here](https://luminair.gizatech.xyz/more/roadmap).
## 🫶 Contribute
Contribute to LuminAIR and be rewarded via [OnlyDust](https://app.onlydust.com/projects/giza/overview).
Check the contribution guideline [here](https://luminair.gizatech.xyz/more/contribute)
## 📊 Benchmarks
Check performance benchmarks for LuminAIR operators [here](https://luminair.gizatech.xyz/more/benchmarks).
## 💖 Contributors
raphaelDkhn
💻
malatrax
📖
Mario Karagiorgas
💻
Tbelleng
💻
sukrucildirr
📖
Kazeem Hakeem
💻
guha-rahul
💻
Agnik
💻
## Acknowledgements
A special thanks to the developers and maintainers of the foundational projects that make LuminAIR possible:
- [Luminal](https://github.com/jafioti/luminal): For providing a robust and flexible deep-learning library that serves as the backbone of LuminAIR.
- [Stwo](https://github.com/starkware-libs/stwo): For offering a powerful prover and constraint library.
- [Brainfuck-Stwo](https://github.com/kkrt-labs/stwo-brainfuck): Inspiration for creating AIR with the Stwo library.## License
LuminAIR is open-source software released under the [MIT](https://opensource.org/license/mit) License.