Implement Nova's Offchain-Decider circuits (#160)

* Implement Nova's Offchain-Decider circuits (on both curves)
  (curve1 circuit: ~152k constraints, curve2 circuit: ~8k constraints)
  following the enumeration of the Offchain Decider docs:
  https://privacy-scaling-explorations.github.io/sonobe-docs/design/nova-decider-offchain.html
* Update enumeration of checks in Onchain-Decider circuit
  (decider_eth_circuit.rs) to match the updated Onchain Decider docs:
  https://privacy-scaling-explorations.github.io/sonobe-docs/design/nova-decider-onchain.html
This commit is contained in:
2024-09-24 18:04:35 +02:00
committed by GitHub
parent dfd03ea386
commit 1e9c13f852
6 changed files with 617 additions and 29 deletions

View File

@@ -1,4 +1,6 @@
/// This file implements the Nova's onchain (Ethereum's EVM) decider.
/// More details can be found at the documentation page:
/// https://privacy-scaling-explorations.github.io/sonobe-docs/design/nova-decider-onchain.html
use ark_bn254::Bn254;
use ark_crypto_primitives::sponge::Absorb;
use ark_ec::{AffineRepr, CurveGroup, Group};