This library contains a halo2 circuit for the Poseidon hash algorithm. Please refer to the original paper for the definition of Poseidon hash.
The Poseidon circuit is based on a custom gate named MainGate
with the following structure.
q_1([F;T]) | q_5([F;T]) | q_m (F) | q_i(F) | q_o(F) | rc (F) | state([A;T]) | input (A) | out (A) |
---|
Here T
is the size of state, F
means fixed column, A
means adviced column.
Generic relation is defined as
It is worth noting that MainGate
was originally designed for the Sirius folding framework, thus some of the columns like
This repository has integrated with the snarkify-sdk, facilitating effortless deployment to the Snarkify Cloud. With just a few clicks, you can have your prover service up and running, ready to handle proof requests.
👉 Follow our tutorial to deploy your Poseidon hash prover service on Snarkify Cloud.
For a complete example of snarkify-sdk
integration with the Poseidon circuit, please reference to PR #5.
For more information about snarkify-sdk
, please reference to the documentation.
We'd love for you to be a part of our developer community! Whether you're looking to contribute code, provide feedback, or simply stay in the loop, our Telegram group is the place to be.