Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
bb::TranslationData< Transcript > Class Template Reference

A class designed to accept the ECCVM Transcript Polynomials, concatenate their masking terms in Lagrange basis over the SmallSubgroup, and commit to the concatenation. More...

#include <eccvm_translation_data.hpp>

Public Types

using Flavor = ECCVMFlavor
 
using FF = typename Flavor::FF
 
using BF = typename Flavor::BF
 
using Commitment = typename Flavor::Commitment
 
using CommitmentKey = typename Flavor::CommitmentKey
 
using Polynomial = typename Flavor::Polynomial
 

Public Member Functions

 TranslationData (const RefVector< Polynomial > &transcript_polynomials, const std::shared_ptr< Transcript > &transcript, CommitmentKey &commitment_key)
 Given masked transcript_polynomials \( \tilde{T}_i(X) = T_i(X) + X^{n - 1 - \text{NUM_DISABLED_ROWS_IN_SUMCHECK}} \cdot m_i(X) \), for \( i = 0, \ldots, \text{NUM_TRANSLATION_EVALUATIONS}-1\), we extract and concatenate their masking terms \( m_i\). Let \( M(X) \) be the polynomial whose first \( \text{NUM_DISABLED_ROWS_IN_SUMCHECK}* \text{NUM_TRANSLATION_EVALUATIONS}\) Lagrange coefficients over \( H \) are given by the concatenation of \( m_i \) padded by zeroes. To mask \( M(X) \) and commit to the masked polynomial, we need to compute its coefficients in the monomial basis.
 
void compute_concatenated_polynomials (const RefVector< Polynomial > &transcript_polynomials)
 Let \( T = NUM_TRANSLATION_EVALUATIONS \) and let \( m_0, ..., m_{T-1}\) be the vectors of last \( \text{NUM_DISABLED_ROWS_IN_SUMCHECK} \) coeffs in each transcript poly \( \tilde{T}_i \), we compute the concatenation \( (m_0 || ... || m_{T-1})\) in Lagrange and monomial basis and mask the latter.
 

Public Attributes

Polynomial concatenated_polynomial_lagrange
 
Polynomial masked_concatenated_polynomial
 
std::array< FF, SUBGROUP_SIZEinterpolation_domain
 

Static Public Attributes

static constexpr size_t SUBGROUP_SIZE = Flavor::Curve::SUBGROUP_SIZE
 
static constexpr size_t WITNESS_MASKING_TERM_LENGTH = 2
 
static constexpr size_t MASKED_CONCATENATED_WITNESS_LENGTH = SUBGROUP_SIZE + WITNESS_MASKING_TERM_LENGTH
 

Detailed Description

template<typename Transcript>
class bb::TranslationData< Transcript >

A class designed to accept the ECCVM Transcript Polynomials, concatenate their masking terms in Lagrange basis over the SmallSubgroup, and commit to the concatenation.

Template Parameters
Transcript

Definition at line 20 of file eccvm_translation_data.hpp.

Member Typedef Documentation

◆ BF

template<typename Transcript >
using bb::TranslationData< Transcript >::BF = typename Flavor::BF

Definition at line 24 of file eccvm_translation_data.hpp.

◆ Commitment

template<typename Transcript >
using bb::TranslationData< Transcript >::Commitment = typename Flavor::Commitment

Definition at line 25 of file eccvm_translation_data.hpp.

◆ CommitmentKey

template<typename Transcript >
using bb::TranslationData< Transcript >::CommitmentKey = typename Flavor::CommitmentKey

Definition at line 26 of file eccvm_translation_data.hpp.

◆ FF

template<typename Transcript >
using bb::TranslationData< Transcript >::FF = typename Flavor::FF

Definition at line 23 of file eccvm_translation_data.hpp.

◆ Flavor

Definition at line 22 of file eccvm_translation_data.hpp.

◆ Polynomial

Definition at line 27 of file eccvm_translation_data.hpp.

Constructor & Destructor Documentation

◆ TranslationData()

