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

feat(commitment): add KZG commitment #317

Open
chaosma opened this issue Jul 26, 2024 · 3 comments
Open

feat(commitment): add KZG commitment #317

chaosma opened this issue Jul 26, 2024 · 3 comments

Comments

@chaosma
Copy link
Collaborator

chaosma commented Jul 26, 2024

Currently, we are using pedersen commitment scheme. To fold circuit that based on kzg commitment like zkEVM circuit, we need also support. the kzg commitment

@chaosma
Copy link
Collaborator Author

chaosma commented Jul 26, 2024

Here is the background of this issue:

When we create prover object for zkevm circuit:

https://github.com/scroll-tech/scroll-prover/blob/main/integration/tests/inner_tests.rs#L18

It will call this function:

https://github.com/scroll-tech/zkevm-circuits/blob/develop/prover/src/common/prover.rs#L34

As we can see that the parameter object is a binary file encoding information of BTreeMap<u32, ParamsKZG<Bn256>>.And it only accepts KZG format.

As for Sirius, we will do something similar that create a Sirius prover from these parameters.

@cyphersnake

@cyphersnake
Copy link
Collaborator

pub fn default_value();
pub fn len() -> usize;
pub fn setup(...) -> Self;
pub fn commit(...) -> Result<C, Error>

@chaosma
Copy link
Collaborator Author

chaosma commented Jul 29, 2024

After I looked into detail, the kzg commitment is used in snark-verifier. As for folding, we can still use pederson commitment. While we can add kzg commitment feature, it is not urgent right now. @cyphersnake

@cyphersnake cyphersnake removed their assignment Jul 29, 2024
@cyphersnake cyphersnake modified the milestone: zk-evm Jul 30, 2024
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

No branches or pull requests

2 participants