lurk-lab / neptune

Rust Poseidon implementation.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Potential implementation of Filecoin Poseidon in Golang?

weikengchen opened this issue · comments

In the new CID/CAR format, multihash is supported, and Poseidon has officially become a hash option.

poseidon-bls12_381-a2-fc1 | multihash | 0xb401 | permanent | Poseidon using BLS12-381 and arity of 2 with Filecoin parameters |

However, it has not been implemented by many multihash implementations. Indeed, the go-multihash does not support Poseidon, neither does rust-multihash
https://github.com/multiformats/go-multihash/tree/master/register
https://github.com/multiformats/rust-multihash#supported-hash-types

Is neptune finalized? Is there a plan to implement Poseidon in multiple programming languages (FFI does not seem to be a good idea)?

I don't know of any plans. Usually the Multihash language implementations are structured in way that you can add your own hash implementation to it, without relying on the main project. So it could be implemented by a third party.