Open GhostOfGauss opened 2 years ago
Is this PR ready for review @GhostOfGauss? If so, please convert from draft.
No, not ready yet
@GhostOfGauss The round constant generation code in Manta's plonk prototype repo was incorrect, and I fixed that so it now passes the hardcoded tests. When you have some time can you sync those changes here?
This PR adds our first hash function--the optimized Poseidon hash, complete with parameter generation written in Rust. Credit goes to @tsunrise and @BoyuanFeng for writing this. The contents of this PR is adapted from their implementation here. (See also this spec) The biggest change is the addition of a
HashFunction
trait and making hashing stateless.Some work remains, but I'm opening this draft to start collecting feedback. What remains is documentation and testing.
Feedback is needed on the overall interface with hash functions. The
HashFunction
trait is a starting point for discussion. This topic was opened in Issue #109 and discussion should continue there.This will close #104