From 56f28ee0764557d9fe6f1b97f258d8520b378794 Mon Sep 17 00:00:00 2001 From: "enrico.eth" <85900164+enricobottazzi@users.noreply.github.com> Date: Fri, 11 Aug 2023 15:58:00 +0200 Subject: [PATCH] Update range check (#132) * feat: update `rangeCheckChip` * feat: add printing * feat: add `N_BYTES` generic to `MerkleSumTree`, `MstInclusionCircuit`, `SolvencyCircuit` and `Snapshot` * fix: modified logic of range chip * fix: `RangeCheckChip` config in syntesize * test: add integration test for range check * chore: move `enable_constant` out of poseidon chip It doesn't change anything, but I think it's clearer to define all the column configuration within the `configure` function of the circuit * fix: remove unnecessary selector * chore: update printing * fix: minor * fix: clearer constraint on `zs` length equal to `N_BYTES + 1` * test: fix * chore: naming * benches: update --- backend/examples/verify_inclusion.rs | 5 +- backend/src/apis/snapshot.rs | 27 +- zk_prover/README.md | 6 +- zk_prover/benches/full_solvency_flow.rs | 35 +- zk_prover/prints/mst-inclusion-layout.png | Bin 1670662 -> 1172032 bytes zk_prover/prints/range-check-layout.png | Bin 0 -> 103131 bytes zk_prover/src/chips/mod.rs | 2 +- zk_prover/src/chips/overflow/mod.rs | 3 - .../src/chips/overflow/overflow_check.rs | 182 ------- zk_prover/src/chips/overflow/tests.rs | 450 ------------------ zk_prover/src/chips/overflow/utils.rs | 139 ------ zk_prover/src/chips/poseidon/hash.rs | 1 - zk_prover/src/chips/range/mod.rs | 3 + zk_prover/src/chips/range/range_check.rs | 176 +++++++ zk_prover/src/chips/range/tests.rs | 287 +++++++++++ zk_prover/src/chips/range/utils.rs | 74 +++ zk_prover/src/circuits/merkle_sum_tree.rs | 74 +-- zk_prover/src/circuits/solvency.rs | 31 +- zk_prover/src/circuits/tests.rs | 186 ++++++-- .../csv/entry_16_no_overflow.csv | 17 + .../merkle_sum_tree/csv/entry_16_overflow.csv | 4 +- .../csv/entry_16_overflow_2.csv | 17 + zk_prover/src/merkle_sum_tree/mst.rs | 7 +- zk_prover/src/merkle_sum_tree/tests.rs | 46 +- .../src/merkle_sum_tree/utils/csv_parser.rs | 6 +- .../utils/operation_helpers.rs | 5 + 26 files changed, 868 insertions(+), 915 deletions(-) create mode 100644 zk_prover/prints/range-check-layout.png delete mode 100644 zk_prover/src/chips/overflow/mod.rs delete mode 100644 zk_prover/src/chips/overflow/overflow_check.rs delete mode 100644 zk_prover/src/chips/overflow/tests.rs delete mode 100644 zk_prover/src/chips/overflow/utils.rs create mode 100644 zk_prover/src/chips/range/mod.rs create mode 100644 zk_prover/src/chips/range/range_check.rs create mode 100644 zk_prover/src/chips/range/tests.rs create mode 100644 zk_prover/src/chips/range/utils.rs create mode 100644 zk_prover/src/merkle_sum_tree/csv/entry_16_no_overflow.csv create mode 100644 zk_prover/src/merkle_sum_tree/csv/entry_16_overflow_2.csv diff --git a/backend/examples/verify_inclusion.rs b/backend/examples/verify_inclusion.rs index 6e012ce9..321497ac 100644 --- a/backend/examples/verify_inclusion.rs +++ b/backend/examples/verify_inclusion.rs @@ -29,6 +29,7 @@ where fn main() { const LEVELS: usize = 4; const N_ASSETS: usize = 2; + const N_BYTES: usize = 8; let ptau_path = "./ptau/hermez-raw-11"; let signature_csv_path = "./examples/signatures.csv"; @@ -36,7 +37,7 @@ fn main() { // CEX Generate the Merkle Sum Tree and then initialize the circuit. // Note that `signature_csv` is empty because this is only needed to generate π of Solvency, which is not the case here. - let snapshot = Snapshot::::new( + let snapshot = Snapshot::::new( &entry_csv_path, &signature_csv_path, "Summa proof of solvency for CryptoExchange".to_string(), @@ -83,7 +84,7 @@ fn main() { generate_leaf_hash::(user_name.clone(), balances_usize.clone()) ); - let mst_inclusion_circuit = MstInclusionCircuit::::init_empty(); + let mst_inclusion_circuit = MstInclusionCircuit::::init_empty(); // The CEX can serve the params and vk by using the get_trusted_setup_for_mst_inclusion() method from the snapshot instance, as shown below: // let (params, _, vk) = snapshot.get_trusted_setup_for_mst_inclusion(); diff --git a/backend/src/apis/snapshot.rs b/backend/src/apis/snapshot.rs index 6cbc75f0..b34a9810 100644 --- a/backend/src/apis/snapshot.rs +++ b/backend/src/apis/snapshot.rs @@ -22,8 +22,8 @@ use summa_solvency::{ use crate::apis::csv_parser::parse_signature_csv; -pub struct Snapshot { - mst: MerkleSumTree, +pub struct Snapshot { + mst: MerkleSumTree, proof_of_address_ownership: AddressOwnershipProof, trusted_setup: [SetupArtifcats; 2], // the first trusted setup relates to MstInclusionCircuit, the second related to SolvencyCircuit } @@ -87,7 +87,8 @@ impl AddressOwnershipProof { } } -impl Snapshot +impl + Snapshot where [usize; N_ASSETS + 1]: Sized, [usize; 2 * (1 + N_ASSETS)]: Sized, @@ -97,13 +98,13 @@ where signature_csv_path: &str, message: String, params_path: &str, - ) -> Result, Box> { + ) -> Result, Box> { let (addresses, signatures) = parse_signature_csv(signature_csv_path).unwrap(); - let mst: MerkleSumTree = MerkleSumTree::::new(entry_csv_path).unwrap(); + let mst = MerkleSumTree::::new(entry_csv_path).unwrap(); - let mst_inclusion_circuit = MstInclusionCircuit::::init_empty(); - let solvency_circuit = SolvencyCircuit::::init_empty(); + let mst_inclusion_circuit = MstInclusionCircuit::::init_empty(); + let solvency_circuit = SolvencyCircuit::::init_empty(); // get k from ptau file name let parts: Vec<&str> = params_path.split("-").collect(); @@ -140,7 +141,7 @@ where yul_output_path: &str, sol_output_path: &str, ) -> Result<(), Box> { - let _deployment_code = gen_evm_verifier_shplonk::>( + let _deployment_code = gen_evm_verifier_shplonk::>( &self.trusted_setup[1].0, &self.trusted_setup[1].2, vec![1 + N_ASSETS], @@ -157,7 +158,7 @@ where asset_contract_addresses: Vec, asset_sums: [Fp; N_ASSETS], ) -> Result<(SolvencyProof, Vec), &'static str> { - let circuit = SolvencyCircuit::::init(self.mst.clone(), asset_sums); + let circuit = SolvencyCircuit::::init(self.mst.clone(), asset_sums); let calldata = gen_proof_solidity_calldata( &self.trusted_setup[1].0, @@ -178,7 +179,8 @@ where &self, user_index: usize, ) -> Result { - let circuit = MstInclusionCircuit::::init(self.mst.clone(), user_index); + let circuit = + MstInclusionCircuit::::init(self.mst.clone(), user_index); let proof = full_prover( &self.trusted_setup[0].0, @@ -212,12 +214,13 @@ mod tests { const N_ASSETS: usize = 2; const LEVELS: usize = 4; + const N_BYTES: usize = 8; - fn initialize_snapshot() -> Snapshot { + fn initialize_snapshot() -> Snapshot { let entry_csv = "../zk_prover/src/merkle_sum_tree/csv/entry_16.csv"; let signature_csv = "src/apis/csv/signatures.csv"; - Snapshot::::new( + Snapshot::::new( entry_csv, signature_csv, "Summa proof of solvency for CryptoExchange".to_string(), diff --git a/zk_prover/README.md b/zk_prover/README.md index 5e377c9a..364686bb 100644 --- a/zk_prover/README.md +++ b/zk_prover/README.md @@ -8,7 +8,7 @@ To build, test and print the circuits, execute ``` cargo build -cargo test --release --features dev-graph -- --nocapture +cargo test --release --features dev-graph ``` ## Documentation @@ -79,13 +79,13 @@ For Merkle Sum Tree Proof of Inclusion circuit | VK Gen | Pk Gen | Proof Generation | Proof Verification | Proof Size (bytes) | | ------------------ | ------------------- | ------------------- | ------------------- | ------------------ | -| 176.05 ms | 122.75 ms | 473.98 ms | 3.8 ms | 1856 | +| 176.05 ms | 122.75 ms | 473.98 ms | 3.8 ms | 1632 | For Proof of Solvency circuit | VK Gen | Pk Gen | Proof Generation | Proof Verification | Proof Size (bytes) | | ------ | ------ | ---------------- | ------------------ | ------------------ | -| 63.22 ms | 27.075 ms | 133.82 ms | 3.4476 ms | 1760 (-36.05%) | +| 63.22 ms | 27.075 ms | 133.82 ms | 3.4476 ms | 1760 | Gas cost to verify proof of solvency diff --git a/zk_prover/benches/full_solvency_flow.rs b/zk_prover/benches/full_solvency_flow.rs index c78c5707..4b7cd3da 100644 --- a/zk_prover/benches/full_solvency_flow.rs +++ b/zk_prover/benches/full_solvency_flow.rs @@ -18,6 +18,7 @@ const SAMPLE_SIZE: usize = 10; const LEVELS: usize = 15; const N_ASSETS: usize = 2; const PATH_NAME: &str = "two_assets"; +const N_BYTES: usize = 8; fn build_mstree(_c: &mut Criterion) { let mut criterion = Criterion::default().sample_size(SAMPLE_SIZE); @@ -34,7 +35,7 @@ fn build_mstree(_c: &mut Criterion) { criterion.bench_function(&bench_name, |b| { b.iter(|| { - MerkleSumTree::::new(&csv_file).unwrap(); + MerkleSumTree::::new(&csv_file).unwrap(); }) }); } @@ -42,7 +43,7 @@ fn build_mstree(_c: &mut Criterion) { fn verification_key_gen_mst_inclusion_circuit(_c: &mut Criterion) { let mut criterion = Criterion::default().sample_size(SAMPLE_SIZE); - let empty_circuit = MstInclusionCircuit::::init_empty(); + let empty_circuit = MstInclusionCircuit::::init_empty(); let (params, _, _) = generate_setup_artifacts(13, None, empty_circuit.clone()).unwrap(); @@ -60,7 +61,7 @@ fn verification_key_gen_mst_inclusion_circuit(_c: &mut Criterion) { fn proving_key_gen_mst_inclusion_circuit(_c: &mut Criterion) { let mut criterion = Criterion::default().sample_size(SAMPLE_SIZE); - let empty_circuit = MstInclusionCircuit::::init_empty(); + let empty_circuit = MstInclusionCircuit::::init_empty(); let (params, _, vk) = generate_setup_artifacts(13, None, empty_circuit.clone()).unwrap(); @@ -78,7 +79,7 @@ fn proving_key_gen_mst_inclusion_circuit(_c: &mut Criterion) { fn generate_zk_proof_mst_inclusion_circuit(_c: &mut Criterion) { let mut criterion = Criterion::default().sample_size(SAMPLE_SIZE); - let empty_circuit = MstInclusionCircuit::::init_empty(); + let empty_circuit = MstInclusionCircuit::::init_empty(); let (params, pk, vk) = generate_setup_artifacts(13, None, empty_circuit).unwrap(); @@ -87,10 +88,10 @@ fn generate_zk_proof_mst_inclusion_circuit(_c: &mut Criterion) { PATH_NAME, PATH_NAME, LEVELS ); - let merkle_sum_tree = MerkleSumTree::::new(&csv_file).unwrap(); + let merkle_sum_tree = MerkleSumTree::::new(&csv_file).unwrap(); // Only now we can instantiate the circuit with the actual inputs - let circuit = MstInclusionCircuit::::init(merkle_sum_tree, 0); + let circuit = MstInclusionCircuit::::init(merkle_sum_tree, 0); let bench_name = format!( "generate zk proof - tree of 2 power of {} entries with {} assets mst inclusion circuit", @@ -106,7 +107,7 @@ fn generate_zk_proof_mst_inclusion_circuit(_c: &mut Criterion) { fn verify_zk_proof_mst_inclusion_circuit(_c: &mut Criterion) { let mut criterion = Criterion::default().sample_size(SAMPLE_SIZE); - let empty_circuit = MstInclusionCircuit::::init_empty(); + let empty_circuit = MstInclusionCircuit::::init_empty(); let (params, pk, vk) = generate_setup_artifacts(13, None, empty_circuit).unwrap(); @@ -115,10 +116,10 @@ fn verify_zk_proof_mst_inclusion_circuit(_c: &mut Criterion) { PATH_NAME, PATH_NAME, LEVELS ); - let merkle_sum_tree = MerkleSumTree::::new(&csv_file).unwrap(); + let merkle_sum_tree = MerkleSumTree::::new(&csv_file).unwrap(); // Only now we can instantiate the circuit with the actual inputs - let circuit = MstInclusionCircuit::::init(merkle_sum_tree, 0); + let circuit = MstInclusionCircuit::::init(merkle_sum_tree, 0); let proof = full_prover(¶ms, &pk, circuit.clone(), circuit.instances()); @@ -138,7 +139,7 @@ fn verify_zk_proof_mst_inclusion_circuit(_c: &mut Criterion) { fn verification_key_gen_solvency_circuit(_c: &mut Criterion) { let mut criterion = Criterion::default().sample_size(SAMPLE_SIZE); - let empty_circuit = SolvencyCircuit::::init_empty(); + let empty_circuit = SolvencyCircuit::::init_empty(); let (params, _, _) = generate_setup_artifacts(11, None, empty_circuit.clone()).unwrap(); @@ -156,7 +157,7 @@ fn verification_key_gen_solvency_circuit(_c: &mut Criterion) { fn proving_key_gen_solvency_circuit(_c: &mut Criterion) { let mut criterion = Criterion::default().sample_size(SAMPLE_SIZE); - let empty_circuit = SolvencyCircuit::::init_empty(); + let empty_circuit = SolvencyCircuit::::init_empty(); let (params, _, vk) = generate_setup_artifacts(11, None, empty_circuit.clone()).unwrap(); @@ -174,7 +175,7 @@ fn proving_key_gen_solvency_circuit(_c: &mut Criterion) { fn generate_zk_proof_solvency_circuit(_c: &mut Criterion) { let mut criterion = Criterion::default().sample_size(SAMPLE_SIZE); - let empty_circuit = SolvencyCircuit::::init_empty(); + let empty_circuit = SolvencyCircuit::::init_empty(); let (params, pk, vk) = generate_setup_artifacts(11, None, empty_circuit).unwrap(); @@ -183,12 +184,12 @@ fn generate_zk_proof_solvency_circuit(_c: &mut Criterion) { PATH_NAME, PATH_NAME, LEVELS ); - let merkle_sum_tree = MerkleSumTree::::new(&csv_file).unwrap(); + let merkle_sum_tree = MerkleSumTree::::new(&csv_file).unwrap(); let asset_sums = merkle_sum_tree.root().balances.map(|x| x + Fp::from(1)); // Only now we can instantiate the circuit with the actual inputs - let circuit = SolvencyCircuit::::init(merkle_sum_tree, asset_sums); + let circuit = SolvencyCircuit::::init(merkle_sum_tree, asset_sums); let bench_name = format!( "generate zk proof - tree of 2 power of {} entries with {} assets solvency circuit", @@ -204,7 +205,7 @@ fn generate_zk_proof_solvency_circuit(_c: &mut Criterion) { fn verify_zk_proof_solvency_circuit(_c: &mut Criterion) { let mut criterion = Criterion::default().sample_size(SAMPLE_SIZE); - let empty_circuit = SolvencyCircuit::::init_empty(); + let empty_circuit = SolvencyCircuit::::init_empty(); let (params, pk, vk) = generate_setup_artifacts(11, None, empty_circuit).unwrap(); @@ -213,12 +214,12 @@ fn verify_zk_proof_solvency_circuit(_c: &mut Criterion) { PATH_NAME, PATH_NAME, LEVELS ); - let merkle_sum_tree = MerkleSumTree::::new(&csv_file).unwrap(); + let merkle_sum_tree = MerkleSumTree::::new(&csv_file).unwrap(); let asset_sums = merkle_sum_tree.root().balances.map(|x| x + Fp::from(1)); // Only now we can instantiate the circuit with the actual inputs - let circuit = SolvencyCircuit::::init(merkle_sum_tree, asset_sums); + let circuit = SolvencyCircuit::::init(merkle_sum_tree, asset_sums); let proof = full_prover(¶ms, &pk, circuit.clone(), circuit.instances()); diff --git a/zk_prover/prints/mst-inclusion-layout.png b/zk_prover/prints/mst-inclusion-layout.png index 90bbe437fdd39bdc78923e69bdf575d48f8dbda1..9ef684c0f77e586e332b464e10f0c56c56897dde 100644 GIT binary patch delta 340392 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 Zv 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

+HqnWNW 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�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 diff --git a/zk_prover/prints/range-check-layout.png b/zk_prover/prints/range-check-layout.png new file mode 100644 index 0000000000000000000000000000000000000000..cc706e85724e865511e5d503e847e2e4b25f494a GIT binary patch literal 103131 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 literal 0 HcmV?d00001 diff --git a/zk_prover/src/chips/mod.rs b/zk_prover/src/chips/mod.rs index b7114a71..b169cd9a 100644 --- a/zk_prover/src/chips/mod.rs +++ b/zk_prover/src/chips/mod.rs @@ -1,4 +1,4 @@ pub mod less_than; pub mod merkle_sum_tree; -pub mod overflow; pub mod poseidon; +pub mod range; diff --git a/zk_prover/src/chips/overflow/mod.rs b/zk_prover/src/chips/overflow/mod.rs deleted file mode 100644 index 50bee8ff..00000000 --- a/zk_prover/src/chips/overflow/mod.rs +++ /dev/null @@ -1,3 +0,0 @@ -pub mod overflow_check; -mod tests; -pub mod utils; diff --git a/zk_prover/src/chips/overflow/overflow_check.rs b/zk_prover/src/chips/overflow/overflow_check.rs deleted file mode 100644 index de778880..00000000 --- a/zk_prover/src/chips/overflow/overflow_check.rs +++ /dev/null @@ -1,182 +0,0 @@ -use crate::chips::overflow::utils::*; -use halo2_proofs::circuit::{AssignedCell, Layouter, Value}; -use halo2_proofs::halo2curves::bn256::Fr as Fp; -use halo2_proofs::plonk::{Advice, Column, ConstraintSystem, Error, Expression, Fixed, Selector}; -use halo2_proofs::poly::Rotation; -use std::fmt::Debug; - -/// Configuration for the Overflow Check Chip -/// -/// # Type Parameters -/// -/// * `N_BYTES`: Number of bytes in which the value to be check should lie -/// -/// # Fields -/// -/// * `a`: Advice column for the value to be checked. -/// * `b`: Advice column for the decomposed values. -/// * `range`: Fixed column for the range table. -/// * `toggle_decomposed_value_check`: Selector to toggle the equality check between the decomposed value and the value. -/// * `toggle_lookup_check`: Selector to toggle the lookup check. -#[derive(Debug, Clone)] -pub struct OverflowCheckConfig { - a: Column, - b: Column, - range: Column, - toggle_decomposed_value_check: Selector, - toggle_lookup_check: Selector, -} - -/// Chip that verifies that the value to be checked doesn't overflow the range specified by `N_BYTES`. -/// Contains the following constraints: -/// * `value` = `decomposed_value_sum` (if `toggle_decomposed_value_check` is toggled) -/// * `decomposed_value` ∈ to `u8` lookup table (if `toggle_lookup_check` is toggled). Namely `decomposed_value` should be in the `u8` range -#[derive(Debug, Clone)] -pub struct OverflowChip { - config: OverflowCheckConfig, -} - -impl OverflowChip { - /// Constructs a new Overflow Chip given an OverflowCheckConfig - pub fn construct(config: OverflowCheckConfig) -> Self { - Self { config } - } - - /// Configures the Overflow Chip - pub fn configure( - meta: &mut ConstraintSystem, - a: Column, - b: Column, - range: Column, - toggle_decomposed_value_check: Selector, - toggle_lookup_check: Selector, - ) -> OverflowCheckConfig { - meta.create_gate( - "equality check between decomposed_value and value", - |meta| { - let s = meta.query_selector(toggle_decomposed_value_check); - - let value = meta.query_advice(a, Rotation::cur()); - - let decomposed_value_vec: Vec> = (0..N_BYTES) - .map(|i| meta.query_advice(b, Rotation(i as i32))) - .collect(); - - // multiplier by position of `b`(decomposed_value) column - let multiplier = |pos: usize| { - let mut shift_chunk = Fp::one(); - for _ in 1..pos { - shift_chunk *= Fp::from(1 << 8); - } - Expression::Constant(shift_chunk) - }; - - // We are performing an important calculation here to check for overflow in finite field numbers. - // A single range table is utilized which applies `1 << 8` to decompose the column 'b' for range checking. - // - // the decomposed values would be represented as follows: - // - // | | a (value) | b | - // |-----|-------------|------| - // | 0 | 0x1f2f3f | 0x1f | - // | 1 | | 0x2f | - // | 2 | | 0x3f | - // - // Here, each column `b_n` represents a decomposed value. - // So, decomposed_value_sum would be calculated as b_0 * 2^16 + b_1 * 2^8 + b_2 * 1 - // - // During the iteration process in fold, the following would be the values of `acc`: - // iteration 0: acc = decomposed_value_vec[1] * ( 1 << 8 ) + decomposed_value_vec[2] - // iteration 1: acc = decomposed_value_vec[0] * ( 1 << 16 ) + decomposed_value_vec[1] * ( 1 << 8 ) + decomposed_value_vec[2] - let decomposed_value_sum = (0..=N_BYTES - 2).fold( - // decomposed value at right-most advice columnis is least significant byte - decomposed_value_vec[N_BYTES - 1].clone(), - |acc, i| { - let cursor = N_BYTES - i; - acc + (decomposed_value_vec[i].clone() * multiplier(cursor)) - }, - ); - - vec![s * (decomposed_value_sum - value)] - }, - ); - - meta.annotate_lookup_any_column(range, || "LOOKUP_MAXBITS_RANGE"); - - meta.lookup_any("range check for MAXBITS", |meta| { - let cell = meta.query_advice(b, Rotation::cur()); - let range = meta.query_fixed(range, Rotation::cur()); - - let enable_lookup = meta.query_selector(toggle_lookup_check); - vec![(enable_lookup * cell, range)] - }); - - OverflowCheckConfig { - a, - b, - range, - toggle_decomposed_value_check, - toggle_lookup_check, - } - } - - /// Assigns the value to be checked to the chip by splitting it into `N_BYTES` chunks. - pub fn assign( - &self, - mut layouter: impl Layouter, - value: &AssignedCell, - ) -> Result<(), Error> { - layouter.assign_region( - || "assign decomposed values", - |mut region| { - self.config - .toggle_decomposed_value_check - .enable(&mut region, 0)?; - - // Assign input value to the cell inside the region - value.copy_advice(|| "assign value", &mut region, self.config.a, 0)?; - - // Just used helper function for decomposing. In other halo2 application used functions based on Field. - let decomposed_values: Vec = decompose_biguint_to_ubits( - &value_fp_to_big_uint(value.value().copied()), - N_BYTES, - 8 as usize, - ) as Vec; - - // Note that, decomposed result is little edian. So, we need to reverse it. - for (idx, val) in decomposed_values.iter().rev().enumerate() { - self.config.toggle_lookup_check.enable(&mut region, idx)?; - - region.assign_advice( - || format!("assign decomposed {} row", idx), - self.config.b, - idx, - || Value::known(*val), - )?; - } - - Ok(()) - }, - ) - } - - /// Loads the lookup table with values from `0` to `2^8 - 1` - pub fn load(&self, mut layouter: impl Layouter) -> Result<(), Error> { - let range = 1 << (8 as usize); - - layouter.assign_region( - || format!("load range check table of {} bits", 8), - |mut region| { - for i in 0..range { - region.assign_fixed( - || "assign cell in fixed column", - self.config.range, - i, - || Value::known(Fp::from(i as u64)), - )?; - } - Ok(()) - }, - ) - } -} diff --git a/zk_prover/src/chips/overflow/tests.rs b/zk_prover/src/chips/overflow/tests.rs deleted file mode 100644 index 3d1cf745..00000000 --- a/zk_prover/src/chips/overflow/tests.rs +++ /dev/null @@ -1,450 +0,0 @@ -use crate::chips::overflow::overflow_check::{OverflowCheckConfig, OverflowChip}; -use halo2_proofs::{circuit::*, plonk::*, poly::Rotation}; - -use halo2_proofs::halo2curves::bn256::Fr as Fp; - -#[derive(Debug, Clone)] -pub struct AddConfig { - pub col_a: Column, - pub col_b: Column, - pub col_c: Column, - pub selector: Selector, -} - -#[derive(Debug, Clone)] -pub struct AddChip { - pub config: AddConfig, -} - -impl AddChip { - pub fn construct(config: AddConfig) -> Self { - Self { config } - } - - pub fn configure(meta: &mut ConstraintSystem) -> AddConfig { - let col_a = meta.advice_column(); - let col_b = meta.advice_column(); - let col_c = meta.advice_column(); - let selector = meta.selector(); - // let instance = meta.instance_column(); - - meta.enable_equality(col_a); - meta.enable_equality(col_b); - meta.enable_equality(col_c); - // meta.enable_equality(instance); - - meta.create_gate("add", |meta| { - let s = meta.query_selector(selector); - let a = meta.query_advice(col_a, Rotation::cur()); - let b = meta.query_advice(col_b, Rotation::cur()); - let c = meta.query_advice(col_c, Rotation::cur()); - vec![s * (a + b - c)] - }); - - AddConfig { - col_a, - col_b, - col_c, - selector, - // instance, - } - } - - pub fn default( - &self, - a: Fp, - b: Fp, - mut layouter: impl Layouter, - ) -> Result< - ( - AssignedCell, - AssignedCell, - AssignedCell, - ), - Error, - > { - layouter.assign_region( - || "initialize value and sum", - |mut region| { - self.config.selector.enable(&mut region, 0)?; - - let a_cell = - region.assign_advice(|| "a", self.config.col_a, 0, || Value::known(a))?; - - let b_cell = - region.assign_advice(|| "b", self.config.col_b, 0, || Value::known(b))?; - - let c_cell = region.assign_advice( - || "a + b", - self.config.col_c, - 0, - || a_cell.value().copied() + b_cell.value(), - )?; - - Ok((a_cell, b_cell, c_cell)) - }, - ) - } -} - -#[derive(Debug, Clone)] -pub struct OverflowCheckTestConfig { - pub addchip_config: AddConfig, - pub overflow_check_config: OverflowCheckConfig, -} - -#[derive(Default, Clone, Debug)] -struct OverflowCheckTestCircuit { - pub a: Fp, - pub b: Fp, -} - -impl Circuit for OverflowCheckTestCircuit { - type Config = OverflowCheckTestConfig; - type FloorPlanner = SimpleFloorPlanner; - - fn without_witnesses(&self) -> Self { - Self::default() - } - - fn configure(meta: &mut ConstraintSystem) -> Self::Config { - let addchip_config = AddChip::configure(meta); - - let a = meta.advice_column(); - meta.enable_equality(a); - - let b = meta.advice_column(); - - let range = meta.fixed_column(); - - // we need 1 selector for the decomposed value check - let toggle_decomposed_value_check = meta.selector(); - - // we need 1 complex selector for the lookup check - let toggle_lookup_check = meta.complex_selector(); - - let overflow_check_config = OverflowChip::::configure( - meta, - a, - b, - range, - toggle_decomposed_value_check, - toggle_lookup_check, - ); - - { - OverflowCheckTestConfig { - addchip_config, - overflow_check_config, - } - } - } - - fn synthesize( - &self, - config: Self::Config, - mut layouter: impl Layouter, - ) -> Result<(), Error> { - // Initiate the add chip - let addchip = AddChip::construct(config.addchip_config); - let (a_cell, b_cell, c_cell) = - addchip.default(self.a, self.b, layouter.namespace(|| "add chip"))?; - - // Initiate the overflow check chip - let overflow_chip = OverflowChip::construct(config.overflow_check_config); - overflow_chip.load(layouter.namespace(|| "checking overflow value a"))?; - - // check overflow - overflow_chip.assign(layouter.namespace(|| "checking overflow value a"), &a_cell)?; - overflow_chip.assign(layouter.namespace(|| "checking overflow value b"), &b_cell)?; - - // to perform a + b as part of test - overflow_chip.assign( - layouter.namespace(|| "checking overflow value a + b"), - &c_cell, - )?; - - Ok(()) - } -} - -#[cfg(test)] -mod testing { - use super::OverflowCheckTestCircuit; - use halo2_proofs::{ - dev::{FailureLocation, MockProver, VerifyFailure}, - halo2curves::bn256::Fr as Fp, - plonk::Any, - }; - - #[test] - fn test_none_overflow_16bits_case() { - let k = 9; - - // a: new value - let a = Fp::from((1 << 16) - 2); - let b = Fp::from(1); - - let circuit = OverflowCheckTestCircuit::<2> { a, b }; - let prover = MockProver::run(k, &circuit, vec![]).unwrap(); - prover.assert_satisfied(); - } - - #[test] - fn test_overflow_16bits_case() { - let k = 9; - - let a = Fp::from((1 << 16) - 2); - let b = Fp::from(3); - - let circuit = OverflowCheckTestCircuit::<2> { a, b }; - let invalid_prover = MockProver::run(k, &circuit, vec![]).unwrap(); - assert_eq!( - invalid_prover.verify(), - Err(vec![VerifyFailure::ConstraintNotSatisfied { - constraint: ( - (1, "equality check between decomposed_value and value").into(), - 0, - "" - ) - .into(), - location: FailureLocation::InRegion { - region: (4, "assign decomposed values").into(), - offset: 0 - }, - cell_values: vec![ - (((Any::advice(), 3).into(), 0).into(), "0x10001".to_string()), - (((Any::advice(), 4).into(), 0).into(), "0".to_string()), - (((Any::advice(), 4).into(), 1).into(), "1".to_string()), - ] - }]) - ); - } - - #[test] - fn test_overflow_248bits_case() { - let k = 9; - - // In case, the left_balance(i.e user balance) is maximum value within the range (248 bits) - let a = Fp::from_raw([ - 0xffffffffffffffff, - 0xffffffffffffffff, - 0xffffffffffffffff, - 0x00ffffffffffffff, - ]); - let b = Fp::from(1); - - let circuit = OverflowCheckTestCircuit::<31> { a, b }; - let invalid_prover = MockProver::run(k, &circuit, vec![]).unwrap(); - - assert_eq!( - invalid_prover.verify(), - Err(vec![VerifyFailure::ConstraintNotSatisfied { - constraint: ( - (1, "equality check between decomposed_value and value").into(), - 0, - "" - ) - .into(), - location: FailureLocation::InRegion { - region: (4, "assign decomposed values").into(), - offset: 0 - }, - cell_values: vec![ - ( - ((Any::advice(), 3).into(), 0).into(), - "0x100000000000000000000000000000000000000000000000000000000000000" - .to_string() - ), - (((Any::advice(), 4).into(), 0).into(), "0".to_string()), - (((Any::advice(), 4).into(), 1).into(), "0".to_string()), - (((Any::advice(), 4).into(), 2).into(), "0".to_string()), - (((Any::advice(), 4).into(), 3).into(), "0".to_string()), - (((Any::advice(), 4).into(), 4).into(), "0".to_string()), - (((Any::advice(), 4).into(), 5).into(), "0".to_string()), - (((Any::advice(), 4).into(), 6).into(), "0".to_string()), - (((Any::advice(), 4).into(), 7).into(), "0".to_string()), - (((Any::advice(), 4).into(), 8).into(), "0".to_string()), - (((Any::advice(), 4).into(), 9).into(), "0".to_string()), - (((Any::advice(), 4).into(), 10).into(), "0".to_string()), - (((Any::advice(), 4).into(), 11).into(), "0".to_string()), - (((Any::advice(), 4).into(), 12).into(), "0".to_string()), - (((Any::advice(), 4).into(), 13).into(), "0".to_string()), - (((Any::advice(), 4).into(), 14).into(), "0".to_string()), - (((Any::advice(), 4).into(), 15).into(), "0".to_string()), - (((Any::advice(), 4).into(), 16).into(), "0".to_string()), - (((Any::advice(), 4).into(), 17).into(), "0".to_string()), - (((Any::advice(), 4).into(), 18).into(), "0".to_string()), - (((Any::advice(), 4).into(), 19).into(), "0".to_string()), - (((Any::advice(), 4).into(), 20).into(), "0".to_string()), - (((Any::advice(), 4).into(), 21).into(), "0".to_string()), - (((Any::advice(), 4).into(), 22).into(), "0".to_string()), - (((Any::advice(), 4).into(), 23).into(), "0".to_string()), - (((Any::advice(), 4).into(), 24).into(), "0".to_string()), - (((Any::advice(), 4).into(), 25).into(), "0".to_string()), - (((Any::advice(), 4).into(), 26).into(), "0".to_string()), - (((Any::advice(), 4).into(), 27).into(), "0".to_string()), - (((Any::advice(), 4).into(), 28).into(), "0".to_string()), - (((Any::advice(), 4).into(), 29).into(), "0".to_string()), - (((Any::advice(), 4).into(), 30).into(), "0".to_string()), - ] - }]) - ); - } - - // #[test] - // fn test_overflow_251bits_case_1() { - // let k = 13; - - // // In case, the left_balance(i.e user balance) is maximum value - // let a = Fp::from_raw([ - // 0xffffffffffffffff, - // 0xffffffffffffffff, - // 0xffffffffffffffff, - // 0x0fffffffffffffff, - // ]); - // let b = Fp::from(1); - - // let circuit = OverflowCheckTestCircuit::<12, 252> { a, b }; - // let invalid_prover = MockProver::run(k, &circuit, vec![]).unwrap(); - - // assert_eq!( - // invalid_prover.verify(), - // Err(vec![VerifyFailure::ConstraintNotSatisfied { - // constraint: ( - // (1, "equality check between decomposed_value and value").into(), - // 0, - // "" - // ) - // .into(), - // location: FailureLocation::InRegion { - // region: (4, "assign decomposed values").into(), - // offset: 0 - // }, - // cell_values: vec![ - // ( - // ((Any::advice(), 3).into(), 0).into(), - // "0x1000000000000000000000000000000000000000000000000000000000000000" - // .to_string() - // ), - // (((Any::advice(), 4).into(), 0).into(), "0".to_string()), - // (((Any::advice(), 4).into(), 1).into(), "0".to_string()), - // (((Any::advice(), 4).into(), 2).into(), "0".to_string()), - // (((Any::advice(), 4).into(), 3).into(), "0".to_string()), - // (((Any::advice(), 4).into(), 4).into(), "0".to_string()), - // (((Any::advice(), 4).into(), 5).into(), "0".to_string()), - // (((Any::advice(), 4).into(), 6).into(), "0".to_string()), - // (((Any::advice(), 4).into(), 7).into(), "0".to_string()), - // (((Any::advice(), 4).into(), 8).into(), "0".to_string()), - // (((Any::advice(), 4).into(), 9).into(), "0".to_string()), - // (((Any::advice(), 4).into(), 10).into(), "0".to_string()), - // (((Any::advice(), 4).into(), 11).into(), "0".to_string()), - // (((Any::advice(), 4).into(), 12).into(), "0".to_string()), - // (((Any::advice(), 4).into(), 13).into(), "0".to_string()), - // (((Any::advice(), 4).into(), 14).into(), "0".to_string()), - // (((Any::advice(), 4).into(), 15).into(), "0".to_string()), - // (((Any::advice(), 4).into(), 16).into(), "0".to_string()), - // (((Any::advice(), 4).into(), 17).into(), "0".to_string()), - // (((Any::advice(), 4).into(), 18).into(), "0".to_string()), - // (((Any::advice(), 4).into(), 19).into(), "0".to_string()), - // (((Any::advice(), 4).into(), 20).into(), "0".to_string()), - // ] - // }]) - // ); - // } - - // #[test] - // fn test_overflow_251bits_case_2() { - // let k = 9; - - // // left and right balance are equal to max value - // let max_balance = Fp::from_raw([ - // 0xffffffffffffffff, - // 0xffffffffffffffff, - // 0xffffffffffffffff, - // 0x0fffffffffffffff, - // ]); - - // let circuit = OverflowCheckTestCircuit::<8, 252> { - // a: max_balance, - // b: max_balance, - // }; - // let invalid_prover = MockProver::run(k, &circuit, vec![]).unwrap(); - - // fn gen_errors(region_num: usize, first_advice: &str, last_advice: &str) -> VerifyFailure { - // VerifyFailure::ConstraintNotSatisfied { - // constraint: ( - // (1, "equality check between decomposed_value and value").into(), - // 0, - // "", - // ) - // .into(), - // location: FailureLocation::InRegion { - // region: (region_num, "assign decomposed values").into(), - // offset: 0, - // }, - // cell_values: vec![ - // ( - // ((Any::advice(), 3).into(), 0).into(), - // first_advice.to_string(), - // ), - // (((Any::advice(), 4).into(), 0).into(), "0xff".to_string()), - // (((Any::advice(), 4).into(), 1).into(), "0xff".to_string()), - // (((Any::advice(), 4).into(), 2).into(), "0xff".to_string()), - // (((Any::advice(), 4).into(), 3).into(), "0xff".to_string()), - // (((Any::advice(), 4).into(), 4).into(), "0xff".to_string()), - // (((Any::advice(), 4).into(), 5).into(), "0xff".to_string()), - // (((Any::advice(), 4).into(), 6).into(), "0xff".to_string()), - // (((Any::advice(), 4).into(), 7).into(), "0xff".to_string()), - // (((Any::advice(), 4).into(), 8).into(), "0xff".to_string()), - // (((Any::advice(), 4).into(), 9).into(), "0xff".to_string()), - // (((Any::advice(), 4).into(), 10).into(), "0xff".to_string()), - // (((Any::advice(), 4).into(), 11).into(), "0xff".to_string()), - // (((Any::advice(), 4).into(), 12).into(), "0xff".to_string()), - // (((Any::advice(), 4).into(), 13).into(), "0xff".to_string()), - // (((Any::advice(), 4).into(), 14).into(), "0xff".to_string()), - // (((Any::advice(), 4).into(), 15).into(), "0xff".to_string()), - // (((Any::advice(), 4).into(), 16).into(), "0xff".to_string()), - // (((Any::advice(), 4).into(), 17).into(), "0xff".to_string()), - // (((Any::advice(), 4).into(), 18).into(), "0xff".to_string()), - // (((Any::advice(), 4).into(), 19).into(), "0xff".to_string()), - // (((Any::advice(), 4).into(), 20).into(), "0xff".to_string()), - // (((Any::advice(), 4).into(), 21).into(), "0xff".to_string()), - // (((Any::advice(), 4).into(), 22).into(), "0xff".to_string()), - // (((Any::advice(), 4).into(), 23).into(), "0xff".to_string()), - // (((Any::advice(), 4).into(), 24).into(), "0xff".to_string()), - // (((Any::advice(), 4).into(), 25).into(), "0xff".to_string()), - // (((Any::advice(), 4).into(), 26).into(), "0xff".to_string()), - // (((Any::advice(), 4).into(), 27).into(), "0xff".to_string()), - // (((Any::advice(), 4).into(), 28).into(), "0xff".to_string()), - // (((Any::advice(), 4).into(), 29).into(), "0xff".to_string()), - // ( - // ((Any::advice(), 4).into(), 30).into(), - // last_advice.to_string(), - // ), - // ], - // } - // } - - // assert_eq!( - // invalid_prover.verify(), - // Err(vec![ - // gen_errors( - // 2, - // "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - // "0xff" - // ), - // gen_errors( - // 3, - // "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - // "0xff" - // ), - // gen_errors( - // 4, - // "0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe", - // "0xfe" - // ) - // ]) - // ); - // } -} diff --git a/zk_prover/src/chips/overflow/utils.rs b/zk_prover/src/chips/overflow/utils.rs deleted file mode 100644 index 669954d9..00000000 --- a/zk_prover/src/chips/overflow/utils.rs +++ /dev/null @@ -1,139 +0,0 @@ -use halo2_proofs::{circuit::Value, halo2curves::bn256::Fr as Fp}; -use num_bigint::BigUint; - -/// Converts a Field element to a BigUint -fn fp_to_big_uint(f: Fp) -> BigUint { - BigUint::from_bytes_le(f.to_bytes().as_slice()) -} - -/// Converts a Value to a BigUint -pub fn value_fp_to_big_uint(v: Value) -> BigUint { - let mut inner_value = Fp::zero(); - v.as_ref().map(|f| inner_value = inner_value.add(f)); - - fp_to_big_uint(inner_value) -} - -/// Decomposes a BigUint into a vector of Field elements -/// `number_of_limbs` is the number of chunks to split the BigUint into -/// `bit_len` is the number of bits in each chunk -pub fn decompose_biguint_to_ubits(e: &BigUint, number_of_limbs: usize, bit_len: usize) -> Vec { - debug_assert!(bit_len <= 64); - - let mut e = e.iter_u64_digits(); - let mask: u64 = (1u64 << bit_len) - 1u64; - let mut u64_digit = e.next().unwrap_or(0); - let mut rem = 64; - (0..number_of_limbs) - .map(|_| match rem.cmp(&bit_len) { - core::cmp::Ordering::Greater => { - let limb = u64_digit & mask; - u64_digit >>= bit_len; - rem -= bit_len; - Fp::from(limb) - } - core::cmp::Ordering::Equal => { - let limb = u64_digit & mask; - u64_digit = e.next().unwrap_or(0); - rem = 64; - Fp::from(limb) - } - core::cmp::Ordering::Less => { - let mut limb = u64_digit; - u64_digit = e.next().unwrap_or(0); - limb |= (u64_digit & ((1 << (bit_len - rem)) - 1)) << rem; - u64_digit >>= bit_len - rem; - rem += 64 - bit_len; - Fp::from(limb) - } - }) - .collect() -} - -#[cfg(test)] -mod tests { - use super::*; - - #[test] - fn decompose_modulus() { - // bn254 modulus, r = 0x30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001 - let max_minus_one = Fp::from_raw([ - 0x43e1f593ef000000, - 0x2833e84879b97091, - 0xb85045b68181585d, - 0x30644e72e131a029, - ]); - - let biguint_max = fp_to_big_uint(max_minus_one); - let decomposed_max = decompose_biguint_to_ubits(&biguint_max, 22, 12); - - let expected_values = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000000000000000000000000000000000000000003ef", - "0x0000000000000000000000000000000000000000000000000000000000000f59", - "0x00000000000000000000000000000000000000000000000000000000000003e1", - "0x0000000000000000000000000000000000000000000000000000000000000914", - "0x0000000000000000000000000000000000000000000000000000000000000970", - "0x000000000000000000000000000000000000000000000000000000000000079b", - "0x0000000000000000000000000000000000000000000000000000000000000848", - "0x000000000000000000000000000000000000000000000000000000000000033e", - "0x0000000000000000000000000000000000000000000000000000000000000d28", - "0x0000000000000000000000000000000000000000000000000000000000000585", - "0x0000000000000000000000000000000000000000000000000000000000000181", - "0x0000000000000000000000000000000000000000000000000000000000000b68", - "0x0000000000000000000000000000000000000000000000000000000000000045", - "0x0000000000000000000000000000000000000000000000000000000000000b85", - "0x0000000000000000000000000000000000000000000000000000000000000029", - "0x000000000000000000000000000000000000000000000000000000000000031a", - "0x00000000000000000000000000000000000000000000000000000000000002e1", - "0x00000000000000000000000000000000000000000000000000000000000004e7", - "0x0000000000000000000000000000000000000000000000000000000000000064", - "0x0000000000000000000000000000000000000000000000000000000000000003", - ]; - - for (i, &expected) in expected_values.iter().enumerate() { - assert_eq!(format!("{:?}", decomposed_max[i]), expected); - } - } - - #[test] - fn decompose_250bits() { - // 1 << 251 = 0x800000000000000000000000000000000000000000000000000000000000000 - // -1 = 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff - let max_u250 = Fp::from_raw([ - 0xffffffffffffffff, - 0xffffffffffffffff, - 0xffffffffffffffff, - 0x07ffffffffffffff, - ]); - - let biguint_max_u250 = fp_to_big_uint(max_u250); - let decomposed = decompose_biguint_to_ubits(&biguint_max_u250, 10, 25); - - let expected = "0x0000000000000000000000000000000000000000000000000000000001ffffff"; - for value in decomposed.iter() { - assert_eq!(format!("{:?}", value), expected); - } - } - - #[test] - fn decompose_251bits() { - // 1 << 252 = 0x1000000000000000000000000000000000000000000000000000000000000000 - // - 1 = 0x0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff - let max_u251 = Fp::from_raw([ - 0xffffffffffffffff, - 0xffffffffffffffff, - 0xffffffffffffffff, - 0x0fffffffffffffff, - ]); - - let biguint_max_u251 = fp_to_big_uint(max_u251); - let decomposed = decompose_biguint_to_ubits(&biguint_max_u251, 21, 12); - - let expected = "0x0000000000000000000000000000000000000000000000000000000000000fff"; - for value in decomposed.iter() { - assert_eq!(format!("{:?}", value), expected); - } - } -} diff --git a/zk_prover/src/chips/poseidon/hash.rs b/zk_prover/src/chips/poseidon/hash.rs index 921327c0..21fdafeb 100644 --- a/zk_prover/src/chips/poseidon/hash.rs +++ b/zk_prover/src/chips/poseidon/hash.rs @@ -66,7 +66,6 @@ impl, const WIDTH: usize, const RATE: usize, const L: u rc_a: [Column; WIDTH], rc_b: [Column; WIDTH], ) -> PoseidonConfig { - meta.enable_constant(rc_b[0]); let pow5_config = Pow5Chip::configure::(meta, state, partial_sbox, rc_a, rc_b); PoseidonConfig { pow5_config } diff --git a/zk_prover/src/chips/range/mod.rs b/zk_prover/src/chips/range/mod.rs new file mode 100644 index 00000000..a72ff9ed --- /dev/null +++ b/zk_prover/src/chips/range/mod.rs @@ -0,0 +1,3 @@ +pub mod range_check; +mod tests; +mod utils; diff --git a/zk_prover/src/chips/range/range_check.rs b/zk_prover/src/chips/range/range_check.rs new file mode 100644 index 00000000..0da79ee6 --- /dev/null +++ b/zk_prover/src/chips/range/range_check.rs @@ -0,0 +1,176 @@ +use halo2_proofs::arithmetic::Field; +use halo2_proofs::circuit::{AssignedCell, Layouter, Value}; +use halo2_proofs::halo2curves::bn256::Fr as Fp; +use halo2_proofs::plonk::{Advice, Column, ConstraintSystem, Error, Fixed, Selector}; +use halo2_proofs::poly::Rotation; + +use std::fmt::Debug; + +use super::utils::decompose_fp_to_bytes; + +/// Configuration for the Range Check Chip +/// +/// # Type Parameters +/// +/// * `N_BYTES`: Number of bytes in which the value to be checked should lie +/// +/// # Fields +/// +/// * `z`: Advice column for the value to be checked and its running sum. +/// * `range`: Fixed column for the lookup table. It contains the values from 0 to 2^8 - 1. +/// * `toggle_lookup_check`: Selector to toggle the lookup check. +/// +/// Patterned after [halo2_gadgets](https://github.com/privacy-scaling-explorations/halo2/blob/main/halo2_gadgets/src/utilities/decompose_running_sum.rs) +#[derive(Debug, Clone)] +pub struct RangeCheckConfig { + pub z: Column, + pub range: Column, + pub toggle_lookup_check: Selector, +} + +/// Helper chip that verfiies that the value witnessed in a given cell lies within a given range defined by N_BYTES. +/// For example, Let's say we want to constraint 0x1f2f3f4f to be within the range N_BYTES=4. +/// +/// `z(0) = 0x1f2f3f4f` +/// `z(1) = (0x1f2f3f4f - 0x4f) / 2^8 = 0x1f2f3f` +/// `z(2) = (0x1f2f3f - 0x3f) / 2^8 = 0x1f2f` +/// `z(3) = (0x1f2f - 0x2f) / 2^8 = 0x1f` +/// `z(4) = (0x1f - 0x1f) / 2^8 = 0x00` +/// +/// | | z | +/// | --- | ---------- | +/// | 0 | 0x1f2f3f4f | +/// | 1 | 0x1f2f3f | +/// | 2 | 0x1f2f | +/// | 3 | 0x1f | +/// | 4 | 0x00 | +/// +/// The column z contains the witnessed value to be checked at offset 0 +/// At offset i, the column z contains the value z(i+1) = (z(i) - k(i)) / 2^8 (shift right by 8 bits) where k(i) is the i-th decomposition big-endian of `value` +/// The contraints that are enforced are: +/// - z(i) - 2^8⋅z(i+1) ∈ lookup_u8 (enabled by toggle_lookup_check activate at offset [0, N_BYTES - 1]) +/// - z(N_BYTES) == 0 +#[derive(Debug, Clone)] +pub struct RangeCheckChip { + config: RangeCheckConfig, +} + +impl RangeCheckChip { + pub fn construct(config: RangeCheckConfig) -> Self { + Self { config } + } + + /// Configures the Range Chip + pub fn configure( + meta: &mut ConstraintSystem, + z: Column, + range: Column, + toggle_lookup_check: Selector, + ) -> RangeCheckConfig { + meta.annotate_lookup_any_column(range, || "LOOKUP_MAXBITS_RANGE"); + + meta.lookup_any( + "range u8 check for difference between each interstitial running sum output", + |meta| { + let z_cur = meta.query_advice(z, Rotation::cur()); + let z_next = meta.query_advice(z, Rotation::next()); + + let enable_lookup = meta.query_selector(toggle_lookup_check); + let u8_range = meta.query_fixed(range, Rotation::cur()); + + let diff = z_cur - z_next * Fp::from(1 << 8); + + vec![(enable_lookup * diff, u8_range)] + }, + ); + + RangeCheckConfig { + z, + range, + toggle_lookup_check, + } + } + + /// Assign the running sum to the chip starting from the value within an assigned cell. + pub fn assign( + &self, + mut layouter: impl Layouter, + value: &AssignedCell, + ) -> Result<(), Error> { + layouter.assign_region( + || "assign value to perform range check", + |mut region| { + // enable the lookup at offset [0, N_BYTES - 1] + for i in 0..N_BYTES { + self.config.toggle_lookup_check.enable(&mut region, i)?; + } + + // copy `value` to `z_0` at offset 0 + let z_0 = value.copy_advice( + || "assign value to be range checked", + &mut region, + self.config.z, + 0, + )?; + + // Decompose the value in #N_BYTES bytes + let bytes = value + .value() + .copied() + .map(|x| decompose_fp_to_bytes(x, N_BYTES)) + .transpose_vec(N_BYTES); + + // Initialize empty vector to store running sum values [z_0, ..., z_W]. + let mut zs: Vec> = vec![z_0.clone()]; + let mut z = z_0; + + // Assign running sum `z_{i+1}` = (z_i - k_i) / (2^8) for i = 0..=N_BYTES - 1. + let two_pow_k_inv = Value::known(Fp::from(1 << 8).invert().unwrap()); + + for (i, byte) in bytes.iter().enumerate() { + // z_next = (z_cur - byte) / (2^K) + let z_next = { + let z_cur_val = z.value().copied(); + let byte = byte.map(|byte| Fp::from(byte as u64)); + let z_next_val = (z_cur_val - byte) * two_pow_k_inv; + region.assign_advice( + || format!("z_{:?}", i + 1), + self.config.z, + i + 1, + || z_next_val, + )? + }; + + // Update `z`. + z = z_next; + zs.push(z.clone()); + } + + // Constrain the final running sum output to be zero. + region.constrain_constant(zs[N_BYTES].cell(), Fp::from(0))?; + + Ok(()) + }, + ) + } + + /// Loads the lookup table with values from `0` to `2^8 - 1` + pub fn load(&self, layouter: &mut impl Layouter) -> Result<(), Error> { + let range = 1 << (8); + + layouter.assign_region( + || format!("load range check table of {} bits", 8), + |mut region| { + for i in 0..range { + region.assign_fixed( + || "assign cell in fixed column", + self.config.range, + i, + || Value::known(Fp::from(i as u64)), + )?; + } + Ok(()) + }, + ) + } +} diff --git a/zk_prover/src/chips/range/tests.rs b/zk_prover/src/chips/range/tests.rs new file mode 100644 index 00000000..eb1466da --- /dev/null +++ b/zk_prover/src/chips/range/tests.rs @@ -0,0 +1,287 @@ +use crate::chips::range::range_check::{RangeCheckChip, RangeCheckConfig}; +use halo2_proofs::{ + circuit::{AssignedCell, Layouter, SimpleFloorPlanner, Value}, + halo2curves::bn256::Fr as Fp, + plonk::{Advice, Circuit, Column, ConstraintSystem, Error, Selector}, + poly::Rotation, +}; + +#[derive(Debug, Clone)] +pub struct AddConfig { + pub col_a: Column, // stores the value of a + pub col_b: Column, // stores the value of b + pub col_c: Column, // stores the value of c = a + b + pub selector: Selector, +} + +#[derive(Debug, Clone)] +pub struct AddChip { + pub config: AddConfig, +} + +impl AddChip { + pub fn construct(config: AddConfig) -> Self { + Self { config } + } + + pub fn configure( + meta: &mut ConstraintSystem, + col_a: Column, + col_b: Column, + col_c: Column, + add_selector: Selector, + ) -> AddConfig { + meta.create_gate("add", |meta| { + let s = meta.query_selector(add_selector); + let a = meta.query_advice(col_a, Rotation::cur()); + let b = meta.query_advice(col_b, Rotation::cur()); + let c = meta.query_advice(col_c, Rotation::cur()); + vec![s * (a + b - c)] + }); + + AddConfig { + col_a, + col_b, + col_c, + selector: add_selector, + } + } + + pub fn assign( + &self, + a: Fp, + b: Fp, + mut layouter: impl Layouter, + ) -> Result< + ( + AssignedCell, + AssignedCell, + AssignedCell, + ), + Error, + > { + layouter.assign_region( + || "initialize value and sum", + |mut region| { + self.config.selector.enable(&mut region, 0)?; + + let a_cell = + region.assign_advice(|| "a", self.config.col_a, 0, || Value::known(a))?; + + let b_cell = + region.assign_advice(|| "b", self.config.col_b, 0, || Value::known(b))?; + + let c_cell = region.assign_advice( + || "a + b", + self.config.col_c, + 0, + || a_cell.value().copied() + b_cell.value(), + )?; + + Ok((a_cell, b_cell, c_cell)) + }, + ) + } +} + +#[derive(Debug, Clone)] +pub struct TestConfig { + pub addchip_config: AddConfig, + pub range_check_config: RangeCheckConfig, +} + +// The test circuit takes two inputs a and b. +// It adds them together by using the add chip to produce c = a + b. +// Performs a range check on a, b and c. Each value should lie in N_BYTES. +#[derive(Default, Clone, Debug)] +struct TestCircuit { + pub a: Fp, + pub b: Fp, +} + +impl Circuit for TestCircuit { + type Config = TestConfig; + type FloorPlanner = SimpleFloorPlanner; + + fn without_witnesses(&self) -> Self { + Self::default() + } + + fn configure(meta: &mut ConstraintSystem) -> Self::Config { + let z = meta.advice_column(); + let range = meta.fixed_column(); + + let a = meta.advice_column(); + let b = meta.advice_column(); + let c = meta.advice_column(); + + meta.enable_equality(z); + meta.enable_equality(a); + meta.enable_equality(b); + meta.enable_equality(c); + + let constants = meta.fixed_column(); + meta.enable_constant(constants); + + let add_selector = meta.selector(); + let toggle_lookup_check = meta.complex_selector(); + + let range_check_config = + RangeCheckChip::::configure(meta, z, range, toggle_lookup_check); + + let addchip_config = AddChip::configure(meta, a, b, c, add_selector); + + { + TestConfig { + addchip_config, + range_check_config, + } + } + } + + fn synthesize( + &self, + config: Self::Config, + mut layouter: impl Layouter, + ) -> Result<(), Error> { + // Initiate the add chip + let addchip = AddChip::construct(config.addchip_config); + let (a_cell, b_cell, c_cell) = + addchip.assign(self.a, self.b, layouter.namespace(|| "add chip"))?; + + // Initiate the range check chip + let range_chip = RangeCheckChip::construct(config.range_check_config); + + // Load the lookup table + range_chip.load(&mut layouter)?; + + // check range on a, b and c + range_chip.assign( + layouter.namespace(|| "checking value a is in range"), + &a_cell, + )?; + range_chip.assign( + layouter.namespace(|| "checking value b is in range"), + &b_cell, + )?; + range_chip.assign( + layouter.namespace(|| "checking value c is in range"), + &c_cell, + )?; + + Ok(()) + } +} + +#[cfg(test)] +mod testing { + use super::TestCircuit; + use halo2_proofs::{ + dev::{FailureLocation, MockProver, VerifyFailure}, + halo2curves::bn256::Fr as Fp, + plonk::Any, + }; + + // a = (1 << 16) - 2 = 0xfffe + // b = 1 + // c = a + b = 0xffff + // All the values are within 2 bytes range. + #[test] + fn test_none_overflow_16bits() { + let k = 9; + + // a: new value + let a = Fp::from((1 << 16) - 2); + let b = Fp::from(1); + + let circuit = TestCircuit::<2> { a, b }; + let prover = MockProver::run(k, &circuit, vec![]).unwrap(); + prover.assert_satisfied(); + } + + // a = (1 << 16) - 2 = 0xfffe + // b = 2 + // c = a + b = 0x10000 + // a and b are within 2 bytes range. + // c overflows 2 bytes so the circuit should fail. + #[test] + fn test_overflow_16bits() { + let k = 9; + + let a = Fp::from((1 << 16) - 2); + let b = Fp::from(2); + + let circuit = TestCircuit::<2> { a, b }; + let invalid_prover = MockProver::run(k, &circuit, vec![]).unwrap(); + assert_eq!( + invalid_prover.verify(), + Err(vec![ + VerifyFailure::Permutation { + column: (Any::advice(), 0).into(), + location: FailureLocation::InRegion { + region: (4, "assign value to perform range check").into(), + offset: 2 + } + }, + VerifyFailure::Permutation { + column: (Any::Fixed, 1).into(), + location: FailureLocation::OutsideRegion { row: 2 } + }, + ]) + ); + } + + // a is the max value within the range (32 bits / 4 bytes) + // a = 0x-ff-ff-ff-ff + // b = 1 + // a and b are within 4 bytes range. + // c overflows 4 bytes so the circuit should fail. + #[test] + fn test_overflow_32bits() { + let k = 9; + + let a = Fp::from(0xffffffff); + let b = Fp::from(1); + + let circuit = TestCircuit::<4> { a, b }; + let invalid_prover = MockProver::run(k, &circuit, vec![]).unwrap(); + + assert_eq!( + invalid_prover.verify(), + Err(vec![ + VerifyFailure::Permutation { + column: (Any::advice(), 0).into(), + location: FailureLocation::InRegion { + region: (4, "assign value to perform range check").into(), + offset: 4 + } + }, + VerifyFailure::Permutation { + column: (Any::Fixed, 1).into(), + location: FailureLocation::OutsideRegion { row: 2 } + }, + ]) + ); + } + + #[cfg(feature = "dev-graph")] + #[test] + fn print_range_check_test() { + use plotters::prelude::*; + + let root = + BitMapBackend::new("prints/range-check-layout.png", (1024, 3096)).into_drawing_area(); + root.fill(&WHITE).unwrap(); + let root = root + .titled("Range Check Layout", ("sans-serif", 60)) + .unwrap(); + + let circuit = TestCircuit::<4> { + a: Fp::from(0x1f2f3f4f), + b: Fp::from(1), + }; + halo2_proofs::dev::CircuitLayout::default() + .render(9, &circuit, &root) + .unwrap(); + } +} diff --git a/zk_prover/src/chips/range/utils.rs b/zk_prover/src/chips/range/utils.rs new file mode 100644 index 00000000..6e3721f6 --- /dev/null +++ b/zk_prover/src/chips/range/utils.rs @@ -0,0 +1,74 @@ +use crate::merkle_sum_tree::utils::fp_to_big_uint; +use halo2_proofs::halo2curves::bn256::Fr as Fp; + +/// Converts value Fp to n bytes of bytes in little endian order. +/// If value is decomposed in #bytes which are less than n, then the returned bytes are padded with 0s at the most significant bytes. +/// Example: +/// decompose_fp_to_bytes(0x1f2f3f, 4) -> [0x3f, 0x2f, 0x1f, 0x00] +/// If value is decomposed in #bytes which are greater than n, then the most significant bytes are truncated. A warning is printed. +/// Example: +/// decompose_fp_to_bytes(0x1f2f3f, 2) -> [0x3f, 0x2f] +pub fn decompose_fp_to_bytes(value: Fp, n: usize) -> Vec { + let value_biguint = fp_to_big_uint(value); + + let mut bytes = value_biguint.to_bytes_le(); + + // Pad with 0s at the most significant bytes if bytes length is less than n. + while bytes.len() < n { + bytes.push(0); + } + + // If the bytes length exceeds n, print a warning and truncate the byte array at the most significant bytes. + if bytes.len() > n { + println!("Warning: `decompose_fp_to_bytes` value is decomposed in #bytes which are greater than n. Truncating the output to fit the specified length."); + bytes.truncate(n); + } + + bytes +} + +#[cfg(test)] +mod testing { + + use super::*; + use num_bigint::BigUint; + + #[test] + fn test_fp_to_big_uint() { + let f = Fp::from(5); + let big_uint = fp_to_big_uint(f); + assert_eq!(big_uint, BigUint::from(5u8)); + } + + // convert a 32 bit number in 4 bytes. Should correctly convert to 4 bytes + #[test] + fn test_decompose_fp_to_bytes_no_padding() { + let f = Fp::from(0x1f2f3f4f); + let bytes = decompose_fp_to_bytes(f, 4); + assert_eq!(bytes, vec![0x4f, 0x3f, 0x2f, 0x1f]); + } + + // convert a 32 bit number in 6 bytes. Should correctly convert to 6 bytes in which the first 2 bytes are 0 padded. + #[test] + fn test_decompose_fp_to_bytes_padding() { + let f = Fp::from(0x1f2f3f4f); + let bytes = decompose_fp_to_bytes(f, 6); + assert_eq!(bytes, vec![0x4f, 0x3f, 0x2f, 0x1f, 0x00, 0x00]); + } + + // convert a 32 bit number in 2 bytes. Should convert to 2 bytes and truncate the most significant bytes and emit a warning + #[test] + fn test_decompose_fp_to_bytes_overflow() { + let f = Fp::from(0x1f2f3f4f); + let bytes = decompose_fp_to_bytes(f, 2); + assert_eq!(bytes, vec![0x4f, 0x3f]); + } + + // convert a 40 bit number in 2 bytes. Should convert to 2 most significant bytes and truncate the least significant byte + #[test] + fn test_decompose_fp_to_bytes_overflow_2() { + let f = Fp::from(0xf1f2f3f); + let bytes = decompose_fp_to_bytes(f, 2); + assert_eq!(bytes, vec![0x3f, 0x2f]); + } +} diff --git a/zk_prover/src/circuits/merkle_sum_tree.rs b/zk_prover/src/circuits/merkle_sum_tree.rs index 266b585c..22fc7b1d 100644 --- a/zk_prover/src/circuits/merkle_sum_tree.rs +++ b/zk_prover/src/circuits/merkle_sum_tree.rs @@ -1,7 +1,7 @@ use crate::chips::merkle_sum_tree::{MerkleSumTreeChip, MerkleSumTreeConfig}; -use crate::chips::overflow::overflow_check::{OverflowCheckConfig, OverflowChip}; use crate::chips::poseidon::hash::{PoseidonChip, PoseidonConfig}; use crate::chips::poseidon::poseidon_spec::PoseidonSpec; +use crate::chips::range::range_check::{RangeCheckChip, RangeCheckConfig}; use crate::merkle_sum_tree::{big_uint_to_fp, Entry, MerkleSumTree}; use halo2_proofs::circuit::{AssignedCell, Layouter, SimpleFloorPlanner}; use halo2_proofs::halo2curves::bn256::Fr as Fp; @@ -16,6 +16,7 @@ use snark_verifier_sdk::CircuitExt; /// /// * `LEVELS`: The number of levels of the merkle sum tree /// * `N_ASSETS`: The number of assets for which the solvency is verified. +/// * `N_BYTES`: The number of bytes in which the balances should lie /// /// # Fields /// @@ -24,7 +25,7 @@ use snark_verifier_sdk::CircuitExt; /// * `path_element_balances`: The balances of the path elements from the leaf to the root. The length of this vector is LEVELS /// * `path_indices`: The boolean indices of the path elements from the leaf to the root. 0 indicates that the element is on the right to the path, 1 indicates that the element is on the left to the path. The length of this vector is LEVELS #[derive(Clone)] -pub struct MstInclusionCircuit { +pub struct MstInclusionCircuit { pub entry: Entry, pub path_element_hashes: Vec, pub path_element_balances: Vec<[Fp; N_ASSETS]>, @@ -32,8 +33,8 @@ pub struct MstInclusionCircuit { pub root_hash: Fp, } -impl CircuitExt - for MstInclusionCircuit +impl CircuitExt + for MstInclusionCircuit where [usize; 2 * (1 + N_ASSETS)]: Sized, [usize; N_ASSETS + 1]: Sized, @@ -48,7 +49,9 @@ where } } -impl MstInclusionCircuit { +impl + MstInclusionCircuit +{ pub fn init_empty() -> Self { Self { entry: Entry::init_empty(), @@ -60,7 +63,7 @@ impl MstInclusionCircuit, user_index: usize) -> Self + pub fn init(merkle_sum_tree: MerkleSumTree, user_index: usize) -> Self where [usize; N_ASSETS + 1]:, { @@ -84,28 +87,29 @@ impl MstInclusionCircuit +pub struct MstInclusionConfig where [usize; 2 * (1 + N_ASSETS)]: Sized, { pub merkle_sum_tree_config: MerkleSumTreeConfig, pub poseidon_entry_config: PoseidonConfig<2, 1, { 1 + N_ASSETS }>, pub poseidon_middle_config: PoseidonConfig<2, 1, { 2 * (1 + N_ASSETS) }>, - pub overflow_check_config: OverflowCheckConfig<8>, + pub range_check_config: RangeCheckConfig, pub instance: Column, } -impl MstInclusionConfig +impl MstInclusionConfig where [usize; 2 * (1 + N_ASSETS)]: Sized, { @@ -113,15 +117,18 @@ where // the max number of advices columns needed is WIDTH + 1 given requirement of the poseidon config let advices: [Column; 3] = std::array::from_fn(|_| meta.advice_column()); - // we need 2 * WIDTH fixed columns for poseidon config + 1 for the overflow check chip + // we need 2 * WIDTH fixed columns for poseidon config + 1 for the range check chip let fixed_columns: [Column; 5] = std::array::from_fn(|_| meta.fixed_column()); - // we also need 2 selectors for the MerkleSumTreeChip and 1 for the overflow check chip - let selectors: [Selector; 3] = std::array::from_fn(|_| meta.selector()); + // we also need 2 selectors for the MerkleSumTreeChip + let selectors: [Selector; 2] = std::array::from_fn(|_| meta.selector()); - // we need 1 complex selector for the lookup check + // we need 1 complex selector for the lookup check in the range check chip let toggle_lookup_check = meta.complex_selector(); + // enable constant for the fixed_column[2], this is required for the poseidon chip and the range check chip + meta.enable_constant(fixed_columns[2]); + let poseidon_entry_config = PoseidonChip::::configure( meta, advices[0..2].try_into().unwrap(), @@ -152,12 +159,10 @@ where selectors[0..2].try_into().unwrap(), ); - let overflow_check_config = OverflowChip::<8>::configure( + let range_check_config = RangeCheckChip::::configure( meta, advices[0], - advices[1], fixed_columns[4], - selectors[2], toggle_lookup_check, ); @@ -168,7 +173,7 @@ where merkle_sum_tree_config, poseidon_entry_config, poseidon_middle_config, - overflow_check_config, + range_check_config, instance, } } @@ -184,12 +189,12 @@ where } } -impl Circuit - for MstInclusionCircuit +impl Circuit + for MstInclusionCircuit where [usize; 2 * (1 + N_ASSETS)]: Sized, { - type Config = MstInclusionConfig; + type Config = MstInclusionConfig; type FloorPlanner = SimpleFloorPlanner; fn without_witnesses(&self) -> Self { @@ -198,7 +203,7 @@ where /// Configures the circuit fn configure(meta: &mut ConstraintSystem) -> Self::Config { - MstInclusionConfig::::configure(meta) + MstInclusionConfig::::configure(meta) } fn synthesize( @@ -219,8 +224,8 @@ where config.poseidon_middle_config.clone(), ); - let overflow_check_chip = - OverflowChip::<8>::construct(config.overflow_check_config.clone()); + let range_check_chip = + RangeCheckChip::::construct(config.range_check_config.clone()); // Assign the entry username let username = merkle_sum_tree_chip.assign_value( @@ -266,8 +271,8 @@ where // expose the first current hash, namely the leaf hash, as public input config.expose_public(layouter.namespace(|| "public leaf hash"), ¤t_hash, 0)?; - // load overflow check chip - overflow_check_chip.load(layouter.namespace(|| "load lookup table"))?; + // load range check chip + range_check_chip.load(&mut layouter)?; for level in 0..LEVELS { let namespace_prefix = format!("level {}", level); @@ -308,20 +313,20 @@ where swap_bit_level.clone(), )?; - // Each balance cell is constrained to be less than the overflow limit - overflow_check_chip.assign( + // Each balance cell is constrained to be within the range defined by N_BYTES + range_check_chip.assign( layouter.namespace(|| { format!( - "{}: asset {}: overflow check left balance", + "{}: asset {}: range check left balance", namespace_prefix, asset ) }), &left_balance, )?; - overflow_check_chip.assign( + range_check_chip.assign( layouter.namespace(|| { format!( - "{}: asset {}: overflow check right balance", + "{}: asset {}: range check right balance", namespace_prefix, asset ) }), @@ -361,12 +366,9 @@ where // expose the last current hash, namely the root hash, as public input config.expose_public(layouter.namespace(|| "public root hash"), ¤t_hash, 1)?; - // perform range check on the balances of the root to make sure these lie in the 2^64 range + // perform range check on the balances of the root to make sure these lie in the range defined by N_BYTES for balance in current_balances.iter() { - overflow_check_chip.assign( - layouter.namespace(|| "overflow check root balance"), - balance, - )?; + range_check_chip.assign(layouter.namespace(|| "range check root balance"), balance)?; } Ok(()) diff --git a/zk_prover/src/circuits/solvency.rs b/zk_prover/src/circuits/solvency.rs index d149421c..9aee7b47 100644 --- a/zk_prover/src/circuits/solvency.rs +++ b/zk_prover/src/circuits/solvency.rs @@ -29,7 +29,7 @@ use snark_verifier_sdk::CircuitExt; /// * `asset_sums`: The sum of the assets of the CEX for each asset /// * `root_hash`: The root hash of the merkle sum tree #[derive(Clone)] -pub struct SolvencyCircuit { +pub struct SolvencyCircuit { pub left_node_hash: Fp, pub left_node_balances: [Fp; N_ASSETS], pub right_node_hash: Fp, @@ -38,7 +38,8 @@ pub struct SolvencyCircuit { pub root_hash: Fp, } -impl CircuitExt for SolvencyCircuit +impl CircuitExt + for SolvencyCircuit where [usize; 2 * (1 + N_ASSETS)]: Sized, { @@ -55,7 +56,7 @@ where } } -impl SolvencyCircuit { +impl SolvencyCircuit { pub fn init_empty() -> Self { Self { left_node_hash: Fp::zero(), @@ -68,7 +69,10 @@ impl SolvencyCircuit { } /// Initializes the circuit with the merkle sum tree and the assets sum - pub fn init(merkle_sum_tree: MerkleSumTree, asset_sums: [Fp; N_ASSETS]) -> Self { + pub fn init( + merkle_sum_tree: MerkleSumTree, + asset_sums: [Fp; N_ASSETS], + ) -> Self { let (penultimate_node_left, penultimate_node_right) = merkle_sum_tree .penultimate_level_data() .expect("Failed to retrieve penultimate level data"); @@ -103,7 +107,7 @@ impl SolvencyCircuit { /// The circuit performs an additional constraint: /// * `lt_enable * (lt_config.is_lt - 1) = 0` (if `lt_enable` is toggled). It basically enforces the result of the less than chip to be 1. #[derive(Debug, Clone)] -pub struct SolvencyConfig +pub struct SolvencyConfig where [usize; 2 * (1 + N_ASSETS)]: Sized, { @@ -111,10 +115,10 @@ where pub poseidon_config: PoseidonConfig<2, 1, { 2 * (1 + N_ASSETS) }>, pub instance: Column, pub lt_selector: Selector, - pub lt_config: LtVerticalConfig<8>, + pub lt_config: LtVerticalConfig, } -impl SolvencyConfig +impl SolvencyConfig where [usize; 2 * (1 + N_ASSETS)]: Sized, { @@ -130,6 +134,9 @@ where let selectors: [Selector; 3] = std::array::from_fn(|_| meta.selector()); let complex_selector = meta.complex_selector(); + // enable constant for the fixed_column[2], this is required for the poseidon chip + meta.enable_constant(fixed_columns[2]); + // in fact, the poseidon config requires #WIDTH advice columns for state and 1 for partial_sbox, #WIDTH fixed columns for rc_a and #WIDTH for rc_b let poseidon_config = PoseidonChip::::configure( meta, @@ -189,7 +196,7 @@ where mut layouter: impl Layouter, input_cell: &AssignedCell, index: usize, - lt_chip: &LtVerticalChip<8>, + lt_chip: &LtVerticalChip, ) -> Result<(), Error> { layouter.assign_region( || "enforce input cell to be less than value in instance column at row `index`", @@ -234,11 +241,11 @@ where } } -impl Circuit for SolvencyCircuit +impl Circuit for SolvencyCircuit where [usize; 2 * (1 + N_ASSETS)]: Sized, { - type Config = SolvencyConfig; + type Config = SolvencyConfig; type FloorPlanner = SimpleFloorPlanner; fn without_witnesses(&self) -> Self { @@ -246,7 +253,7 @@ where } fn configure(meta: &mut ConstraintSystem) -> Self::Config { - SolvencyConfig::::configure(meta) + SolvencyConfig::::configure(meta) } fn synthesize( @@ -260,7 +267,7 @@ where let poseidon_chip = PoseidonChip::::construct( config.poseidon_config.clone(), ); - let lt_chip = LtVerticalChip::<8>::construct(config.lt_config); + let lt_chip = LtVerticalChip::::construct(config.lt_config); // Assign the penultimate left node hash and the penultimate left node balances following this layout on two columns: // diff --git a/zk_prover/src/circuits/tests.rs b/zk_prover/src/circuits/tests.rs index 2681d150..6bd0dc7d 100644 --- a/zk_prover/src/circuits/tests.rs +++ b/zk_prover/src/circuits/tests.rs @@ -8,14 +8,14 @@ mod test { solvency::SolvencyCircuit, utils::{full_prover, full_verifier, generate_setup_artifacts, get_verification_cost}, }, - merkle_sum_tree::Entry, + merkle_sum_tree::{big_uint_to_fp, Entry}, }; use halo2_proofs::{ dev::{FailureLocation, MockProver, VerifyFailure}, halo2curves::bn256::Fr as Fp, plonk::Any, }; - use num_bigint::ToBigUint; + use num_bigint::{BigUint, ToBigUint}; use snark_verifier_sdk::{ evm::{evm_verify, gen_evm_proof_shplonk, gen_evm_verifier_shplonk}, CircuitExt, @@ -23,16 +23,20 @@ mod test { const N_ASSETS: usize = 2; const LEVELS: usize = 4; + const N_BYTES: usize = 8; const K: u32 = 11; #[test] fn test_valid_merkle_sum_tree() { let merkle_sum_tree = - MerkleSumTree::::new("src/merkle_sum_tree/csv/entry_16.csv").unwrap(); + MerkleSumTree::::new("src/merkle_sum_tree/csv/entry_16.csv") + .unwrap(); for user_index in 0..16 { - let circuit = - MstInclusionCircuit::::init(merkle_sum_tree.clone(), user_index); + let circuit = MstInclusionCircuit::::init( + merkle_sum_tree.clone(), + user_index, + ); let valid_prover = MockProver::run(K, &circuit, circuit.instances()).unwrap(); @@ -44,7 +48,7 @@ mod test { #[test] fn test_valid_merkle_sum_tree_with_full_prover() { - let circuit = MstInclusionCircuit::::init_empty(); + let circuit = MstInclusionCircuit::::init_empty(); // Generate a universal trusted setup for testing purposes. // @@ -55,10 +59,11 @@ mod test { let (params, pk, vk) = generate_setup_artifacts(K, None, circuit).unwrap(); let merkle_sum_tree = - MerkleSumTree::::new("src/merkle_sum_tree/csv/entry_16.csv").unwrap(); + MerkleSumTree::::new("src/merkle_sum_tree/csv/entry_16.csv") + .unwrap(); // Only now we can instantiate the circuit with the actual inputs - let circuit = MstInclusionCircuit::::init(merkle_sum_tree, 0); + let circuit = MstInclusionCircuit::::init(merkle_sum_tree, 0); // Generate the proof let proof = full_prover(¶ms, &pk, circuit.clone(), circuit.instances()); @@ -69,7 +74,7 @@ mod test { #[test] fn test_valid_solvency_with_full_prover() { - let circuit = SolvencyCircuit::::init_empty(); + let circuit = SolvencyCircuit::::init_empty(); // The verification key (vk) and the proving key (pk) are then generated. // An empty circuit is used here to emphasize that the circuit inputs are not relevant when generating the keys. @@ -78,12 +83,13 @@ mod test { let (params, pk, vk) = generate_setup_artifacts(10, None, circuit).unwrap(); let merkle_sum_tree = - MerkleSumTree::::new("src/merkle_sum_tree/csv/entry_16.csv").unwrap(); + MerkleSumTree::::new("src/merkle_sum_tree/csv/entry_16.csv") + .unwrap(); let asset_sums = [Fp::from(556863u64), Fp::from(556863u64)]; // Only now we can instantiate the circuit with the actual inputs - let circuit = SolvencyCircuit::::init(merkle_sum_tree, asset_sums); + let circuit = SolvencyCircuit::::init(merkle_sum_tree, asset_sums); // Generate the proof let proof = full_prover(¶ms, &pk, circuit.clone(), circuit.instances()); @@ -96,9 +102,10 @@ mod test { #[test] fn test_invalid_root_hash() { let merkle_sum_tree = - MerkleSumTree::::new("src/merkle_sum_tree/csv/entry_16.csv").unwrap(); + MerkleSumTree::::new("src/merkle_sum_tree/csv/entry_16.csv") + .unwrap(); - let circuit = MstInclusionCircuit::::init(merkle_sum_tree, 0); + let circuit = MstInclusionCircuit::::init(merkle_sum_tree, 0); let mut instances = circuit.instances(); let invalid_root_hash = Fp::from(1000u64); @@ -126,16 +133,17 @@ mod test { #[test] fn test_invalid_root_hash_as_instance_with_full_prover() { - let circuit = MstInclusionCircuit::::init_empty(); + let circuit = MstInclusionCircuit::::init_empty(); // generate a universal trusted setup for testing, along with the verification key (vk) and the proving key (pk). let (params, pk, vk) = generate_setup_artifacts(K, None, circuit).unwrap(); let merkle_sum_tree = - MerkleSumTree::::new("src/merkle_sum_tree/csv/entry_16.csv").unwrap(); + MerkleSumTree::::new("src/merkle_sum_tree/csv/entry_16.csv") + .unwrap(); // Only now we can instantiate the circuit with the actual inputs - let circuit = MstInclusionCircuit::::init(merkle_sum_tree, 0); + let circuit = MstInclusionCircuit::::init(merkle_sum_tree, 0); let invalid_root_hash = Fp::from(1000u64); @@ -155,9 +163,11 @@ mod test { #[test] fn test_invalid_entry_balance_as_witness() { let merkle_sum_tree = - MerkleSumTree::::new("src/merkle_sum_tree/csv/entry_16.csv").unwrap(); + MerkleSumTree::::new("src/merkle_sum_tree/csv/entry_16.csv") + .unwrap(); - let mut circuit = MstInclusionCircuit::::init(merkle_sum_tree, 0); + let mut circuit = + MstInclusionCircuit::::init(merkle_sum_tree, 0); let instances = circuit.instances(); @@ -203,9 +213,10 @@ mod test { #[test] fn test_invalid_leaf_hash_as_instance() { let merkle_sum_tree = - MerkleSumTree::::new("src/merkle_sum_tree/csv/entry_16.csv").unwrap(); + MerkleSumTree::::new("src/merkle_sum_tree/csv/entry_16.csv") + .unwrap(); - let circuit = MstInclusionCircuit::::init(merkle_sum_tree, 0); + let circuit = MstInclusionCircuit::::init(merkle_sum_tree, 0); let mut instances = circuit.instances(); let invalid_leaf_hash = Fp::from(1000u64); @@ -235,9 +246,11 @@ mod test { #[test] fn test_non_binary_index() { let merkle_sum_tree = - MerkleSumTree::::new("src/merkle_sum_tree/csv/entry_16.csv").unwrap(); + MerkleSumTree::::new("src/merkle_sum_tree/csv/entry_16.csv") + .unwrap(); - let mut circuit = MstInclusionCircuit::::init(merkle_sum_tree, 0); + let mut circuit = + MstInclusionCircuit::::init(merkle_sum_tree, 0); let instances = circuit.instances(); @@ -350,9 +363,11 @@ mod test { #[test] fn test_swapping_index() { let merkle_sum_tree = - MerkleSumTree::::new("src/merkle_sum_tree/csv/entry_16.csv").unwrap(); + MerkleSumTree::::new("src/merkle_sum_tree/csv/entry_16.csv") + .unwrap(); - let mut circuit = MstInclusionCircuit::::init(merkle_sum_tree, 0); + let mut circuit = + MstInclusionCircuit::::init(merkle_sum_tree, 0); let instances = circuit.instances(); @@ -379,16 +394,95 @@ mod test { ); } + // Adding a balance at the verge of overflowing should fail the range check for any following computed sum and, because we are adding a fake balance, the root hash check should fail too + #[test] + fn test_balance_not_in_range() { + let merkle_sum_tree = + MerkleSumTree::::new("src/merkle_sum_tree/csv/entry_16.csv") + .unwrap(); + + let mut circuit = + MstInclusionCircuit::::init(merkle_sum_tree.clone(), 0); + + let balance = BigUint::from(2u64).pow(N_BYTES as u32 * 8) - BigUint::from(1u64); + + circuit.path_element_balances[0][0] = big_uint_to_fp(&balance); // 2^64 - 1. It means that as soon as it is summed with the other balances, it will overflow + + let invalid_prover = MockProver::run(K, &circuit, circuit.instances()).unwrap(); + + assert_eq!( + invalid_prover.verify(), + Err(vec![ + VerifyFailure::Permutation { + column: (Any::Fixed, 2).into(), + location: FailureLocation::OutsideRegion { row: 407 } + }, + VerifyFailure::Permutation { + column: (Any::Fixed, 2).into(), + location: FailureLocation::OutsideRegion { row: 691 } + }, + VerifyFailure::Permutation { + column: (Any::Fixed, 2).into(), + location: FailureLocation::OutsideRegion { row: 975 } + }, + VerifyFailure::Permutation { + column: (Any::Fixed, 2).into(), + location: FailureLocation::OutsideRegion { row: 1259 } + }, + VerifyFailure::Permutation { + column: (Any::advice(), 0).into(), + location: FailureLocation::InRegion { + region: (35, "assign value to perform range check").into(), + offset: 8 + } + }, + VerifyFailure::Permutation { + column: (Any::advice(), 0).into(), + location: FailureLocation::InRegion { + region: (56, "assign value to perform range check").into(), + offset: 8 + } + }, + VerifyFailure::Permutation { + column: (Any::advice(), 0).into(), + location: FailureLocation::InRegion { + region: (77, "assign value to perform range check").into(), + offset: 8 + } + }, + VerifyFailure::Permutation { + column: (Any::advice(), 0).into(), + location: FailureLocation::InRegion { + region: (94, "permute state").into(), + offset: 36 + } + }, + VerifyFailure::Permutation { + column: (Any::advice(), 0).into(), + location: FailureLocation::InRegion { + region: (95, "assign value to perform range check").into(), + offset: 8 + } + }, + VerifyFailure::Permutation { + column: (Any::Instance, 0).into(), + location: FailureLocation::OutsideRegion { row: 1 } + }, + ]) + ); + } + // Passing asset_sums that are less than the liabilities sum should not fail the solvency circuit #[test] fn test_valid_liabilities_less_than_assets() { let merkle_sum_tree = - MerkleSumTree::::new("src/merkle_sum_tree/csv/entry_16.csv").unwrap(); + MerkleSumTree::::new("src/merkle_sum_tree/csv/entry_16.csv") + .unwrap(); // Make the first asset sum more than liabilities sum (556862) let asset_sums = [Fp::from(556863u64), Fp::from(556863u64)]; - let circuit = SolvencyCircuit::::init(merkle_sum_tree, asset_sums); + let circuit = SolvencyCircuit::::init(merkle_sum_tree, asset_sums); let valid_prover = MockProver::run(K, &circuit, circuit.instances()).unwrap(); @@ -398,11 +492,12 @@ mod test { #[test] fn test_solvency_on_chain_verifier() { let merkle_sum_tree = - MerkleSumTree::::new("src/merkle_sum_tree/csv/entry_16.csv").unwrap(); + MerkleSumTree::::new("src/merkle_sum_tree/csv/entry_16.csv") + .unwrap(); let asset_sums = [Fp::from(556863u64), Fp::from(556863u64)]; - let circuit = SolvencyCircuit::::init(merkle_sum_tree, asset_sums); + let circuit = SolvencyCircuit::::init(merkle_sum_tree, asset_sums); // generate a universal trusted setup for testing, along with the verification key (vk) and the proving key (pk). let (params, pk, _) = generate_setup_artifacts(10, None, circuit.clone()).unwrap(); @@ -414,7 +509,7 @@ mod test { let proof_calldata = gen_evm_proof_shplonk(¶ms, &pk, circuit, instances.clone()); - let deployment_code = gen_evm_verifier_shplonk::>( + let deployment_code = gen_evm_verifier_shplonk::>( ¶ms, pk.get_vk(), num_instances, @@ -433,13 +528,16 @@ mod test { #[test] fn test_invalid_assets_less_than_liabilities() { let merkle_sum_tree = - MerkleSumTree::::new("src/merkle_sum_tree/csv/entry_16.csv").unwrap(); + MerkleSumTree::::new("src/merkle_sum_tree/csv/entry_16.csv") + .unwrap(); // Make the first asset sum less than liabilities sum (556862) let less_than_asset_sums_1st = [Fp::from(556861u64), Fp::from(556863u64)]; - let circuit = - SolvencyCircuit::::init(merkle_sum_tree.clone(), less_than_asset_sums_1st); + let circuit = SolvencyCircuit::::init( + merkle_sum_tree.clone(), + less_than_asset_sums_1st, + ); let invalid_prover = MockProver::run(K, &circuit, circuit.instances()).unwrap(); @@ -461,8 +559,10 @@ mod test { // Make the second asset sum less than liabilities sum (556862) let less_than_asset_sums_2nd = [Fp::from(556863u64), Fp::from(556861u64)]; - let circuit = - SolvencyCircuit::::init(merkle_sum_tree.clone(), less_than_asset_sums_2nd); + let circuit = SolvencyCircuit::::init( + merkle_sum_tree.clone(), + less_than_asset_sums_2nd, + ); let invalid_prover = MockProver::run(K, &circuit, circuit.instances()).unwrap(); @@ -484,7 +584,8 @@ mod test { // Make both the balances less than liabilities sum (556862) let less_than_asset_sums_both = [Fp::from(556861u64), Fp::from(556861u64)]; - let circuit = SolvencyCircuit::::init(merkle_sum_tree, less_than_asset_sums_both); + let circuit = + SolvencyCircuit::::init(merkle_sum_tree, less_than_asset_sums_both); let invalid_prover = MockProver::run(K, &circuit, circuit.instances()).unwrap(); @@ -521,13 +622,14 @@ mod test { #[test] fn test_invalid_manipulated_liabilties() { let merkle_sum_tree = - MerkleSumTree::::new("src/merkle_sum_tree/csv/entry_16.csv").unwrap(); + MerkleSumTree::::new("src/merkle_sum_tree/csv/entry_16.csv") + .unwrap(); // For the second asset, the asset_sums is less than the liabilities sum (556862) namely the CEX is not solvent! let less_than_asset_sums_2nd = [Fp::from(556863u64), Fp::from(556861u64)]; let mut circuit = - SolvencyCircuit::::init(merkle_sum_tree, less_than_asset_sums_2nd); + SolvencyCircuit::::init(merkle_sum_tree, less_than_asset_sums_2nd); // But actually, the CEX tries to manipulate the liabilities sum for the second asset to make it less than the assets sum and result solvent circuit.left_node_balances[1] = Fp::from(1u64); @@ -559,9 +661,10 @@ mod test { use plotters::prelude::*; let merkle_sum_tree = - MerkleSumTree::::new("src/merkle_sum_tree/csv/entry_16.csv").unwrap(); + MerkleSumTree::::new("src/merkle_sum_tree/csv/entry_16.csv") + .unwrap(); - let circuit = MstInclusionCircuit::::init(merkle_sum_tree, 0); + let circuit = MstInclusionCircuit::::init(merkle_sum_tree, 0); let root = BitMapBackend::new("prints/mst-inclusion-layout.png", (2048, 32768)) .into_drawing_area(); @@ -583,9 +686,10 @@ mod test { let asset_sums = [Fp::from(556863u64), Fp::from(556863u64)]; let merkle_sum_tree = - MerkleSumTree::::new("src/merkle_sum_tree/csv/entry_16.csv").unwrap(); + MerkleSumTree::::new("src/merkle_sum_tree/csv/entry_16.csv") + .unwrap(); - let circuit = SolvencyCircuit::::init(merkle_sum_tree, asset_sums); + let circuit = SolvencyCircuit::::init(merkle_sum_tree, asset_sums); let root = BitMapBackend::new("prints/solvency-layout.png", (2048, 32768)).into_drawing_area(); diff --git a/zk_prover/src/merkle_sum_tree/csv/entry_16_no_overflow.csv b/zk_prover/src/merkle_sum_tree/csv/entry_16_no_overflow.csv new file mode 100644 index 00000000..49dc9358 --- /dev/null +++ b/zk_prover/src/merkle_sum_tree/csv/entry_16_no_overflow.csv @@ -0,0 +1,17 @@ +username;balances +dxGaEAii;18446744073709551615,0 +MBlfbBGI;0,18446744073709551615 +lAhWlEWZ;0,0 +nuZweYtO;0,0 +gbdSwiuY;0,0 +RZNneNuP;0,0 +YsscHXkp;0,0 +RkLzkDun;0,0 +HlQlnEYI;0,0 +RqkZOFYe;0,0 +NjCSRAfD;0,0 +pHniJMQY;0,0 +dOGIMzKR;0,0 +HfMDmNLp;0,0 +xPLKzCBl;0,0 +AtwIxZHo;0,0 diff --git a/zk_prover/src/merkle_sum_tree/csv/entry_16_overflow.csv b/zk_prover/src/merkle_sum_tree/csv/entry_16_overflow.csv index d6ca35b9..1f1e2141 100644 --- a/zk_prover/src/merkle_sum_tree/csv/entry_16_overflow.csv +++ b/zk_prover/src/merkle_sum_tree/csv/entry_16_overflow.csv @@ -1,6 +1,6 @@ username;balances -dxGaEAii;452312848583266388373324160190187140051835877600158453279131187530910662656,0 -MBlfbBGI;0,452312848583266388373324160190187140051835877600158453279131187530910662656 +dxGaEAii;18446744073709551616,0 +MBlfbBGI;0,18446744073709551616 lAhWlEWZ;0,0 nuZweYtO;0,0 gbdSwiuY;0,0 diff --git a/zk_prover/src/merkle_sum_tree/csv/entry_16_overflow_2.csv b/zk_prover/src/merkle_sum_tree/csv/entry_16_overflow_2.csv new file mode 100644 index 00000000..3b3ecf62 --- /dev/null +++ b/zk_prover/src/merkle_sum_tree/csv/entry_16_overflow_2.csv @@ -0,0 +1,17 @@ +username;balances +dxGaEAii;18446744073709551615,0 +MBlfbBGI;0,18446744073709551615 +lAhWlEWZ;0,0 +nuZweYtO;0,0 +gbdSwiuY;0,0 +RZNneNuP;0,0 +YsscHXkp;0,0 +RkLzkDun;0,0 +HlQlnEYI;0,0 +RqkZOFYe;0,0 +NjCSRAfD;0,0 +pHniJMQY;0,0 +dOGIMzKR;0,0 +HfMDmNLp;0,0 +xPLKzCBl;0,0 +AtwIxZHo;1,1 diff --git a/zk_prover/src/merkle_sum_tree/mst.rs b/zk_prover/src/merkle_sum_tree/mst.rs index 4f7309e8..682b5991 100644 --- a/zk_prover/src/merkle_sum_tree/mst.rs +++ b/zk_prover/src/merkle_sum_tree/mst.rs @@ -15,15 +15,16 @@ use num_bigint::BigUint; /// # Type Parameters /// /// * `N_ASSETS`: The number of assets for each user account +/// * `N_BYTES`: Range in which each node balance should lie #[derive(Debug, Clone)] -pub struct MerkleSumTree { +pub struct MerkleSumTree { root: Node, nodes: Vec>>, depth: usize, entries: Vec>, } -impl MerkleSumTree { +impl MerkleSumTree { pub const MAX_DEPTH: usize = 27; /// Builds a Merkle Sum Tree from a CSV file stored at `path`. The CSV file must be formatted as follows: @@ -36,7 +37,7 @@ impl MerkleSumTree { [usize; N_ASSETS + 1]: Sized, [usize; 2 * (1 + N_ASSETS)]: Sized, { - let entries = parse_csv_to_entries(path)?; + let entries = parse_csv_to_entries::<&str, N_ASSETS, N_BYTES>(path)?; let depth = (entries.len() as f64).log2().ceil() as usize; if !(1..=Self::MAX_DEPTH).contains(&depth) { diff --git a/zk_prover/src/merkle_sum_tree/tests.rs b/zk_prover/src/merkle_sum_tree/tests.rs index ba172708..f6a78892 100644 --- a/zk_prover/src/merkle_sum_tree/tests.rs +++ b/zk_prover/src/merkle_sum_tree/tests.rs @@ -6,12 +6,14 @@ mod test { use num_bigint::{BigUint, ToBigUint}; const N_ASSETS: usize = 2; + const N_BYTES: usize = 8; #[test] fn test_mst() { // create new merkle tree let merkle_tree = - MerkleSumTree::::new("src/merkle_sum_tree/csv/entry_16.csv").unwrap(); + MerkleSumTree::::new("src/merkle_sum_tree/csv/entry_16.csv") + .unwrap(); // get root let root = merkle_tree.root(); @@ -30,9 +32,10 @@ mod test { assert!(merkle_tree.verify_proof(&proof)); // Should generate different root hashes when changing the entry order - let merkle_tree_2 = - MerkleSumTree::::new("src/merkle_sum_tree/csv/entry_16_switched_order.csv") - .unwrap(); + let merkle_tree_2 = MerkleSumTree::::new( + "src/merkle_sum_tree/csv/entry_16_switched_order.csv", + ) + .unwrap(); assert_ne!(root.hash, merkle_tree_2.root().hash); // the balance total should be the same @@ -84,10 +87,27 @@ mod test { proof_invalid_3.sibling_sums[0] = [0.into(), 0.into()]; } + // Passing a csv file with a single entry that has a balance that is not in the expected range will fail + #[test] + fn test_mst_overflow_1() { + let result = MerkleSumTree::::new( + "src/merkle_sum_tree/csv/entry_16_overflow.csv", + ); + + if let Err(e) = result { + assert_eq!( + e.to_string(), + "Accumulated balance is not in the expected range, proof generation will fail!" + ); + } + } + #[test] - fn test_mst_overflow() { - let result = - MerkleSumTree::::new("src/merkle_sum_tree/csv/entry_16_overflow.csv"); + // Passing a csv file in which the entries have a balance in the range, but while summing it generates a ndoe in which the balance is not in the expected range will fail + fn test_mst_overflow_2() { + let result = MerkleSumTree::::new( + "src/merkle_sum_tree/csv/entry_16_overflow_2.csv", + ); if let Err(e) = result { assert_eq!( @@ -97,7 +117,16 @@ mod test { } } + // Passing a csv file with a single entry that has a balance that is the maximum that can fit in the expected range will not fail #[test] + fn test_mst_no_overflow() { + let result = MerkleSumTree::::new( + "src/merkle_sum_tree/csv/entry_16_no_overflow.csv", + ); + assert!(result.is_ok()); + } + + #[test] fn test_big_uint_conversion() { let big_uint = 3.to_biguint().unwrap(); let fp = big_uint_to_fp(&big_uint); @@ -122,7 +151,8 @@ mod test { #[test] fn test_penultimate_level_data() { let merkle_tree = - MerkleSumTree::::new("src/merkle_sum_tree/csv/entry_16.csv").unwrap(); + MerkleSumTree::::new("src/merkle_sum_tree/csv/entry_16.csv") + .unwrap(); let root = merkle_tree.root(); diff --git a/zk_prover/src/merkle_sum_tree/utils/csv_parser.rs b/zk_prover/src/merkle_sum_tree/utils/csv_parser.rs index 5acffa6b..75bb39a6 100644 --- a/zk_prover/src/merkle_sum_tree/utils/csv_parser.rs +++ b/zk_prover/src/merkle_sum_tree/utils/csv_parser.rs @@ -12,7 +12,7 @@ struct CsvEntry { } /// Parses a CSV file stored at path into a vector of Entries -pub fn parse_csv_to_entries, const N_ASSETS: usize>( +pub fn parse_csv_to_entries, const N_ASSETS: usize, const N_BYTES: usize>( path: P, ) -> Result>, Box> { let mut entries = Vec::new(); @@ -45,9 +45,9 @@ pub fn parse_csv_to_entries, const N_ASSETS: usize>( entries.push(entry); } - // Iterate through the balance accumulator and throw error if any balance is not in range 0, 2 ** 64: + // Iterate through the balance accumulator and throw error if any balance is not in range 0, 2 ^ (8 * N_BYTES): for balance in balances_acc { - if balance >= BigUint::from(2 as usize).pow(64 as u32) { + if balance >= BigUint::from(2 as usize).pow(8 * N_BYTES as u32) { return Err( "Accumulated balance is not in the expected range, proof generation will fail!" .into(), diff --git a/zk_prover/src/merkle_sum_tree/utils/operation_helpers.rs b/zk_prover/src/merkle_sum_tree/utils/operation_helpers.rs index c406094a..81704c63 100644 --- a/zk_prover/src/merkle_sum_tree/utils/operation_helpers.rs +++ b/zk_prover/src/merkle_sum_tree/utils/operation_helpers.rs @@ -10,3 +10,8 @@ pub fn big_intify_username(username: &str) -> BigUint { pub fn big_uint_to_fp(big_uint: &BigUint) -> Fp { Fp::from_str_vartime(&big_uint.to_str_radix(10)[..]).unwrap() } + +/// Converts a Field element to a BigUint +pub fn fp_to_big_uint(f: Fp) -> BigUint { + BigUint::from_bytes_le(f.to_bytes().as_slice()) +}