leonardoalt / fusion

An experimental progressive and fast zkRollup written in Rust, focused on performance, modularity, and applying cutting-edge Verifiable Computation proof systems.
GNU General Public License v3.0
119 stars 5 forks source link

Sync Poseidon implementation #19

Closed leonardoalt closed 1 year ago

leonardoalt commented 1 year ago

We are using two different Poseidon implementations. When we want to compute the hash, we use github.com/leonardoalt/Poseidon_BN128/ . However, babyjubjub-rs also has a Poseidon implementation, so we could simply use that one for our hashing as well, and then have only one implementation and remove a dependency.

One annoying thing then are the types: our current Poseidon uses zokrates_field::Bn128Field. babyjubjub-rs uses ff. It shouldn't be a problem to translate things around using U256 as intermediate, but it's the annoying part here.