diff --git a/zk_prover/Cargo.lock b/zk_prover/Cargo.lock index a6d9ebf3..80d68c35 100644 --- a/zk_prover/Cargo.lock +++ b/zk_prover/Cargo.lock @@ -97,9 +97,9 @@ checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" [[package]] name = "async-trait" -version = "0.1.68" +version = "0.1.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9ccdd8f2a161be9bd5c023df56f1b2a0bd1d83872ae53b71a84a12c9bf6e842" +checksum = "7b2d0f03b3640e3a630367e40c468cb7f309529c708ed1d88597047b0e7c6ef7" dependencies = [ "proc-macro2", "quote", @@ -1172,7 +1172,7 @@ dependencies = [ [[package]] name = "eth-types" version = "0.1.0" -source = "git+https://github.com/privacy-scaling-explorations/zkevm-circuits#ed4324ea3e2ae8ef76b62c252e6f595ccdb8fca3" +source = "git+https://github.com/privacy-scaling-explorations/zkevm-circuits#8030de34b11e53621c6f0da54931e694c8c31a8b" dependencies = [ "ethers-core", "ethers-signers", @@ -1485,7 +1485,7 @@ checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" [[package]] name = "gadgets" version = "0.1.0" -source = "git+https://github.com/privacy-scaling-explorations/zkevm-circuits#ed4324ea3e2ae8ef76b62c252e6f595ccdb8fca3" +source = "git+https://github.com/privacy-scaling-explorations/zkevm-circuits#8030de34b11e53621c6f0da54931e694c8c31a8b" dependencies = [ "digest 0.7.6", "eth-types", @@ -2698,7 +2698,7 @@ dependencies = [ "rkyv_derive", "seahash", "tinyvec", - "uuid 1.3.4", + "uuid 1.4.0", ] [[package]] @@ -2797,9 +2797,9 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.12" +version = "1.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f3208ce4d8448b3f3e7d168a73f5e0c43a61e32930de3bceeccedb388b6bf06" +checksum = "dc31bd9b61a32c31f9650d18add92aa83a49ba979c143eefd27fe7177b05bd5f" [[package]] name = "ryu" @@ -3460,9 +3460,9 @@ dependencies = [ [[package]] name = "uuid" -version = "1.3.4" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa2982af2eec27de306107c027578ff7f423d65f7250e40ce0fea8f45248b81" +checksum = "d023da39d1fde5a8a3fe1f3e01ca9632ada0a63e9797de55a879d6e2236277be" [[package]] name = "version_check" diff --git a/zk_prover/README.md b/zk_prover/README.md index 7967c566..e9de1136 100644 --- a/zk_prover/README.md +++ b/zk_prover/README.md @@ -4,7 +4,7 @@ This directory contains the Halo2 ZK circuit implementation for the Summa Proof ## Usage -To build and test the circuits, execute +To build, test and print the circuits, execute ``` cargo build @@ -70,14 +70,14 @@ Run on MacBook Pro 2023, M2 Pro, 32GB RAM, 12 cores For Merkle Sum Tree Proof of Inclusion circuit -| VK Gen | Pk Gen | Proof Generation | Proof Verification | Proof Size (bytes) | -| ------ | ------ | ---------------- | ------------------ | ------------------ | -| 172.09 ms (+33.3%) | 63.307 ms (+2.496%)| 285.14 ms (-72.45%) | 4.7232 ms (-40.07%) | 2752 (-73.61%) | +| VK Gen | Pk Gen | Proof Generation | Proof Verification | Proof Size (bytes) | +| ------------------ | ------------------- | ------------------- | ------------------- | ------------------ | +| 172.09 ms (+33.3%) | 63.307 ms (+2.496%) | 285.14 ms (-72.45%) | 4.7232 ms (-40.07%) | 2752 (-73.61%) | For Proof of Solvency circuit -| VK Gen | Pk Gen | Proof Generation | Proof Verification | Proof Size (bytes) | -| ------ | ------ | ---------------- | ------------------ | ------------------ | -| 109.64 ms | 57.848 ms| 1.3231s | 6.9582 ms | 11520 | +| VK Gen | Pk Gen | Proof Generation | Proof Verification | Proof Size (bytes) | +| ------ | ------ | ---------------- | ------------------ | ------------------ | +| 77.363 ms (-29.44%) | 30.850 ms (-46.47%) | 145.50ms (-89%) | 4.5124 ms (-35.15%) | 2752 (-76.11%) | diff --git a/zk_prover/benches/full_solvency_flow.rs b/zk_prover/benches/full_solvency_flow.rs index 5fbc6eff..a3d3be3b 100644 --- a/zk_prover/benches/full_solvency_flow.rs +++ b/zk_prover/benches/full_solvency_flow.rs @@ -147,7 +147,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 params: ParamsKZG = generate_setup_params(12); + let params: ParamsKZG = generate_setup_params(11); let empty_circuit = SolvencyCircuit::::init_empty(); @@ -165,7 +165,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 params: ParamsKZG = generate_setup_params(12); + let params: ParamsKZG = generate_setup_params(11); let empty_circuit = SolvencyCircuit::::init_empty(); @@ -184,7 +184,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 params: ParamsKZG = generate_setup_params(12); + let params: ParamsKZG = generate_setup_params(11); let empty_circuit = SolvencyCircuit::::init_empty(); @@ -217,7 +217,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 params: ParamsKZG = generate_setup_params(12); + let params: ParamsKZG = generate_setup_params(11); let empty_circuit = SolvencyCircuit::::init_empty();