-
Notifications
You must be signed in to change notification settings - Fork 100
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
Re-use ECC sinsemilla
code
#7801
Comments
If ECC do end up splitting sinsemilla into its own crate, they will probably use their implementation, which has code for Zero-Knowledge Proof Circuits, and standard Rust: I think we shouldn't re-implement our own cryptographic functions when they are already available in an audited and tested library. That increases our audit and maintenance load, and the risk of bugs. We can remove our sinsemilla implementation by replacing We need to completely replace the type to avoid expensive cryptographic checks during type conversions. But we can create a type alias to |
sinsemilla
code to its own project/crate ?sinsemilla
code
@natalieesk this might be somewhat related to #8155 |
related to #8155 |
Also related to zcash/halo2#827; we want to make our non-circuit Sinsemilla code usable as a dependency without needing the whole of |
I noticed we have
sinsemilla
hash function code in Zebra: https://github.com/ZcashFoundation/zebra/blob/main/zebra-chain/src/orchard/sinsemilla.rs and just 1 call tosinsemilla_hash()
from one place (https://github.com/ZcashFoundation/zebra/blob/main/zebra-chain/src/orchard/tree.rs#L71).I was wondering if we should move the sinsemilla code into its own crate/project. I noticed a placeholder crate exist (https://crates.io/crates/sinsemilla) with @str4d as the owner. We can maybe ask permissions, push the code there unless there are other plans for the placeholder.
What other people think?
The text was updated successfully, but these errors were encountered: