You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The SumcheckEngine trait provides a useful abstraction for describing Sumcheck claims, and the corresponding prove_helper method in ppsnark.rs provides a useful generic Sumcheck prover.
SumcheckEngine::prove_batch
This method should take as input a heterogeneous list of SumcheckEngine implementations of possibly different sizes, and create a batched Sumcheck proof for all claims.
Dynamic dispatch may be fine in this situation, since all the "hot-loops" are implemented by each SumcheckEngine.
SumcheckEngine for evaluating a polynomial
We use Sumcheck to check the multi-linear polynomial in several places
batch_eval_{prove, verify}
The second claim in InnerSumcheckInstance of ppsnark.rs
If we split the InnerSumcheckInstance, we can implement the second claim using this instance, which can be reused by both SNARKs.
InnerSumcheckInstance
Both direct and pre-processing SNARKs need to check $Ax \cdot Bc - (u\cdot Cz - E) = 0$. In the literature, this is often referred to as the "row-check" for R1CS. Both implementation should use the same SumcheckEngine implementation to prove the claim.
SumcheckEngine trait
It would be very practical if the trait exposed num_remaining_variables to indicate how many variables are left to prove. We use this quantity to handle batching.
The text was updated successfully, but these errors were encountered:
The
SumcheckEngine
trait provides a useful abstraction for describing Sumcheck claims, and the correspondingprove_helper
method inppsnark.rs
provides a useful generic Sumcheck prover.SumcheckEngine::prove_batch
This method should take as input a heterogeneous list of
SumcheckEngine
implementations of possibly different sizes, and create a batched Sumcheck proof for all claims.Dynamic dispatch may be fine in this situation, since all the "hot-loops" are implemented by each SumcheckEngine.
SumcheckEngine
for evaluating a polynomialWe use Sumcheck to check the multi-linear polynomial in several places
batch_eval_{prove, verify}
InnerSumcheckInstance
ofppsnark.rs
If we split the
InnerSumcheckInstance
, we can implement the second claim using this instance, which can be reused by both SNARKs.InnerSumcheckInstance
Both direct and pre-processing SNARKs need to check$Ax \cdot Bc - (u\cdot Cz - E) = 0$ . In the literature, this is often referred to as the "row-check" for R1CS. Both implementation should use the same
SumcheckEngine
implementation to prove the claim.SumcheckEngine
traitIt would be very practical if the trait exposed
num_remaining_variables
to indicate how many variables are left to prove. We use this quantity to handle batching.The text was updated successfully, but these errors were encountered: