barretenberg
Loading...
Searching...
No Matches
Classes | Typedefs | Functions
proof_system::honk::pcs::shplonk Namespace Reference

Reduces multiple claims about commitments, each opened at a single point into a single claim for a single polynomial opened at a single point. More...

Classes

struct  ProverOutput
 Prover output (claim=([G], r, 0), witness = G(X), proof = [Q]) that can be passed on to a univariate opening protocol. More...
 
class  ShplonkProver_
 Shplonk Prover. More...
 
class  ShplonkTest
 
class  ShplonkVerifier_
 Shplonk Verifier. More...
 

Typedefs

template<typename Curve >
using OutputWitness = barretenberg::Polynomial< typename Curve::ScalarField >
 Polynomial G(X) = Q(X) - ∑ₖ ẑₖ(r)⋅( Bₖ(X) − Tₖ(z) ), where Q(X) = ∑ₖ ( Bₖ(X) − Tₖ(X) ) / zₖ(X)
 
using CurveTypes = ::testing::Types< curve::BN254, curve::Grumpkin >
 

Functions

 TYPED_TEST_SUITE (ShplonkTest, CurveTypes)
 
 TYPED_TEST (ShplonkTest, ShplonkSimple)
 

Detailed Description

Reduces multiple claims about commitments, each opened at a single point into a single claim for a single polynomial opened at a single point.

We use the following terminology:

The challenges are ρ (batching) and r (random evaluation).

Typedef Documentation

◆ OutputWitness

template<typename Curve >
using proof_system::honk::pcs::shplonk::OutputWitness = typedef barretenberg::Polynomial<typename Curve::ScalarField>

Polynomial G(X) = Q(X) - ∑ₖ ẑₖ(r)⋅( Bₖ(X) − Tₖ(z) ), where Q(X) = ∑ₖ ( Bₖ(X) − Tₖ(X) ) / zₖ(X)

Template Parameters
CurveEC parameters