Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compression Circuit: snark-verifier-ce #1377

Draft
wants to merge 82 commits into
base: develop
Choose a base branch
from
Draft
Changes from 1 commit
Commits
Show all changes
82 commits
Select commit Hold shift + click to select a range
343447e
add ce dependecies and add circuit params
Jul 20, 2024
7933b82
move compression into own module
Jul 20, 2024
9dd339c
use aggregation circuit from ce-snark-verifier
Jul 22, 2024
b55f96e
export MockChunkCircuit
Jul 22, 2024
07af602
fix compression tests
Jul 22, 2024
bc324a0
fmt
Jul 22, 2024
19d70d6
clippy
Jul 22, 2024
a0fc98f
add roundtrip test
Jul 23, 2024
9bd9962
Merge branch 'develop' into feat/migrate_compression
z2trillion Jul 25, 2024
6b8d67a
Merge branch 'develop' into feat/migrate_compression
roynalnaruto Aug 5, 2024
cfec348
fix: clippy
roynalnaruto Aug 5, 2024
271633e
new cargo lock
z2trillion Jul 25, 2024
2205f36
disable recursion limit when deserializing snarks
z2trillion Jul 26, 2024
0041062
quick fix
z2trillion Jul 26, 2024
46d17a3
change stage
z2trillion Aug 5, 2024
cd4fe3b
fix cherry-pick
z2trillion Aug 5, 2024
b0a0bf1
Merge branch 'develop' into feat/migrate_compression
roynalnaruto Aug 27, 2024
50a4b31
update cargo lock to use scroll-tech repos
z2trillion Aug 30, 2024
54c4d74
Merge branch 'develop' into feat/migrate_compression
darth-cy Sep 4, 2024
a57d316
Correct import
darth-cy Sep 4, 2024
a98f446
Resolve trait bound
darth-cy Sep 4, 2024
4eedc28
Resolve clippy
darth-cy Sep 4, 2024
7424bf0
Correct fmt
darth-cy Sep 4, 2024
71b6a5f
Add comment
darth-cy Sep 4, 2024
32dc27d
update snark verifier
lispc Sep 5, 2024
7934dd4
Merge branch 'feat/migrate_compression' of github.com:scroll-tech/zke…
lispc Sep 5, 2024
b69ec74
chore: upgrade trie to make it forward compatible with future trace c…
lispc Aug 14, 2024
8958e5d
Add prover pairing check
darth-cy Sep 8, 2024
baf23ad
Merge branch 'develop' into feat/migrate_compression
darth-cy Sep 8, 2024
2642616
Correct wording
darth-cy Sep 8, 2024
bec5d76
Add accumulator pre-check for compression circuit
darth-cy Sep 8, 2024
ecb7223
Resolve clippy
darth-cy Sep 8, 2024
12b5a3d
fmt
darth-cy Sep 8, 2024
a799a60
Add accumulator pre-check into chunk verifier
darth-cy Sep 8, 2024
bd2c57f
clippy and fmt
darth-cy Sep 8, 2024
4a9c3c2
Merge branch 'develop' into feat/migrate_compression
darth-cy Sep 10, 2024
fc00dc8
Merge branch 'develop' into feat/migrate_compression
lispc Sep 10, 2024
724c101
Add pairing check in compression circuit construction for all accumul…
darth-cy Sep 12, 2024
8905ed3
fmt
darth-cy Sep 12, 2024
da87728
Merge branch 'develop' into feat/migrate_compression
darth-cy Sep 12, 2024
b18623f
Resolve conflict and rebuild
darth-cy Sep 12, 2024
af9a9cd
fmt
darth-cy Sep 12, 2024
2a3d270
Merge branch 'develop' into feat/migrate_compression
darth-cy Sep 18, 2024
3cc07cd
Merge branch 'develop' into feat/migrate_compression
roynalnaruto Sep 18, 2024
9073e45
Add standard plonk compression
darth-cy Sep 18, 2024
611a79b
Add evm_verify to standard plonk compression test
darth-cy Sep 18, 2024
5295f72
Remove feature branching for standard plonk assignment
darth-cy Sep 18, 2024
2e2191e
Remove evm code deployment
darth-cy Sep 18, 2024
8813d53
Readapt compression circuit construction logic from example
darth-cy Sep 18, 2024
dd9159f
Correct source of entropy
darth-cy Sep 18, 2024
ba1a232
Use standard plonk compression for mock prover
darth-cy Sep 18, 2024
6ef3770
Correct accumulator
darth-cy Sep 18, 2024
a072add
Remove rlc temporarily
darth-cy Sep 18, 2024
ac19f78
Recover rlc config
darth-cy Sep 18, 2024
d5604bd
Remove rlc lookup
darth-cy Sep 18, 2024
7e96751
Construct snark with old shplonk
darth-cy Sep 18, 2024
87a2322
Recover rlc
darth-cy Sep 18, 2024
b5d18f8
Clean up code
darth-cy Sep 18, 2024
494048c
Organize compression unit tests
darth-cy Sep 19, 2024
7d97d29
Adjust test compilation
darth-cy Sep 19, 2024
b086feb
Adjust compression tests
darth-cy Sep 19, 2024
9918fd7
Recover second layer compression
darth-cy Sep 19, 2024
62e6100
Remove rlc
darth-cy Sep 19, 2024
5fbb16f
Merge branch 'develop' into feat/migrate_compression
darth-cy Sep 20, 2024
8b6a9ad
First layer compression should not have accumulators
darth-cy Sep 20, 2024
dfce06c
Add pre-generated snark compression test
darth-cy Sep 22, 2024
dd6025f
Add compression params
darth-cy Sep 23, 2024
5523a3f
Reduce degree
darth-cy Sep 23, 2024
2bd43fd
Modify test
darth-cy Sep 23, 2024
1414ed2
Correct test
darth-cy Sep 23, 2024
d8a2058
Remove comments
darth-cy Sep 23, 2024
259b569
update test parameters
z2trillion Sep 26, 2024
d1ae93f
fix cargo.toml
z2trillion Sep 26, 2024
ab818be
Recompile Cargo.lock
darth-cy Sep 27, 2024
864a685
Add snark generation for layer2 compression
darth-cy Sep 27, 2024
108822d
Adjust compression unit tests:
darth-cy Sep 29, 2024
a6a172f
Adjust parameters
darth-cy Sep 30, 2024
50df657
Increase degree
darth-cy Sep 30, 2024
ab5a172
Correct degree
darth-cy Sep 30, 2024
03eb3e5
Temporarily disable layer 2
darth-cy Sep 30, 2024
3e0bcb4
Add number of advice columns
darth-cy Oct 2, 2024
32ca7cb
Merge branch 'develop' into feat/migrate_compression
darth-cy Oct 10, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Modify test
darth-cy committed Sep 23, 2024
commit 2bd43fd88998e119e8faa0939c6b87199670809f
59 changes: 46 additions & 13 deletions compression/src/tests.rs
Original file line number Diff line number Diff line change
@@ -221,28 +221,63 @@ fn test_mock_compression() {

#[test]
fn test_two_layer_compression() {


// let compression_circuit = CompressionCircuit::new_from_ce_snark(k, &params, snarks[0].clone(), false, rng).unwrap();
// let num_instances = compression_circuit.num_instance();
// let instances = compression_circuit.instances();

// println!("num_instances {:?}", num_instances);
// println!("instance length {:?}", instances.len());

// let pk_layer1 = gen_pk(&params, &compression_circuit, None);
// let compression_snark = gen_snark_shplonk(
// &params,
// &pk_layer1,
// compression_circuit.clone(),
// None::<String>,
// );

// // Second layer of compression
// let mut rng = test_rng();
// let compression_circuit_layer2 =
// CompressionCircuit::new_from_ce_snark(k, &params, compression_snark, true, &mut rng).unwrap();










// Generate base layer snark
let k0 = 8u32;
let params_app = gen_srs(k0);
let circuit = MockChunkCircuit::random(OsRng, false, false);
// let k0 = 8u32;
// let params_app = gen_srs(k0);
// let circuit = MockChunkCircuit::random(OsRng, false, false);

let pk_layer0 = gen_pk(&params_app, &circuit, None);
// let pk_layer0 = gen_pk(&params_app, &circuit, None);
// let mut rng = test_rng();
// let old_snark = old_gen_snark_shplonk(&params_app, &pk_layer0, circuit, &mut rng, None::<String>).unwrap();

// Generate base layer snark
let params_app = gen_srs(8);
let k = 21u32;
let params = gen_srs(k);
let snarks = [(); 1].map(|_| gen_application_snark(&params_app));
let mut rng = test_rng();
let old_snark = old_gen_snark_shplonk(&params_app, &pk_layer0, circuit, &mut rng, None::<String>).unwrap();

// First layer of compression
let k1 = 24u32;
let layer1_agg_params = AggregationConfigParams {
degree: 21,
num_advice: 15,
num_lookup_advice: 2,
num_fixed: 1,
lookup_bits: 20,
};
let params = gen_srs(k1);
let mut rng = test_rng();
let compression_circuit =
CompressionCircuit::new_from_ce_snark(layer1_agg_params, &params, to_ce_snark(&old_snark), false, &mut rng).unwrap();
CompressionCircuit::new_from_ce_snark(layer1_agg_params, &params, snarks[0].clone(), false, &mut rng).unwrap();
let pk_layer1 = gen_pk(&params, &compression_circuit, None);
let compression_snark = gen_snark_shplonk(
&params,
@@ -252,18 +287,16 @@ fn test_two_layer_compression() {
);

// Second layer of compression
let k2 = 25;
let layer2_agg_params = AggregationConfigParams {
degree: 21,
num_advice: 1,
num_lookup_advice: 1,
num_fixed: 1,
lookup_bits: 24,
};
let params2 = gen_srs(k2);
let mut rng = test_rng();
let compression_circuit_layer2 =
CompressionCircuit::new_from_ce_snark(layer2_agg_params, &params2, compression_snark, true, &mut rng).unwrap();
let _compression_circuit_layer2 =
CompressionCircuit::new_from_ce_snark(layer2_agg_params, &params, compression_snark, true, &mut rng).unwrap();

// let pk_layer2 = gen_pk(&params, &compression_circuit_layer2, None);
// let compression_snark_layer2 = gen_snark_shplonk(