From 863d9a863c962b841364bc7a9c30736c73a3df70 Mon Sep 17 00:00:00 2001 From: wborgeaud Date: Mon, 16 May 2022 20:45:30 +0200 Subject: [PATCH] PR comments --- starky2/src/cross_table_lookup.rs | 12 ++++++------ starky2/src/proof.rs | 6 ++++++ starky2/src/prover.rs | 6 +++--- starky2/src/vanishing_poly.rs | 4 ++-- starky2/src/verifier.rs | 6 +++--- 5 files changed, 20 insertions(+), 14 deletions(-) diff --git a/starky2/src/cross_table_lookup.rs b/starky2/src/cross_table_lookup.rs index 14932ea2..57d84b90 100644 --- a/starky2/src/cross_table_lookup.rs +++ b/starky2/src/cross_table_lookup.rs @@ -44,10 +44,10 @@ impl CrossTableLookup { } } -/// Lookup data for one table. +/// Cross-table lookup data for one table. #[derive(Clone)] pub struct CtlData { - // Challenges used in the lookup argument. + // Challenges used in the argument. pub(crate) challenges: GrandProductChallengeSet, // Vector of `(Z, columns)` where `Z` is a Z-polynomial for a lookup on columns `columns`. pub zs_columns: Vec<(PolynomialValues, Vec)>, @@ -135,7 +135,7 @@ fn partial_products( } #[derive(Clone)] -pub struct CTLCheckVars<'a, F, FE, P, const D2: usize> +pub struct CtlCheckVars<'a, F, FE, P, const D2: usize> where F: Field, FE: FieldExtension, @@ -148,7 +148,7 @@ where } impl<'a, F: RichField + Extendable, const D: usize> - CTLCheckVars<'a, F, F::Extension, F::Extension, D> + CtlCheckVars<'a, F, F::Extension, F::Extension, D> { pub(crate) fn from_proofs>( proofs: &[&StarkProofWithPublicInputs], @@ -221,7 +221,7 @@ impl<'a, F: RichField + Extendable, const D: usize> pub(crate) fn eval_cross_table_lookup_checks( vars: StarkEvaluationVars, - ctl_vars: &[CTLCheckVars], + ctl_vars: &[CtlCheckVars], consumer: &mut ConstraintConsumer

