mirror of
https://github.com/arnaucube/circom-compat.git
synced 2026-01-07 22:41:32 +01:00
Rust limitation no longer applies; warning about circom/arkworks diff
This commit is contained in:
@@ -65,9 +65,12 @@ Tests require the following installed:
|
||||
- [x] Proof generations and verification using Arkworks
|
||||
- [ ] CLI for common operations
|
||||
|
||||
## Known limitations
|
||||
## Notes
|
||||
|
||||
Currently, due to an issue in our upstream (https://github.com/wasmerio/wasmer/issues/4072), this crate works as expected only up to Rust version `1.67.0`; in newer Rust versions, `wasmer` is currently unsound.
|
||||
The prover key generated by circom differs from the one generated by arkworks' groth16 library. While the format is the same, it represents different values.
|
||||
Circom 'prepares' the powers of tau by converting them to Lagrange base, i.e. from `s^i.G` -> `L_i(s).G`. This affects the witness generation process, and the caller needs to ensure the correct `R1CSToQAP` implementer is used:
|
||||
- use [`CircomReduction`](https://github.com/arkworks-rs/circom-compat/blob/b892c62597687c23341cda1e8e89d58bb6428f36/src/circom/qap.rs#L12) for working with circom-generated files,
|
||||
- use [`LibsnarkReduction`](https://github.com/arkworks-rs/groth16/blob/5272c935bda290a24cd18d0a3f994b0af70d5f27/src/r1cs_to_qap.rs#L101) for setup produced using the arkworks backend.
|
||||
|
||||
## Acknowledgements
|
||||
|
||||
|
||||
Reference in New Issue
Block a user