1
0
Fork 0
mirror of synced 2025-09-23 12:18:44 +00:00

update proving scheme section in book

This commit is contained in:
dark64 2020-11-02 13:26:24 +01:00
parent eaf58c1a55
commit 490678cfdb
2 changed files with 13 additions and 17 deletions

View file

@ -4,20 +4,25 @@
Proving schemes supported by ZoKrates require a pairing-friendly elliptic curve. The options are the following:
| Curve | CLI flag | Proving scheme | Supported by Ethereum |
| ----- | -------- | -------------- | --------------------- |
| ALT_BN128 | `--curve bn128` | [G16](https://eprint.iacr.org/2016/260), [GM17](https://eprint.iacr.org/2017/540), [PGHR13](https://eprint.iacr.org/2013/279) | Yes ([EIP-196](https://eips.ethereum.org/EIPS/eip-196), [EIP-197](https://eips.ethereum.org/EIPS/eip-197)) |
| BLS12_381 | `--curve bls12_381` | [G16](https://eprint.iacr.org/2016/260) | No ([EIP-2537](https://eips.ethereum.org/EIPS/eip-2537))|
| BLS12_377 | `--curve bls12_377` | [GM17](https://eprint.iacr.org/2017/540) | No ([EIP-2539](https://eips.ethereum.org/EIPS/eip-2539))|
| BW6_761 | `--curve bw6_761` | [GM17](https://eprint.iacr.org/2017/540) | No ([EIP-3026](https://eips.ethereum.org/EIPS/eip-3026)) |
| Curve | CLI flag | Supported by Ethereum |
| ----- | -------- | --------------------- |
| ALT_BN128 | `--curve bn128` | Yes ([EIP-196](https://eips.ethereum.org/EIPS/eip-196), [EIP-197](https://eips.ethereum.org/EIPS/eip-197)) |
| BLS12_381 | `--curve bls12_381` | No ([EIP-2537](https://eips.ethereum.org/EIPS/eip-2537))|
| BLS12_377 | `--curve bls12_377` | No ([EIP-2539](https://eips.ethereum.org/EIPS/eip-2539))|
| BW6_761 | `--curve bw6_761` | No ([EIP-3026](https://eips.ethereum.org/EIPS/eip-3026)) |
Default: `ALT_BN128`
When not using the default, the CLI flag has to be provided for the following commands:
- `compile`
- `export-verifier`
- `verify`
## Schemes
ZoKrates supports different proving schemes. We identify the schemes by the reference to the paper that introduced them. Currently the options available are:
| Name | CLI flag | Curves |
| Scheme | CLI flag | Curves |
| ---- | -------- | ------ |
| [G16](https://eprint.iacr.org/2016/260) | `--proving-scheme g16` | ALTBN_128, BLS12_381 |
| [GM17](https://eprint.iacr.org/2017/540) | `--proving-scheme gm17` | ALTBN_128, BLS12_377, BW6_761 |
@ -35,7 +40,7 @@ When not using the default, the CLI flag has to be provided for the following co
ZoKrates supports multiple backends. The options are the following:
| Name | CLI flag | Proving schemes | Curves |
| Backend | CLI flag | Proving schemes | Curves |
| ---- | -------- | --------------- | ------ |
| Bellman | `--backend bellman` | G16 | ALTBN_128, BLS12_381 |
| Libsnark | `--backend libsnark` | GM17, PGHR13 | ALTBN_128 |
@ -45,7 +50,6 @@ Default: `bellman`
When not using the default, the CLI flag has to be provided for the following commands:
- `setup`
- `export-verifier`
- `generate-proof`
- `verify`

View file

@ -598,14 +598,6 @@ fn cli() -> Result<(), String> {
.required(false)
.possible_values(CURVES)
.default_value(&default_curve)
).arg(Arg::with_name("backend")
.short("b")
.long("backend")
.help("Backend to use")
.takes_value(true)
.required(false)
.possible_values(BACKENDS)
.default_value(&default_backend)
).arg(Arg::with_name("proving-scheme")
.short("s")
.long("proving-scheme")