arkworks-rs / poly-commit

A Rust library for polynomial commitments
Apache License 2.0
309 stars 123 forks source link

Add Ligero univariate and multilinear PCS #132

Open mmagician opened 8 months ago

mmagician commented 8 months ago

Description

Supersedes https://github.com/arkworks-rs/poly-commit/pull/125: we have refactored our original (univariate) Ligero codebase to support other linear code PC schemes (multilinear Ligero, Brakedown). This requires the implementers of new linear code schemes to implement LinearEncode and LinCodeParametersInfo, where most methods are trivial and the core logic contained in encode. Perhaps there's some simplifications to be done to the traits still.

closes: https://github.com/arkworks-rs/poly-commit/pull/125


Before we can merge this PR, please make sure that all the following items have been checked off. If any of the checklist items are not applicable, please leave them but write a little note why.

Pratyush commented 5 months ago

@mmagician what's the status of this? Sorry for the delay on the review, but happy to merge it to avoid stagnation.

Antonio95 commented 1 month ago

@mmagician @autquis @Pratyush I have just pushed a couple of commits, the most relevant of which is the following: https://github.com/arkworks-rs/poly-commit/pull/132/commits/8d356dbc24bc47201133a6c09e4f09d007dfb0ed. This fixes a small issue we noticed while going through the verification code recently.

However, the no_std check fails. I am unsure if this is caused by the Sync trait bound I have added: https://github.com/arkworks-rs/poly-commit/pull/132/commits/265e261101f0b03e2a4a1ba99948d71863f9d6e6.

Adding this bound was, as far as I can tell, necessary to get everything building.

Any ideas on what is happening/how it should be fixed?

autquis commented 1 month ago

@Antonio95 I added ark-std to the patch due to arkworks-rs/std#48 .