Skip to content

Commit da148fb

Browse files
committed
multi-stark to batch-stark
1 parent 3bb070c commit da148fb

File tree

4 files changed

+16
-16
lines changed

4 files changed

+16
-16
lines changed

recursion/src/generation.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@ use alloc::vec::Vec;
33

44
use itertools::zip_eq;
55
use p3_air::Air;
6+
use p3_batch_stark::BatchProof;
7+
use p3_batch_stark::config::{observe_base_as_ext, observe_instance_binding};
68
use p3_challenger::{CanObserve, CanSample, CanSampleBits, FieldChallenger, GrindingChallenger};
79
use p3_commit::{BatchOpening, Mmcs, Pcs, PolynomialSpace};
810
use p3_field::{BasedVectorSpace, Field, PrimeCharacteristicRing, PrimeField, TwoAdicField};
911
use p3_fri::{FriProof, TwoAdicFriPcs};
10-
use p3_batch_stark::BatchProof;
11-
use p3_batch_stark::config::{observe_base_as_ext, observe_instance_binding};
1212
use p3_uni_stark::{
1313
Domain, Proof, StarkGenericConfig, SymbolicAirBuilder, Val, VerifierConstraintFolder,
1414
get_log_quotient_degree,
@@ -187,7 +187,7 @@ where
187187
Ok(challenges)
188188
}
189189

