An open API service indexing awesome lists of open source software.

https://github.com/LayerXcom/bellman-substrate

A library for supporting zk-SNARKs to Substrate
https://github.com/LayerXcom/bellman-substrate

rust substrate zero-knowledge-proofs zk-snarks

Last synced: 27 days ago
JSON representation

A library for supporting zk-SNARKs to Substrate

Awesome Lists containing this project

README

          

# zk-proofs for substrate

This library supports for using zk-SNARKs on [substrate](https://github.com/paritytech/substrate) and is implemented as an extension of [librustzcash](https://github.com/zcash/librustzcash).

Primary purpose of this library is to be used with [zero-chain](https://github.com/LayerXcom/zero-chain). However, it is designed to be as flexible as possible and might be suited well for any other projects to use zk-SNARKs on Substrate.

In order to use the bellman-based zk-SNARKS on Substrate, following features are added to this library.
- `no_std` compatible
- some attributes (like `Encode`, `Decode`, etc...)for binary serialization and deserialization. (These codec is implemented as a [parity-codec](https://github.com/paritytech/parity-codec).)
- `Rng` fixes to be compatible with wasm.

## Security Warnings

These libraries are currently under development and have not been fully-reviewed.

## License

All code in this workspace is licensed under either of

* Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)
* MIT license ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)

at your option.

### Contribution

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 dual licensed as above, without any additional terms or
conditions.