zkevm-circuits
zkevm-circuits copied to clipboard
Depends on https://github.com/privacy-scaling-explorations/halo2/issues/90 - [x] Bytecode Circuit https://github.com/privacy-scaling-explorations/zkevm-circuits/issues/753 - [x] Tx Circuit https://github.com/privacy-scaling-explorations/zkevm-circuits/issues/752 - [x] Keccak Circuit https://github.com/privacy-scaling-explorations/zkevm-circuits/issues/751 - [ ] EVM Circuit https://github.com/privacy-scaling-explorations/zkevm-circuits/issues/750 - [x] State Circuit https://github.com/privacy-scaling-explorations/zkevm-circuits/issues/855 -...
This includes changes that are used in zkevm-chain. The pi circuit spec changed in between and this PR doesn't account for these changes.
The gate degree of the EVM circuit is currently 7. This is set by the gate "Constrain state machine transitions". However, the constraint builder limits other gates to 6 instead...
Here some bullet points I mentioned: - Most of the time the prover only utilizes a single core. (generating params & proving key)? - Once multiple cores are used (halo2)...
This requires to calculate the minimum grade of the circuit that works for all the blocks in the integration test.
Currently `callop.rs` and `error_oog_call.rs` (and probably more to come) are sharing an important amount of code. It will be nice to refactor both.
###### Further opcodes for more advanced l2 contracts (compatibility layers, erc-20 factories etc): - [x] EXTCODEHASH https://github.com/appliedzkp/zkevm-circuits/pull/353 - [ ] EXTCODESIZE - [ ] CREATE2 - [x] CODECOPY - [x]...
Currently state circuit prepads some "Start" rows **before** "real rows", while evm circuit pads "EndBlock" **after** "real rows". We did some benchmarks on witness assignment recently, and finds evm circuit...