, ) where F: RichField + Extendable, @@ -231,7 +231,7 @@ pub(crate) fn eval_cross_table_lookup_checks, { for lookup_vars in ctl_vars { - let CTLCheckVars { + let CtlCheckVars { local_z, next_z, challenges, diff --git a/starky2/src/proof.rs b/starky2/src/proof.rs index 6cd4fde1..f206f23f 100644 --- a/starky2/src/proof.rs +++ b/starky2/src/proof.rs @@ -142,11 +142,17 @@ pub(crate) struct StarkProofChallengesTarget { /// Purported values of each polynomial at the challenge point. #[derive(Debug, Clone)] pub struct StarkOpeningSet, const D: usize> { + /// Openings of trace polynomials at `zeta`. pub local_values: Vec, + /// Openings of trace polynomials at `g * zeta`. pub next_values: Vec, + /// Openings of permutations and cross-table lookups `Z` polynomials at `zeta`. pub permutation_ctl_zs: Option>, + /// Openings of permutations and cross-table lookups `Z` polynomials at `g * zeta`. pub permutation_ctl_zs_right: Option>, + /// Openings of cross-table lookups `Z` polynomials at `g^-1`. pub ctl_zs_last: Vec, + /// Openings of quotient polynomials at `zeta`. pub quotient_polys: Vec, } diff --git a/starky2/src/prover.rs b/starky2/src/prover.rs index a5f1c6fd..4fc602c1 100644 --- a/starky2/src/prover.rs +++ b/starky2/src/prover.rs @@ -21,7 +21,7 @@ use rayon::prelude::*; use crate::all_stark::{AllStark, CpuStark, KeccakStark, Table}; use crate::config::StarkConfig; use crate::constraint_consumer::ConstraintConsumer; -use crate::cross_table_lookup::{cross_table_lookup_data, CTLCheckVars, CtlData}; +use crate::cross_table_lookup::{cross_table_lookup_data, CtlCheckVars, CtlData}; use crate::permutation::PermutationCheckVars; use crate::permutation::{ compute_permutation_z_polys, get_n_grand_product_challenge_sets, GrandProductChallengeSet, @@ -401,7 +401,7 @@ where .zs_columns .iter() .enumerate() - .map(|(i, (_, columns))| CTLCheckVars:: { + .map(|(i, (_, columns))| CtlCheckVars:: { local_z: permutation_ctl_zs_commitment .unwrap() .get_lde_values_packed(i_start, step)[num_permutation_zs + i], @@ -523,7 +523,7 @@ fn check_constraints<'a, F, C, S, const D: usize>( .zs_columns .iter() .enumerate() - .map(|(iii, (_, columns))| CTLCheckVars:: { + .map(|(iii, (_, columns))| CtlCheckVars:: { local_z: get_comm_values(permutation_ctl_zs_commitment.unwrap(), i) [num_permutation_zs + iii], next_z: get_comm_values(permutation_ctl_zs_commitment.unwrap(), i_next) diff --git a/starky2/src/vanishing_poly.rs b/starky2/src/vanishing_poly.rs index 459c27de..aac8fc80 100644 --- a/starky2/src/vanishing_poly.rs +++ b/starky2/src/vanishing_poly.rs @@ -6,7 +6,7 @@ use plonky2::plonk::config::GenericConfig; use crate::config::StarkConfig; use crate::constraint_consumer::{ConstraintConsumer, RecursiveConstraintConsumer}; -use crate::cross_table_lookup::{eval_cross_table_lookup_checks, CTLCheckVars}; +use crate::cross_table_lookup::{eval_cross_table_lookup_checks, CtlCheckVars}; use crate::permutation::{ eval_permutation_checks, eval_permutation_checks_recursively, PermutationCheckDataTarget, PermutationCheckVars, @@ -19,7 +19,7 @@ pub(crate) fn eval_vanishing_poly, permutation_vars: Option>, - ctl_vars: &[CTLCheckVars], + ctl_vars: &[CtlCheckVars], consumer: &mut ConstraintConsumer

, ) where F: RichField + Extendable, diff --git a/starky2/src/verifier.rs b/starky2/src/verifier.rs index c219dbe4..a5411386 100644 --- a/starky2/src/verifier.rs +++ b/starky2/src/verifier.rs @@ -12,7 +12,7 @@ use plonky2::plonk::plonk_common::reduce_with_powers; use crate::all_stark::{AllStark, CpuStark, KeccakStark, Table}; use crate::config::StarkConfig; use crate::constraint_consumer::ConstraintConsumer; -use crate::cross_table_lookup::{verify_cross_table_lookups, CTLCheckVars}; +use crate::cross_table_lookup::{verify_cross_table_lookups, CtlCheckVars}; use crate::permutation::PermutationCheckVars; use crate::proof::{ AllProof, AllProofChallenges, StarkOpeningSet, StarkProofChallenges, StarkProofWithPublicInputs, @@ -46,7 +46,7 @@ where cross_table_lookups, } = all_stark; - let ctl_vars_per_table = CTLCheckVars::from_proofs( + let ctl_vars_per_table = CtlCheckVars::from_proofs( &all_proof.proofs(), &cross_table_lookups, &ctl_challenges, @@ -85,7 +85,7 @@ pub(crate) fn verify_stark_proof_with_challenges< stark: S, proof_with_pis: &StarkProofWithPublicInputs, challenges: StarkProofChallenges, - ctl_vars: &[CTLCheckVars], + ctl_vars: &[CtlCheckVars], config: &StarkConfig, ) -> Result<()> where