190-
/// Generates the challenges used in the verification of a multi-STARK proof.
190+
/// Generates the challenges used in the verification of a batch-STARK proof.
191191
pub fn generate_batch_challenges<SC: StarkGenericConfig, A>(
192192
airs: &[A],
193193
config: &SC,
@@ -199,10 +199,10 @@ where
199199
A: Air<SymbolicAirBuilder<Val<SC>>> + for<'a> Air<VerifierConstraintFolder<'a, SC>>,
200200
SC::Pcs: PcsGeneration<SC, <SC::Pcs as Pcs<SC::Challenge, SC::Challenger>>::Proof>,
201201
{
202-
debug_assert_eq!(config.is_zk(), 0, "batch/multi recursion assumes non-ZK");
202+
debug_assert_eq!(config.is_zk(), 0, "batch recursion assumes non-ZK");
203203
if SC::Pcs::ZK {
204204
return Err(GenerationError::InvalidProofShape(
205-
"multi-STARK challenge generation does not support ZK mode",
205+
"batch-STARK challenge generation does not support ZK mode",
206206
));
207207
}
208208

recursion/src/public_inputs.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@
33
44
use alloc::vec::Vec;
55

6+
use p3_batch_stark::BatchProof;
67
use p3_circuit::CircuitBuilder;
78
use p3_commit::Pcs;
89
use p3_field::{BasedVectorSpace, Field, PrimeField64};
9-
use p3_batch_stark::BatchProof;
1010
use p3_uni_stark::{Proof, StarkGenericConfig, Val};
1111

1212
use crate::ProofTargets;

recursion/src/verifier/batch_stark.rs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@ use alloc::vec::Vec;
33
use alloc::{format, vec};
44
use core::marker::PhantomData;
55

6+
use p3_batch_stark::BatchProof;
67
use p3_circuit::CircuitBuilder;
78
use p3_circuit::op::{NonPrimitiveOpConfig, NonPrimitiveOpType};
89
use p3_circuit::utils::ColumnsTargets;
910
use p3_commit::{Pcs, PolynomialSpace};
1011
use p3_field::{BasedVectorSpace, Field, PrimeCharacteristicRing};
11-
use p3_batch_stark::BatchProof;
1212
use p3_uni_stark::{OpenedValues, StarkGenericConfig};
1313
use p3_util::zip_eq::zip_eq;
1414

@@ -31,7 +31,7 @@ type PcsVerifierParams<SC, InputProof, OpeningProof, Comm> =
3131
>>::Domain,
3232
>>::VerifierParams;
3333

34-
/// Opened values for a single STARK instance within the multi-proof.
34+
/// Opened values for a single STARK instance within the batch-proof.
3535
#[derive(Clone)]
3636
pub struct InstanceOpenedValuesTargets<SC: StarkGenericConfig> {
3737
pub trace_local: Vec<Target>,
@@ -40,7 +40,7 @@ pub struct InstanceOpenedValuesTargets<SC: StarkGenericConfig> {
4040
_phantom: PhantomData<SC>,
4141
}
4242

43-
/// Recursive targets for a multi-STARK proof.
43+
/// Recursive targets for a batch-STARK proof.
4444
///
4545
/// The `flattened` field stores the aggregated commitments, opened values, and opening proof in the
4646
/// same layout expected by single-instance PCS logic. The `instances` field retains per-instance
@@ -159,7 +159,7 @@ impl<
159159
}
160160
}
161161

162-
/// Verify a multi-STARK proof inside a recursive circuit.
162+
/// Verify a batch-STARK proof inside a recursive circuit.
163163
pub fn verify_batch_circuit<
164164
A,
165165
SC: StarkGenericConfig,
@@ -191,16 +191,16 @@ where
191191
SC::Challenge: PrimeCharacteristicRing,
192192
<<SC as StarkGenericConfig>::Pcs as Pcs<SC::Challenge, SC::Challenger>>::Domain: Clone,
193193
{
194-
debug_assert_eq!(config.is_zk(), 0, "batch/multi recursion assumes non-ZK");
194+
debug_assert_eq!(config.is_zk(), 0, "batch recursion assumes non-ZK");
195195
if airs.is_empty() {
196196
return Err(VerificationError::InvalidProofShape(
197-
"multi-STARK verification requires at least one instance".to_string(),
197+
"batch-STARK verification requires at least one instance".to_string(),
198198
));
199199
}
200200

201201
if SC::Pcs::ZK {
202202
return Err(VerificationError::InvalidProofShape(
203-
"ZK mode is not supported for multi-STARK recursion".to_string(),
203+
"ZK mode is not supported for batch-STARK recursion".to_string(),
204204
));
205205
}
206206

@@ -231,7 +231,7 @@ where
231231

232232
if commitments_targets.random_commit.is_some() {
233233
return Err(VerificationError::InvalidProofShape(
234-
"Multi-STARK verifier does not support random commitments".to_string(),
234+
"Batch-STARK verifier does not support random commitments".to_string(),
235235
));
236236
}
237237

@@ -277,7 +277,7 @@ where
277277
quotient_degrees.push(quotient_degree);
278278
}
279279

280-
// Challenger initialisation mirrors the native multi-STARK verifier transcript.
280+
// Challenger initialisation mirrors the native batch-STARK verifier transcript.
281281
let mut challenger = CircuitChallenger::<RATE>::new();
282282
let inst_count_target = circuit.alloc_const(
283283
SC::Challenge::from_usize(n_instances),

recursion/tests/fibonacci_batch_stark_prover.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
use p3_baby_bear::{BabyBear, Poseidon2BabyBear};
2+
use p3_batch_stark::{StarkInstance, prove_batch, verify_batch};
23
use p3_challenger::DuplexChallenger;
34
use p3_circuit::CircuitBuilder;
45
use p3_circuit::test_utils::{FibonacciAir, generate_trace_rows};
@@ -8,7 +9,6 @@ use p3_field::extension::BinomialExtensionField;
89
use p3_field::{Field, PrimeCharacteristicRing};
910
use p3_fri::{TwoAdicFriPcs, create_test_fri_params};
1011
use p3_merkle_tree::MerkleTreeMmcs;
11-
use p3_batch_stark::{StarkInstance, prove_batch, verify_batch};
1212
use p3_recursion::pcs::fri::{
1313
FriProofTargets, FriVerifierParams, HashTargets, InputProofTargets, RecExtensionValMmcs,
1414
RecValMmcs, Witness,

0 commit comments

Comments
 (0)