plonky2/README.md

37 lines
1.4 KiB
Markdown
Raw Normal View History

# plonky2
2021-05-20 19:49:20 -07:00
plonky2 is an implementation of recursive arguments based on Plonk and FRI. It uses FRI to check systems of polynomial constraints, similar to the DEEP-ALI method described in the [DEEP-FRI](https://arxiv.org/abs/1903.12243) paper. It is the successor of [plonky](https://github.com/mir-protocol/plonky), which was based on Plonk and Halo.
2021-05-20 19:42:10 -07:00
2021-05-20 19:49:20 -07:00
plonky2 is largely focused on recursion performance. We use custom gates to mitigate the bottlenecks of FRI verification, such as hashing and interpolation. We also encode witness data in a ~64 bit field, so field operations take just a few cycles. To achieve 128-bit security, we repeat certain checks, and run certain parts of the argument in an extension field.
2021-05-05 19:24:04 -07:00
## Running
To run the recursion benchmark,
```sh
RUSTFLAGS=-Ctarget-cpu=native cargo run --release
```
2021-04-08 09:37:08 -07:00
## Disclaimer
This code has not been thoroughly reviewed or tested, and should not be used in any production systems.
## License
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.