Hermez & Zero Provers

Hello! I’m trying to figure out how the proving system works. I see there are two provers in the 0xPolygonHermez and 0xPolygonZero orgs: zkevm-prover and eth-tx-proof. According to the docs, their internal structure is pretty similar (1, 2): both are divided in the same arithmetic, keccak, etc modules.

There is also a blogpost which states that the Polygon zkEVM Prover now supports a Type 1 mode, linking to the 0xPolygonZero repo.

So the question is, what is the difference? What is the place of each of them in the ecosystem?

1 Like

The Type 1 zkEVM prover is an available config for chains building a zkEVM with Polygon CDK. The Hermez prover, used in Polygon zkEVM, is a Type 2 ZK EVM. For most projects building with CDK, the Type 2 is optimal because it makes performance tradeoffs for greater speed and lower cost.

The Type 1, though, allows any EVM chain to become a ZK L2 to Ethereum.

The Type 2 can’t be used in that way because of changes it makes to Ethereum’s storage structure, among other things, to generate the speed and cost improvements

Amazing project Thank you very much for all informations