|
| static void | compute_opening_proof (std::shared_ptr< CK > ck, const OpeningPair< Curve > &opening_pair, const Polynomial &polynomial, const std::shared_ptr< BaseTranscript > &prover_trancript) |
| | Computes the KZG commitment to an opening proof polynomial at a single evaluation point.
|
| |
| static bool | verify (const std::shared_ptr< VK > &vk, const OpeningClaim< Curve > &claim, const std::shared_ptr< BaseTranscript > &verifier_transcript) |
| | Computes the KZG verification for an opening claim of a single polynomial commitment.
|
| |
| static std::array< GroupElement, 2 > | compute_pairing_points (const OpeningClaim< Curve > &claim, const auto &verifier_transcript) |
| | Computes the input points for the pairing check needed to verify a KZG opening claim of a single polynomial commitment. This reduction is non-interactive and always succeeds.
|
| |
◆ compute_opening_proof()
template<typename Curve >
Computes the KZG commitment to an opening proof polynomial at a single evaluation point.
- Parameters
-
| ck | The commitment key which has a commit function, the srs and pippenger_runtime_state |
| opening_pair | OpeningPair = {r, v = p(r)} |
| polynomial | The witness whose opening proof needs to be computed |
| prover_transcript | Prover transcript |
◆ compute_pairing_points()
template<typename Curve >
Computes the input points for the pairing check needed to verify a KZG opening claim of a single polynomial commitment. This reduction is non-interactive and always succeeds.
This is used in the recursive setting where we want to "aggregate" proofs, not verify them.
- Parameters
-
- Returns
- {P₀, P₁} where
- P₀ = C − v⋅[1]₁ + r⋅[W(x)]₁
- P₁ = [W(x)]₁
◆ verify()
template<typename Curve >
Computes the KZG verification for an opening claim of a single polynomial commitment.
- Parameters
-
| vk | is the verification key which has a pairing check function |
| claim | OpeningClaim ({r, v}, C) |
- Returns
- e(P₀,[1]₁)e(P₁,[x]₂)≡ [1]ₜ where
- P₀ = C − v⋅[1]₁ + r⋅[x]₁
- P₁ = [Q(x)]₁
The documentation for this class was generated from the following file:
- src/barretenberg/commitment_schemes/kzg/kzg.hpp