-
Notifications
You must be signed in to change notification settings - Fork 240
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
dense_mlpoly.rs: Fix manipulation of evaluation vector Z by bound functions #283
Conversation
They left the Z vector enlarged and that was not working well with evaluate()
@asn-d6 is attempting to deploy a commit to the Nexus Labs Team on Vercel. A member of the Team first needs to authorize it. |
@asn-d6 thanks for the PR. We'll take a look internally, but I should note as well that this Spartan code is drawn from MSR's reference implementation so you might want to also send this PR upstream there. EDIT: There also appears to be a failing check in the CI. |
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
Good point. Opened a PR upstream here: microsoft/Spartan#73 Also pushed a commit that fixes the CI, I think. |
Tentatively, as this appears to be a completeness issue rather than a soundness or zero-knowledge issue, I'm going to hold on it for the upstream PR (which is to an actively maintained repo) to be resolved, as we'd like to retain general parity with the reference implementation. |
Upstream PR got merged for what it's worth! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Approved due to upstream merge.
The bound functions were folding the
Z
vector on itself but were not actually truncating it (even though they were changingself.len
).Hence, if you called a bound function and then
evaluate()
it would assert becauseevaluate()
checks the size of theZ
vector.