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

Why change the assignment of unusable rows for advice columns? #48

Open
cx19981114 opened this issue Jun 21, 2023 · 1 comment
Open

Comments

@cx19981114
Copy link

cx19981114 commented Jun 21, 2023

Now in the advice columns, the blinding factors assignment to unusable rows is changed to a value of Scalar::one for the last row

In my understanding, the blinding factors are added to ensure zero knowledge. Is it possible to modify the deterministic assignment to the last line to ensure zero knowledge?or is there some other purpose?

In Zcash
https://github.com/zcash/halo2/blob/76b3f892a9d598923bbb5a747701fff44ae4c0ea/halo2_proofs/src/plonk/prover.rs#L294-L298

In Scroll-tech

// Add blinding factors to advice columns
for advice_values in &mut advice_values {
//for cell in &mut advice_values[unusable_rows_start..] {
//*cell = C::Scalar::random(&mut rng);
//*cell = C::Scalar::one();
//}
let idx = advice_values.len() - 1;
advice_values[idx] = Scheme::Scalar::one();
}

modify in this commit 4b53eee

@kunxian-xia
Copy link

In the scenario of zkEVM, we do not rely too much on the zk property. Setting blinding factors to zeros can making the proof more deterministic, therefore make it more easier to debug the cpu prover and gpu prover (when there are inconsistency between them).

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