insertion_circuit: use versioned KZG hash #17
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.
As per the EIP-4844 specs, KZG commitment should not be passed as raw
bytes. Instead, a versioned hash of the commitment should be used.
Implement the hashing function according to the specs and apply it on
the commitment. Use the hash instead of the raw commitment for
evaluation point calculation and pass the hash to the circuit instead.
Reduce the evaluation point value at the input to the circuiut as an
optimization, to avoid passing around large values.
Introduce relevant changes in the insertion circiut test as well as the
integration test and the prover itself. Export the BN254 reduction
function to the circuit utils file, as now it's used in the integration
test, which is outside of the prover package.