HarryR / ethsnarks

A toolkit for viable zk-SNARKS on Ethereum, Web, Mobile and Desktop
GNU Lesser General Public License v3.0
240 stars 57 forks source link

Implement the Poseidon permutation (C++, EVM and Python) #132

Closed HarryR closed 4 years ago

HarryR commented 5 years ago

Fixes #124

Need to implement Solidity version of Poseidon permutation.

This results in 700 constraints with the same parameters as Circom's Poseidon implementation.

HarryR commented 4 years ago

I have ported the EVM implementation of Poseidon from Jordi's code in the circomlib library.

However, it requires 93067 gas for the permutation, which is a bit excessive.

HarryR commented 4 years ago

There is further work to be done, but this will be split into separate tickets