template<typename Transcript >
bb::TranslationData< Transcript >::TranslationData ( const RefVector< Polynomial > &  transcript_polynomials,
const std::shared_ptr< Transcript > &  transcript,
CommitmentKey commitment_key 
)
inline

Given masked transcript_polynomials \( \tilde{T}_i(X) = T_i(X) + X^{n - 1 - \text{NUM_DISABLED_ROWS_IN_SUMCHECK}} \cdot m_i(X) \), for \( i = 0, \ldots, \text{NUM_TRANSLATION_EVALUATIONS}-1\), we extract and concatenate their masking terms \( m_i\). Let \( M(X) \) be the polynomial whose first \( \text{NUM_DISABLED_ROWS_IN_SUMCHECK}* \text{NUM_TRANSLATION_EVALUATIONS}\) Lagrange coefficients over \( H \) are given by the concatenation of \( m_i \) padded by zeroes. To mask \( M(X) \) and commit to the masked polynomial, we need to compute its coefficients in the monomial basis.

An object of this class is fed to the SmallSubgroupIPA prover to establish the claims about the inner product of Lagrange coefficients of \( M \) against the vectors of the following form. \((1, 1, x , x^2 , x^{\text{NUM_DISABLED_ROWS_IN_SUMCHECK} - 1}, v , v\cdot x ,\ldots, ... , v^{T - 1}, v^{T-1} x , v^{T-1} x^2 , v^{T-1} x^{\text{NUM_DISABLED_ROWS_IN_SUMCHECK} - 1} ).\)

Parameters
transcript_polynomials
transcript
commitment_key

Definition at line 60 of file eccvm_translation_data.hpp.

Member Function Documentation

◆ compute_concatenated_polynomials()

template<typename Transcript >
void bb::TranslationData< Transcript >::compute_concatenated_polynomials ( const RefVector< Polynomial > &  transcript_polynomials)
inline

Let \( T = NUM_TRANSLATION_EVALUATIONS \) and let \( m_0, ..., m_{T-1}\) be the vectors of last \( \text{NUM_DISABLED_ROWS_IN_SUMCHECK} \) coeffs in each transcript poly \( \tilde{T}_i \), we compute the concatenation \( (m_0 || ... || m_{T-1})\) in Lagrange and monomial basis and mask the latter.

Parameters
transcript_polynomials

Definition at line 91 of file eccvm_translation_data.hpp.

Member Data Documentation

◆ concatenated_polynomial_lagrange

template<typename Transcript >
Polynomial bb::TranslationData< Transcript >::concatenated_polynomial_lagrange

Definition at line 35 of file eccvm_translation_data.hpp.

◆ interpolation_domain

template<typename Transcript >
std::array<FF, SUBGROUP_SIZE> bb::TranslationData< Transcript >::interpolation_domain

Definition at line 41 of file eccvm_translation_data.hpp.

◆ masked_concatenated_polynomial

template<typename Transcript >
Polynomial bb::TranslationData< Transcript >::masked_concatenated_polynomial

Definition at line 38 of file eccvm_translation_data.hpp.

◆ MASKED_CONCATENATED_WITNESS_LENGTH

template<typename Transcript >
constexpr size_t bb::TranslationData< Transcript >::MASKED_CONCATENATED_WITNESS_LENGTH = SUBGROUP_SIZE + WITNESS_MASKING_TERM_LENGTH
staticconstexpr

Definition at line 32 of file eccvm_translation_data.hpp.

◆ SUBGROUP_SIZE

template<typename Transcript >
constexpr size_t bb::TranslationData< Transcript >::SUBGROUP_SIZE = Flavor::Curve::SUBGROUP_SIZE
staticconstexpr

Definition at line 28 of file eccvm_translation_data.hpp.

◆ WITNESS_MASKING_TERM_LENGTH

template<typename Transcript >
constexpr size_t bb::TranslationData< Transcript >::WITNESS_MASKING_TERM_LENGTH = 2
staticconstexpr

Definition at line 31 of file eccvm_translation_data.hpp.


The documentation for this class was generated from the following file: