Skip to content

Commit

Permalink
doc: add comments for verifier challenge scalars
Browse files Browse the repository at this point in the history
  • Loading branch information
guorong009 committed Dec 6, 2024
1 parent 0661f46 commit 652412b
Showing 1 changed file with 15 additions and 0 deletions.
15 changes: 15 additions & 0 deletions halo2_backend/src/plonk.rs
Original file line number Diff line number Diff line change
Expand Up @@ -382,22 +382,37 @@ impl<C: CurveAffine> VerifyingKey<C> {
}
}

/// Verifier challenge value, used to keep lookup columns linearly independent
///
/// Ref: https://zcash.github.io/halo2/design/proving-system/circuit-commitments.html
#[derive(Clone, Copy, Debug)]
pub(crate) struct Theta;
pub(crate) type ChallengeTheta<F> = ChallengeScalar<F, Theta>;

/// Verifier challenge value, used to commit permutation polynomials
///
/// Ref: https://zcash.github.io/halo2/design/proving-system/permutation.html
#[derive(Clone, Copy, Debug)]
pub(crate) struct Beta;
pub(crate) type ChallengeBeta<F> = ChallengeScalar<F, Beta>;

/// Verifier challenge value, used to commit permutation polynomials
///
/// Ref: https://zcash.github.io/halo2/design/proving-system/permutation.html
#[derive(Clone, Copy, Debug)]
pub(crate) struct Gamma;
pub(crate) type ChallengeGamma<F> = ChallengeScalar<F, Gamma>;

/// Verifier challenge value, used to build quotient polynomial
///
/// Ref: https://zcash.github.io/halo2/design/proving-system/vanishing.html
#[derive(Clone, Copy, Debug)]
pub(crate) struct Y;
pub(crate) type ChallengeY<F> = ChallengeScalar<F, Y>;

/// Verifier challenge value, used for multipoint opening argument
///
/// Ref: https://zcash.github.io/halo2/design/proving-system/multipoint-opening.html
#[derive(Clone, Copy, Debug)]
pub(crate) struct X;
pub(crate) type ChallengeX<F> = ChallengeScalar<F, X>;

0 comments on commit 652412b

Please sign in to comment.