Integration of the Scroll’s LogUp Lookup Protocol Into the PSE’s Halo2 Version 0.3.0 #18
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.
The majority of the new code has been taken from the following sources:
https://github.com/scroll-tech/halo2/pull/49/files
https://github.com/scroll-tech/halo2/pull/71/files
Since the code was integrated sequentially, the source of the code borrowed at the second stage is convenient to observe via scroll-mv-lookup...taikoxyz:halo2:scroll-logup-on-mvlookup
Also thanks to @jonathanpwang for warning about the unexpected problem described here: #16 (comment)
In order to solve it, his code was borrowed from this PR:
axiom-crypto@45e940c
The mathematical apparatus of the integrated lookup protocol can be found here:
https://www.overleaf.com/project/64f65f61d1e4e6f80b2302c6
Here is a comment for better understanding this paper:
scroll-tech#49 (comment)
PS The code for testing the prover, which uses the IPA polynomial commitment scheme, in halo2/halo2_proofs/tests/plonk_api.rs (see "fn test_plonk_api_ipa()") has been commented, because this test is not passed successfully and the Taiko's Halo2 uses the KZG commitment scheme instead of the IPA one. This problem is not specific for this PR, since the corresponding test was removed both by Axiom ( https://github.com/axiom-crypto/halo2/blob/main/halo2_proofs/tests/plonk_api.rs ) and Scroll ( https://github.com/scroll-tech/halo2/blob/develop/halo2_proofs/tests/plonk_api.rs ). The cause of this problem has not been found, since the corresponding research would be insufficiently practical in the current context.