-
Notifications
You must be signed in to change notification settings - Fork 144
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
Cyclone MSM panic #153
Comments
Looks like it is panicking in the Line 88 in 8af4f1e
|
Didn't check but from the name
and seeing that it's batch inversion that fails, I assume it's batch inversion that assumes no point has itself or its inverse in the same batch. edit: see my review comment #130 (comment) |
So this means |
Good question. In Constantine I made sure to handle all edge cases so I didn't have to worry about this. In Barretenberg they do make the distinction: https://github.com/AztecProtocol/barretenberg/blob/31ec608/cpp/src/barretenberg/ecc/scalar_multiplication/scalar_multiplication.cpp#L310-L441. |
The implementation of fn batch_add is not entirely correct. The EC addition formulas implementation is not complete: the special cases (point doubling and adding the inverse point) were not taken into account. Thus, for certain inputs, fn best_multiexp_independent_points panics. To create the test showing the problem, replace the lines 533-542 of fn run_msm_cross with the following code:
|
I tried to use the msm bench
cargo bench --bench msm
but switchingbest_multiexp
forbest_multiexp_independent_points
but there is a panic.Benchmarking code here: https://github.com/privacy-scaling-explorations/halo2curves/compare/main...axiom-crypto:halo2curves:bench/cyclone?expand=1
Is there some hidden assumptions on the coeffs/bases allowed to be used here?
The text was updated successfully, but these errors were encountered: