From 2e3eefe92c0b1d7c1e1888ef82d8187fdf21a6d4 Mon Sep 17 00:00:00 2001 From: John Guibas Date: Mon, 26 Feb 2024 15:10:45 -0800 Subject: [PATCH 1/8] feat: reconstruct commitments --- core/src/stark/prover.rs | 23 ++++++++++++++++------- core/src/stark/types.rs | 2 ++ core/src/utils/env.rs | 8 ++++++++ 3 files changed, 26 insertions(+), 7 deletions(-) diff --git a/core/src/stark/prover.rs b/core/src/stark/prover.rs index 97bcf0ed7..38499872f 100644 --- a/core/src/stark/prover.rs +++ b/core/src/stark/prover.rs @@ -77,20 +77,26 @@ where // identical global challenges across the segments. let chunk_size = std::cmp::max(shards.len() / num_cpus::get(), 1); let config = machine.config(); - + let reconstruct_commitments = env::reconstruct_commitments(); let shard_data_chunks = chunk_vec(shard_data, chunk_size); let shard_chunks = chunk_vec(shards, chunk_size); let shard_proofs = shard_data_chunks .into_par_iter() .zip(shard_chunks.into_par_iter()) - .map(|(datas, shards)| { + .enumerate() + .map(|(i, (datas, shards))| { datas .into_iter() .zip(shards) - .map(|(data, shard)| { - let data = data - .materialize() - .expect("failed to materialize shard main data"); + .enumerate() + .map(|(j, (data, shard))| { + let idx = i * chunk_size + j; + let data = if reconstruct_commitments { + Self::commit_main(config, machine, &shard, idx) + } else { + data.materialize() + .expect("failed to materialize shard main data") + }; let chips = machine.shard_chips(&shard).collect::>(); Self::prove_shard(config, pk, &chips, data, &mut challenger.clone()) }) @@ -443,6 +449,7 @@ where // Get the number of shards that is the threshold for saving shards to disk instead of // keeping all the shards in memory. let save_disk_threshold = env::save_disk_threshold(); + let reconstruct_commitments = env::reconstruct_commitments(); let (commitments, shard_main_data): (Vec<_>, Vec<_>) = tracing::info_span!("commit main for all shards").in_scope(|| { let chunk_size = std::cmp::max(shards.len() / (num_cpus::get() * 4), 1); @@ -459,7 +466,9 @@ where .in_scope(|| Self::commit_main(config, machine, shard, index)); let commitment = data.main_commit.clone(); let file = tempfile::tempfile().unwrap(); - let data = if num_shards > save_disk_threshold { + let data = if reconstruct_commitments { + ShardMainDataWrapper::Empty() + } else if num_shards > save_disk_threshold { tracing::info_span!("saving trace to disk").in_scope(|| { data.save(file).expect("failed to save shard main data") }) diff --git a/core/src/stark/types.rs b/core/src/stark/types.rs index a35cd0511..fed7ba394 100644 --- a/core/src/stark/types.rs +++ b/core/src/stark/types.rs @@ -84,6 +84,7 @@ impl ShardMainData { pub enum ShardMainDataWrapper { InMemory(ShardMainData), TempFile(File, u64), + Empty(), } impl ShardMainDataWrapper { @@ -99,6 +100,7 @@ impl ShardMainDataWrapper { let data = deserialize_from(&mut buffer)?; Ok(data) } + Self::Empty() => unreachable!(), } } } diff --git a/core/src/utils/env.rs b/core/src/utils/env.rs index 9f6b07211..3a099c01d 100644 --- a/core/src/utils/env.rs +++ b/core/src/utils/env.rs @@ -17,3 +17,11 @@ pub fn save_disk_threshold() -> usize { Err(_) => 256, } } + +/// Gets the flag for whether to recreate the shard commitments instead of saving them to disk. +pub fn reconstruct_commitments() -> bool { + match std::env::var("RECONSTRUCT_COMMITMENTS") { + Ok(val) => val == "true", + Err(_) => false, + } +} From 622dc010af6abbfd253e9b4c7ac8f1da2768ef01 Mon Sep 17 00:00:00 2001 From: John Guibas Date: Mon, 26 Feb 2024 15:19:47 -0800 Subject: [PATCH 2/8] faster buf writer --- core/src/stark/types.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/stark/types.rs b/core/src/stark/types.rs index fed7ba394..5f1fb92fd 100644 --- a/core/src/stark/types.rs +++ b/core/src/stark/types.rs @@ -64,7 +64,7 @@ impl ShardMainData { where ShardMainData: Serialize, { - let mut writer = BufWriter::new(&file); + let mut writer = BufWriter::with_capacity(1024 * 1024 * 512, &file); bincode::serialize_into(&mut writer, self)?; drop(writer); let metadata = file.metadata()?; From 03c848904c2ba4893f1e53c796a518a3d2b0bcbf Mon Sep 17 00:00:00 2001 From: John Guibas Date: Mon, 26 Feb 2024 15:32:58 -0800 Subject: [PATCH 3/8] bigger chunks --- core/src/stark/prover.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/stark/prover.rs b/core/src/stark/prover.rs index 38499872f..1a01ee608 100644 --- a/core/src/stark/prover.rs +++ b/core/src/stark/prover.rs @@ -452,7 +452,7 @@ where let reconstruct_commitments = env::reconstruct_commitments(); let (commitments, shard_main_data): (Vec<_>, Vec<_>) = tracing::info_span!("commit main for all shards").in_scope(|| { - let chunk_size = std::cmp::max(shards.len() / (num_cpus::get() * 4), 1); + let chunk_size = std::cmp::max(shards.len() / num_cpus::get(), 1); shards .par_chunks(chunk_size) .enumerate() From 03d56f2319453e052c10bbb72176b5937df2e146 Mon Sep 17 00:00:00 2001 From: John Guibas Date: Mon, 26 Feb 2024 16:35:41 -0800 Subject: [PATCH 4/8] hm --- core/src/utils/prove.rs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/core/src/utils/prove.rs b/core/src/utils/prove.rs index 8568d2a6e..f1db1b207 100644 --- a/core/src/utils/prove.rs +++ b/core/src/utils/prove.rs @@ -476,6 +476,12 @@ pub(super) mod baby_bear_blake3 { } } + impl Clone for BabyBearBlake3 { + fn clone(&self) -> Self { + Self::new() + } + } + impl BabyBearBlake3 { pub fn new() -> Self { let byte_hash = ByteHash {}; From 1aa2ff91b64bf1b7735b5b88d50aaf9b0491c8b8 Mon Sep 17 00:00:00 2001 From: John Guibas Date: Mon, 26 Feb 2024 16:37:54 -0800 Subject: [PATCH 5/8] updates --- Cargo.lock | 108 ++++++++++++++++++++++++++--------------------------- 1 file changed, 54 insertions(+), 54 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 3e66df905..7c0aad748 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -240,9 +240,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.15.1" +version = "3.15.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c764d619ca78fccbf3069b37bd7af92577f044bb15236036662d79b6559f25b7" +checksum = "8ea184aa71bb362a1157c896979544cc23974e08fd265f29ea96b59f0b4a555b" [[package]] name = "bytes" @@ -290,9 +290,9 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" [[package]] name = "cc" -version = "1.0.86" +version = "1.0.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f9fa1897e4325be0d68d48df6aa1a71ac2ed4d27723887e7754192705350730" +checksum = "02f341c093d19155a6e41631ce5971aac4e9a868262212153124c15fa22d1cdc" dependencies = [ "libc", ] @@ -312,7 +312,7 @@ dependencies = [ "android-tzdata", "iana-time-zone", "num-traits", - "windows-targets 0.52.0", + "windows-targets 0.52.3", ] [[package]] @@ -373,7 +373,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.50", + "syn 2.0.51", ] [[package]] @@ -560,7 +560,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.50", + "syn 2.0.51", ] [[package]] @@ -851,7 +851,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.50", + "syn 2.0.51", ] [[package]] @@ -957,9 +957,9 @@ dependencies = [ [[package]] name = "half" -version = "2.3.1" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc52e53916c08643f1b56ec082790d1e86a32e58dc5268f897f313fbae7b4872" +checksum = "b5eceaaeec696539ddaf7b333340f1af35a5aa87ae3e4f3ead0532f72affab2e" dependencies = [ "cfg-if", "crunchy", @@ -983,9 +983,9 @@ checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" [[package]] name = "hermit-abi" -version = "0.3.6" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd5256b483761cd23699d0da46cc6fd2ee3be420bbe6d020ae4a091e70b7e9fd" +checksum = "379dada1584ad501b383485dd706b8afb7a70fcbc7f4da7d780638a5a6124a60" [[package]] name = "hex" @@ -2212,7 +2212,7 @@ checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.50", + "syn 2.0.51", ] [[package]] @@ -2260,7 +2260,7 @@ checksum = "b93fb4adc70021ac1b47f7d45e8cc4169baaa7ea58483bc5b721d19a26202212" dependencies = [ "proc-macro2", "quote", - "syn 2.0.50", + "syn 2.0.51", ] [[package]] @@ -2325,12 +2325,12 @@ checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7" [[package]] name = "socket2" -version = "0.5.5" +version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9" +checksum = "05ffd9c0a93b7543e062e759284fcf5f5e3b098501104bfbdde4d404db792871" dependencies = [ "libc", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] @@ -2500,9 +2500,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.50" +version = "2.0.51" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74f1bdc9872430ce9b75da68329d1c1746faf50ffac5f19e02b71e37ff881ffb" +checksum = "6ab617d94515e94ae53b8406c628598680aa0c9587474ecbe58188f7b345d66c" dependencies = [ "proc-macro2", "quote", @@ -2555,15 +2555,15 @@ dependencies = [ [[package]] name = "target-lexicon" -version = "0.12.13" +version = "0.12.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69758bda2e78f098e4ccb393021a0963bb3442eac05f135c30f61b7370bbafae" +checksum = "e1fc403891a21bcfb7c37834ba66a547a8f402146eba7265b5a6d88059c9ff2f" [[package]] name = "tempfile" -version = "3.10.0" +version = "3.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a365e8cd18e44762ef95d87f284f4b5cd04107fec2ff3052bd6a3e6069669e67" +checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" dependencies = [ "cfg-if", "fastrand", @@ -2588,7 +2588,7 @@ checksum = "a953cb265bef375dae3de6663da4d3804eee9682ea80d8e2542529b73c531c81" dependencies = [ "proc-macro2", "quote", - "syn 2.0.50", + "syn 2.0.51", ] [[package]] @@ -2695,7 +2695,7 @@ checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.50", + "syn 2.0.51", ] [[package]] @@ -2764,7 +2764,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.50", + "syn 2.0.51", ] [[package]] @@ -2958,7 +2958,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.50", + "syn 2.0.51", "wasm-bindgen-shared", ] @@ -2992,7 +2992,7 @@ checksum = "642f325be6301eb8107a83d12a8ac6c1e1c54345a7ef1a9261962dfefda09e66" dependencies = [ "proc-macro2", "quote", - "syn 2.0.50", + "syn 2.0.51", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -3069,7 +3069,7 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" dependencies = [ - "windows-targets 0.52.0", + "windows-targets 0.52.3", ] [[package]] @@ -3087,7 +3087,7 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows-targets 0.52.0", + "windows-targets 0.52.3", ] [[package]] @@ -3107,17 +3107,17 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.52.0" +version = "0.52.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd" +checksum = "d380ba1dc7187569a8a9e91ed34b8ccfc33123bbacb8c0aed2d1ad7f3ef2dc5f" dependencies = [ - "windows_aarch64_gnullvm 0.52.0", - "windows_aarch64_msvc 0.52.0", - "windows_i686_gnu 0.52.0", - "windows_i686_msvc 0.52.0", - "windows_x86_64_gnu 0.52.0", - "windows_x86_64_gnullvm 0.52.0", - "windows_x86_64_msvc 0.52.0", + "windows_aarch64_gnullvm 0.52.3", + "windows_aarch64_msvc 0.52.3", + "windows_i686_gnu 0.52.3", + "windows_i686_msvc 0.52.3", + "windows_x86_64_gnu 0.52.3", + "windows_x86_64_gnullvm 0.52.3", + "windows_x86_64_msvc 0.52.3", ] [[package]] @@ -3128,9 +3128,9 @@ checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" [[package]] name = "windows_aarch64_gnullvm" -version = "0.52.0" +version = "0.52.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea" +checksum = "68e5dcfb9413f53afd9c8f86e56a7b4d86d9a2fa26090ea2dc9e40fba56c6ec6" [[package]] name = "windows_aarch64_msvc" @@ -3140,9 +3140,9 @@ checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" [[package]] name = "windows_aarch64_msvc" -version = "0.52.0" +version = "0.52.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef" +checksum = "8dab469ebbc45798319e69eebf92308e541ce46760b49b18c6b3fe5e8965b30f" [[package]] name = "windows_i686_gnu" @@ -3152,9 +3152,9 @@ checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" [[package]] name = "windows_i686_gnu" -version = "0.52.0" +version = "0.52.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313" +checksum = "2a4e9b6a7cac734a8b4138a4e1044eac3404d8326b6c0f939276560687a033fb" [[package]] name = "windows_i686_msvc" @@ -3164,9 +3164,9 @@ checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" [[package]] name = "windows_i686_msvc" -version = "0.52.0" +version = "0.52.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a" +checksum = "28b0ec9c422ca95ff34a78755cfa6ad4a51371da2a5ace67500cf7ca5f232c58" [[package]] name = "windows_x86_64_gnu" @@ -3176,9 +3176,9 @@ checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" [[package]] name = "windows_x86_64_gnu" -version = "0.52.0" +version = "0.52.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd" +checksum = "704131571ba93e89d7cd43482277d6632589b18ecf4468f591fbae0a8b101614" [[package]] name = "windows_x86_64_gnullvm" @@ -3188,9 +3188,9 @@ checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" [[package]] name = "windows_x86_64_gnullvm" -version = "0.52.0" +version = "0.52.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e" +checksum = "42079295511643151e98d61c38c0acc444e52dd42ab456f7ccfd5152e8ecf21c" [[package]] name = "windows_x86_64_msvc" @@ -3200,9 +3200,9 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" [[package]] name = "windows_x86_64_msvc" -version = "0.52.0" +version = "0.52.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" +checksum = "0770833d60a970638e989b3fa9fd2bb1aaadcf88963d1659fd7d9990196ed2d6" [[package]] name = "winnow" @@ -3266,7 +3266,7 @@ checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.50", + "syn 2.0.51", ] [[package]] From d1cd3618b7d86448d8c75563d874bd853b2f4c41 Mon Sep 17 00:00:00 2001 From: John Guibas Date: Mon, 26 Feb 2024 16:39:59 -0800 Subject: [PATCH 6/8] hm --- Cargo.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 487663f81..3280c4c88 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1484,7 +1484,7 @@ checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" [[package]] name = "p3-air" version = "0.1.0" -source = "git+https://github.com/succinctlabs/plonky3.git#bfd061406886e5ae007a8014edae59ee7ab35ad5" +source = "git+https://github.com/succinctlabs/plonky3.git#731ff62c311ebef7bb4bac1afd36934524f86d4f" dependencies = [ "p3-field", "p3-matrix", @@ -1493,7 +1493,7 @@ dependencies = [ [[package]] name = "p3-baby-bear" version = "0.1.0" -source = "git+https://github.com/succinctlabs/plonky3.git#bfd061406886e5ae007a8014edae59ee7ab35ad5" +source = "git+https://github.com/succinctlabs/plonky3.git#731ff62c311ebef7bb4bac1afd36934524f86d4f" dependencies = [ "p3-field", "rand", @@ -1503,7 +1503,7 @@ dependencies = [ [[package]] name = "p3-blake3" version = "0.1.0" -source = "git+https://github.com/succinctlabs/plonky3.git#bfd061406886e5ae007a8014edae59ee7ab35ad5" +source = "git+https://github.com/succinctlabs/plonky3.git#731ff62c311ebef7bb4bac1afd36934524f86d4f" dependencies = [ "blake3", "p3-symmetric", @@ -1512,7 +1512,7 @@ dependencies = [ [[package]] name = "p3-challenger" version = "0.1.0" -source = "git+https://github.com/succinctlabs/plonky3.git#bfd061406886e5ae007a8014edae59ee7ab35ad5" +source = "git+https://github.com/succinctlabs/plonky3.git#731ff62c311ebef7bb4bac1afd36934524f86d4f" dependencies = [ "p3-field", "p3-maybe-rayon", @@ -1524,7 +1524,7 @@ dependencies = [ [[package]] name = "p3-commit" version = "0.1.0" -source = "git+https://github.com/succinctlabs/plonky3.git#bfd061406886e5ae007a8014edae59ee7ab35ad5" +source = "git+https://github.com/succinctlabs/plonky3.git#731ff62c311ebef7bb4bac1afd36934524f86d4f" dependencies = [ "p3-challenger", "p3-field", @@ -1535,7 +1535,7 @@ dependencies = [ [[package]] name = "p3-dft" version = "0.1.0" -source = "git+https://github.com/succinctlabs/plonky3.git#bfd061406886e5ae007a8014edae59ee7ab35ad5" +source = "git+https://github.com/succinctlabs/plonky3.git#731ff62c311ebef7bb4bac1afd36934524f86d4f" dependencies = [ "p3-field", "p3-matrix", @@ -1546,7 +1546,7 @@ dependencies = [ [[package]] name = "p3-field" version = "0.1.0" -source = "git+https://github.com/succinctlabs/plonky3.git#bfd061406886e5ae007a8014edae59ee7ab35ad5" +source = "git+https://github.com/succinctlabs/plonky3.git#731ff62c311ebef7bb4bac1afd36934524f86d4f" dependencies = [ "itertools 0.12.1", "p3-util", @@ -1557,7 +1557,7 @@ dependencies = [ [[package]] name = "p3-fri" version = "0.1.0" -source = "git+https://github.com/succinctlabs/plonky3.git#bfd061406886e5ae007a8014edae59ee7ab35ad5" +source = "git+https://github.com/succinctlabs/plonky3.git#731ff62c311ebef7bb4bac1afd36934524f86d4f" dependencies = [ "itertools 0.12.1", "p3-challenger", @@ -1575,7 +1575,7 @@ dependencies = [ [[package]] name = "p3-goldilocks" version = "0.1.0" -source = "git+https://github.com/succinctlabs/plonky3.git#bfd061406886e5ae007a8014edae59ee7ab35ad5" +source = "git+https://github.com/succinctlabs/plonky3.git#731ff62c311ebef7bb4bac1afd36934524f86d4f" dependencies = [ "p3-field", "p3-util", @@ -1586,7 +1586,7 @@ dependencies = [ [[package]] name = "p3-interpolation" version = "0.1.0" -source = "git+https://github.com/succinctlabs/plonky3.git#bfd061406886e5ae007a8014edae59ee7ab35ad5" +source = "git+https://github.com/succinctlabs/plonky3.git#731ff62c311ebef7bb4bac1afd36934524f86d4f" dependencies = [ "p3-field", "p3-matrix", @@ -1596,7 +1596,7 @@ dependencies = [ [[package]] name = "p3-keccak" version = "0.1.0" -source = "git+https://github.com/succinctlabs/plonky3.git#bfd061406886e5ae007a8014edae59ee7ab35ad5" +source = "git+https://github.com/succinctlabs/plonky3.git#731ff62c311ebef7bb4bac1afd36934524f86d4f" dependencies = [ "p3-symmetric", "tiny-keccak", @@ -1605,7 +1605,7 @@ dependencies = [ [[package]] name = "p3-keccak-air" version = "0.1.0" -source = "git+https://github.com/succinctlabs/plonky3.git#bfd061406886e5ae007a8014edae59ee7ab35ad5" +source = "git+https://github.com/succinctlabs/plonky3.git#731ff62c311ebef7bb4bac1afd36934524f86d4f" dependencies = [ "p3-air", "p3-field", @@ -1617,7 +1617,7 @@ dependencies = [ [[package]] name = "p3-matrix" version = "0.1.0" -source = "git+https://github.com/succinctlabs/plonky3.git#bfd061406886e5ae007a8014edae59ee7ab35ad5" +source = "git+https://github.com/succinctlabs/plonky3.git#731ff62c311ebef7bb4bac1afd36934524f86d4f" dependencies = [ "p3-field", "p3-maybe-rayon", @@ -1629,7 +1629,7 @@ dependencies = [ [[package]] name = "p3-maybe-rayon" version = "0.1.0" -source = "git+https://github.com/succinctlabs/plonky3.git#bfd061406886e5ae007a8014edae59ee7ab35ad5" +source = "git+https://github.com/succinctlabs/plonky3.git#731ff62c311ebef7bb4bac1afd36934524f86d4f" dependencies = [ "rayon", ] @@ -1637,7 +1637,7 @@ dependencies = [ [[package]] name = "p3-mds" version = "0.1.0" -source = "git+https://github.com/succinctlabs/plonky3.git#bfd061406886e5ae007a8014edae59ee7ab35ad5" +source = "git+https://github.com/succinctlabs/plonky3.git#731ff62c311ebef7bb4bac1afd36934524f86d4f" dependencies = [ "p3-baby-bear", "p3-dft", @@ -1653,7 +1653,7 @@ dependencies = [ [[package]] name = "p3-merkle-tree" version = "0.1.0" -source = "git+https://github.com/succinctlabs/plonky3.git#bfd061406886e5ae007a8014edae59ee7ab35ad5" +source = "git+https://github.com/succinctlabs/plonky3.git#731ff62c311ebef7bb4bac1afd36934524f86d4f" dependencies = [ "itertools 0.12.1", "p3-commit", @@ -1669,7 +1669,7 @@ dependencies = [ [[package]] name = "p3-mersenne-31" version = "0.1.0" -source = "git+https://github.com/succinctlabs/plonky3.git#bfd061406886e5ae007a8014edae59ee7ab35ad5" +source = "git+https://github.com/succinctlabs/plonky3.git#731ff62c311ebef7bb4bac1afd36934524f86d4f" dependencies = [ "itertools 0.12.1", "p3-dft", @@ -1684,7 +1684,7 @@ dependencies = [ [[package]] name = "p3-poseidon2" version = "0.1.0" -source = "git+https://github.com/succinctlabs/plonky3.git#bfd061406886e5ae007a8014edae59ee7ab35ad5" +source = "git+https://github.com/succinctlabs/plonky3.git#731ff62c311ebef7bb4bac1afd36934524f86d4f" dependencies = [ "p3-baby-bear", "p3-field", @@ -1698,7 +1698,7 @@ dependencies = [ [[package]] name = "p3-symmetric" version = "0.1.0" -source = "git+https://github.com/succinctlabs/plonky3.git#bfd061406886e5ae007a8014edae59ee7ab35ad5" +source = "git+https://github.com/succinctlabs/plonky3.git#731ff62c311ebef7bb4bac1afd36934524f86d4f" dependencies = [ "itertools 0.12.1", "p3-field", @@ -1708,7 +1708,7 @@ dependencies = [ [[package]] name = "p3-uni-stark" version = "0.1.0" -source = "git+https://github.com/succinctlabs/plonky3.git#bfd061406886e5ae007a8014edae59ee7ab35ad5" +source = "git+https://github.com/succinctlabs/plonky3.git#731ff62c311ebef7bb4bac1afd36934524f86d4f" dependencies = [ "itertools 0.12.1", "p3-air", @@ -1726,7 +1726,7 @@ dependencies = [ [[package]] name = "p3-util" version = "0.1.0" -source = "git+https://github.com/succinctlabs/plonky3.git#bfd061406886e5ae007a8014edae59ee7ab35ad5" +source = "git+https://github.com/succinctlabs/plonky3.git#731ff62c311ebef7bb4bac1afd36934524f86d4f" dependencies = [ "serde", ] From 387d9a1057c984e9da4eab858a09c9b78163db3e Mon Sep 17 00:00:00 2001 From: John Guibas Date: Tue, 27 Feb 2024 10:06:26 -0800 Subject: [PATCH 7/8] env --- core/src/utils/env.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/utils/env.rs b/core/src/utils/env.rs index 3a099c01d..443af8eb2 100644 --- a/core/src/utils/env.rs +++ b/core/src/utils/env.rs @@ -22,6 +22,6 @@ pub fn save_disk_threshold() -> usize { pub fn reconstruct_commitments() -> bool { match std::env::var("RECONSTRUCT_COMMITMENTS") { Ok(val) => val == "true", - Err(_) => false, + Err(_) => true, } } From cb0f6ebd5a2e9c4c605a9943d97c7a439147c634 Mon Sep 17 00:00:00 2001 From: John Guibas Date: Tue, 27 Feb 2024 10:10:56 -0800 Subject: [PATCH 8/8] boom --- core/src/stark/types.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/stark/types.rs b/core/src/stark/types.rs index 5f1fb92fd..fed7ba394 100644 --- a/core/src/stark/types.rs +++ b/core/src/stark/types.rs @@ -64,7 +64,7 @@ impl ShardMainData { where ShardMainData: Serialize, { - let mut writer = BufWriter::with_capacity(1024 * 1024 * 512, &file); + let mut writer = BufWriter::new(&file); bincode::serialize_into(&mut writer, self)?; drop(writer); let metadata = file.metadata()?;