◆ ECCVMProver_()
template<ECCVMFlavor Flavor>
| proof_system::honk::ECCVMProver_< Flavor >::ECCVMProver_ |
( |
const std::shared_ptr< ProvingKey > & |
input_key, |
|
|
const std::shared_ptr< PCSCommitmentKey > & |
commitment_key, |
|
|
const std::shared_ptr< Transcript > & |
transcript = std::make_shared<Transcript>() |
|
) |
| |
|
explicit |
Create ECCVMProver_ from proving key, witness and manifest.
- Parameters
-
| input_key | Proving key. |
| input_manifest | Input manifest |
- Template Parameters
-
◆ execute_final_pcs_round()
template<ECCVMFlavor Flavor>
- Compute final PCS opening proof:
- For KZG, this is the quotient commitment [W]_1
- For IPA, the vectors L and R
◆ execute_grand_product_computation_round()
template<ECCVMFlavor Flavor>
Compute permutation and lookup grand product polynomials and commitments.
◆ execute_log_derivative_commitments_round()
template<ECCVMFlavor Flavor>
Compute sorted witness-table accumulator.
◆ execute_pcs_evaluation_round()
template<ECCVMFlavor Flavor>
- Do Fiat-Shamir to get "r" challenge
- Compute remaining two partially evaluated Fold polynomials Fold_{r}^(0) and Fold_{-r}^(0).
- Compute and aggregate opening pairs (challenge, evaluation) for each of d Fold polynomials.
- Add d-many Fold evaluations a_i, i = 0, ..., d-1 to the transcript, excluding eval of Fold_{r}^(0)
◆ execute_preamble_round()
template<ECCVMFlavor Flavor>
Add circuit size, public input size, and public inputs to transcript.
◆ execute_relation_check_rounds()
template<ECCVMFlavor Flavor>
Run Sumcheck resulting in u = (u_1,...,u_d) challenges and all evaluations at u being calculated.
◆ execute_shplonk_batched_quotient_round()
template<ECCVMFlavor Flavor>
- Do Fiat-Shamir to get "nu" challenge.
- Compute commitment [Q]_1
◆ execute_shplonk_partial_evaluation_round()
template<ECCVMFlavor Flavor>
- Do Fiat-Shamir to get "z" challenge.
- Compute polynomial Q(X) - Q_z(X)
◆ execute_transcript_consistency_univariate_opening_round()
template<ECCVMFlavor Flavor>
Batch open the transcript polynomials as univariates for Translator consistency check TODO(#768): Find a better way to do this. See issue for details.
- Template Parameters
-
◆ execute_univariatization_round()
template<ECCVMFlavor Flavor>
- Get rho challenge
- Compute d+1 Fold polynomials and their evaluations.
◆ execute_wire_commitments_round()
template<ECCVMFlavor Flavor>
Compute commitments to the first three wires.
The documentation for this class was generated from the following files: