Paper 2022/1487
An efficient verifiable state for zk-EVM and beyond from the Anemoi hash function
Abstract
In our survey of the various zk-EVM constructions, it becomes apparent that verifiable storage of the EVM state starts to be one of the dominating costs. This is not surprising because a big differentiator of EVM from UTXO is exactly the ability to carry states and, most importantly, their transitions; i.e., EVM is a **state** machine. In other words, to build an efficient zk-EVM, one must first build an efficient verifiable state. The common approach, which has been used in production, is a Merkle forest to authenticate the memory that would be randomly accessed within zk-SNARK, and optimize the verification of such memory accesses. In this note, we describe a way to instantiate a Merkle tree with very few gates in TurboPlonk. We use customized gates in TurboPlonk to implement a SNARK-friendly hash function called Anemoi and its Jive mode of operation, by Clémence Bouvier, Pierre Briaud, Pyrros Chaidos, Léo Perrin, Robin Salen, Vesselin Velichkov, and Danny Willems. We demonstrate that with $16$ gates ($\approx1$ gate per round in a 14-round Amenoi hash), one can verify a 3-to-1 compression in a 3-ary Merkle tree. Before this, prior implementations would often require hundreds of gates. We anticipate this technique to benefit a large number of applications built off zk-SNARK. Our code can be found in $\mathtt{noah}$: https://github.com/FindoraNetwork/noah
Note: Fixed t_*(X) polynomial's degree to (n+2) instead of (n-2)
Metadata
- Available format(s)
- Category
- Applications
- Publication info
- Preprint.
- Keywords
- SNARK-friendly hash functionZerocashauthenticationzk-SNARK
- Contact author(s)
- crypto @ findora org
- History
- 2023-10-07: last of 9 revisions
- 2022-10-29: received
- See all versions
- Short URL
- https://ia.cr/2022/1487
- License
-
CC BY-SA
BibTeX
@misc{cryptoeprint:2022/1487, author = {Jianwei Liu and Harshad Patil and Akhil Sai Peddireddy and Kevin Singh and Haifeng Sun and Huachuang Sun and Weikeng Chen}, title = {An efficient verifiable state for zk-{EVM} and beyond from the Anemoi hash function}, howpublished = {Cryptology {ePrint} Archive, Paper 2022/1487}, year = {2022}, url = {https://eprint.iacr.org/2022/1487} }