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

<./rust-arkworks> is over generalized #88

Open
skaunov opened this issue Feb 2, 2024 · 3 comments
Open

<./rust-arkworks> is over generalized #88

skaunov opened this issue Feb 2, 2024 · 3 comments

Comments

@skaunov
Copy link
Collaborator

skaunov commented Feb 2, 2024

The crate is quite complex and I fail to see any reason behind it. It offers a complex trait, but its type system requires further development to be really useful. (And error handling isn't well-compatible with other crates.) It's very generic over curves and its generators, but the only curve other implementations support is deprecated, and I can't find a case when another curve would be plugged into it.

I well might be just fail to see the big idea though. @weijiekoh , could you explain these since I struggled to pick-up the reasons from code but it doesn't add up well in my mind. =(

My current proposal is to ditch the defined trait, simplify few places, and decide on the level of generality. If we don't expect no other curves for PLUME in foreseeable future then further simplify to make it concrete, if do expect then [try] to preserve this part.
[try]: deprecation of the curve definition makes this more a grounding and reference work (than just use) until the whole thing isn't maintained to be compatible with current arkworks version

@skaunov
Copy link
Collaborator Author

skaunov commented Feb 2, 2024

(tried to make simplification while straightening Error, but sunk there, the last straw was separate struct Parameters)

@weijiekoh
Copy link
Collaborator

Hi! The original code I wrote was meant to be a prototype, and I didn’t have production use in mind. As such it would be best to decide how to move forward on your own terms and there is no need to follow my code :)

@skaunov
Copy link
Collaborator Author

skaunov commented Feb 10, 2024

(just a small note as reminder when this will be in progress)

feels like affine_to_bytes should return [u8; 33]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: No status
Development

No branches or pull requests

2 participants