Jolt-based sumcheck prove round impl #116
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Jolt-based Sumcheck implementation. Adapted to prove single rounds, following our current logic. Also adapted to run serialized.
Can be employed by enabling the
jolt-sumcheck
feature.Provides a
comb_func
to use other MLE combination schemes, other than the current product-based implementation.comb_func
is currently employed as an argument forprove_as_subprotocol
if the featurejolt-sumcheck
is enabled. While it could be associated withVirtualPolynomial
, adding it there requires dynamic dispatch (or an additional template) which adds a bit of complexity.comb_func
also uses as an argument theProverState
which may provide the user access to some values which evolve throughout the Sumcheck rounds.If
comb_func
proves to be useful, we can think of a more suitable interface for it.Compared to the current Sumcheck implementation, this one performs 1-5% better serialized and 1-4% worse parallelized.
VirtualPolynomial
.