Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[3/4 EIP 4844 in inserter circuit] Add gadget to polynomial evaluation using barycentric formula #13

Merged
merged 2 commits into from
Jun 21, 2024

Conversation

wzmuda
Copy link
Collaborator

@wzmuda wzmuda commented Jun 13, 2024

This is patch 3/4 of the EIP 4844 in inserter circuit

The new barycentric package adds CalculateBarycentricFormula. The function implements the evaluation of a polynomial in evaluation form at a point outside the domain, using barycentric interpolation. This function follows implementation by Dankrad Feist, as described in his blog post: https://dankradfeist.de/ethereum/2021/06/18/pcs-multiproofs.html.

Another helper package is added - field_utils. It is a place for helper gadgets for field elements manipulations. It contains one function Exp to calculate field element's power of n, where n is an integer (not a field element).

@wzmuda wzmuda requested a review from kustosz June 13, 2024 22:01
@wzmuda wzmuda force-pushed the wz/barycentric-pr branch from 7ba6e3e to 432077c Compare June 20, 2024 14:31
@wzmuda wzmuda changed the base branch from next to wz/keccak256 June 20, 2024 14:31
The new `barycentric` package adds `CalculateBarycentricFormula`. The function
implements the evaluation of a polynomial in evaluation form at a point outside
the domain, using barycentric interpolation. This function follows
implementation by Dankrad Feist, as described in his blog post:
https://dankradfeist.de/ethereum/2021/06/18/pcs-multiproofs.html.

Another helper package is added - `field_utils`. It is a place for helper
gadgets for field elements manipulations. It contains one function `Exp`
to calculate field element's power of n, where n is an integer (not
a field element).

Signed-off-by: Wojciech Zmuda <[email protected]>
@wzmuda wzmuda force-pushed the wz/barycentric-pr branch from 432077c to 95aa6a3 Compare June 20, 2024 20:19
@wzmuda wzmuda changed the base branch from wz/keccak256 to next June 20, 2024 20:37
prover/barycentric/barycentric.go Outdated Show resolved Hide resolved
Co-authored-by: Marcin Kostrzewa <[email protected]>
@wzmuda wzmuda merged commit 4245085 into next Jun 21, 2024
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants