update proving scheme section in book
This commit is contained in:
parent
eaf58c1a55
commit
490678cfdb
2 changed files with 13 additions and 17 deletions
|
@ -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`
|
||||
|
||||
|
|
|
@ -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")
|
||||
|
|
Loading…
Reference in a new issue