-
Notifications
You must be signed in to change notification settings - Fork 7
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
Create a crate for EdDSA Poseidon (BabyJubjub curve) #9
Comments
Hey @arnaucube, may I know if you're still maintaining Might you be interested in including them in the ZK-Kit package set? You would remain the author ofc. For context. ZK-Kit is a collective effort of PSE devs that aims to provide a set of reusable libraries in a context where standards on code quality, documentation, test coverage, and audits are guaranteed. |
Hi, sure, they both are compatible with circomlib's version (also with circomlibjs's version). If useful, there is also other a merkletree implementation in Go that is compatible with circomlib's sparsemerkletree version, with the main feature (appart from full compatibility) that it parallelizes by CPUs so it goes faster than the js one (eg. 2m09s vs 0.436s adding 10k leafs): https://github.com/vocdoni/arbo . Regarding being maintained, the mentioned repos are not actively being developed since they reached the desired features, but if there are future fixes to potential bugs they will be taken care of. |
Another way might be just using arkworks backend as in here https://github.com/kilic/arkeddsa/ both for poseidon and jubjub |
@kilic interesting. Is Poseidon compatible with the Iden3 version? |
Not as it is in kilic/arkeddsa but so close
|
oh right! Agree with @kilic ^^, if you can do with with arkworks it would be much better than depending on the initially mentioned libs, less dependencies to maintain, and more compatible with other projects (in the arkworks ecosystem). |
Thank you guys 🙏🏽 I'll leave this issue open for anyone who wants to implement it and follow your suggestions. |
@cedoor I would like to take this up |
@1010adigupta Sure, I'll assign this issue to you then :) |
@1010adigupta Are you still working on this? (If not we may assign it to someone else) |
yes, you may assign it to someone else, got busy with some other stuff |
Hey @ozgurarmanc, ofc 👍🏽 |
I can take a crack at picking this one up if you'd like... |
@Some-of-the-things ofc, I'll assign it to you 👍🏽 |
I had a look at it last week, and here are my two cents:
Actually the main problem compatibility problem with kilic/arkeddsa is not the poseidon hash, rather the blake digest circom uses for the signatures. blake-hash, which is also used in babyjubjub-rs, depends on digest v0.9 while arkeddsa expects v0.10. The traits change quite a bit between these two versions. I went on and try to update the |
Describe the package you'd like
ZK-Kit already provides a package to generate EdDSA keys that uses Poseidon hashes and is based on the BabyJubjub elliptic curve. The Rust crate should be compatible with the JS version.
Possible dependencies:
It is worth checking whether an implementation in Rust already exists.
The text was updated successfully, but these errors were encountered: