https://github.com/pluto/custom-constraints
Implementation of CCS in Rust
https://github.com/pluto/custom-constraints
Last synced: about 1 year ago
JSON representation
Implementation of CCS in Rust
- Host: GitHub
- URL: https://github.com/pluto/custom-constraints
- Owner: pluto
- License: mit
- Created: 2025-02-01T13:04:59.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-16T23:24:21.000Z (over 1 year ago)
- Last Synced: 2025-02-16T23:25:24.013Z (over 1 year ago)
- Language: Rust
- Size: 55.7 KB
- Stars: 5
- Watchers: 2
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Pluto
# Custom Constraints
An implementation of the Customizable Constraint System (CCS) to be used in SNARKs.
## Overview
This library provides an ergonomic and performant implementation of CCS to be adapted to any frontend or backend proving system.
## Features
- **Minimal Dependencies**: Most, if not all, is built by Pluto.
- **Frontend Compatibility**:
- Noir (coming soon)
## Usage
Add to your `Cargo.toml`:
```toml
[dependencies]
custom-constraints = "*"
```
## Implementation Details
See the [Customizable constraint systems for succinct arguments](https://eprint.iacr.org/2023/552) paper.
## Roadmap
- [x] CSR Sparse matrices
- [x] CCS structure
- [x] CCS checking
- [x] CCS builder/allocator (i.e., from constraints)
- [x] Plonkish CCS
- [ ] Noir to Plonkish CCS
## Contributing
We welcome contributions to our open-source projects. If you want to contribute or follow along with contributor discussions, join our main [Telegram channel](https://t.me/pluto_xyz/1) to chat about Pluto's development.
Our contributor guidelines can be found in our [CONTRIBUTING.md](https://github.com/pluto/.github/blob/main/profile/CONTRIBUTING.md).
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be licensed as above, without any additional terms or conditions.
## License
This project is licensed under the Apache V2 License - see the [LICENSE](LICENSE) file for details.
## References
- [Customizable constraint systems for succinct arguments](https://eprint.iacr.org/2023/552)