Recently, @0xPolygon announced their Polygon #zkEVM , an EVM-equivalent ZK L2.
Accordingly, we spotted an opportunity to share some interesting data points on their zkEVM.
Polygon’s zkEVM has a few modules:
The Prover uses both SNARK and STARK proofs in the following way: SNARK proof is used to prove correctness of STARK proofs (recursive STARKS!!) So we get: STARKs are used for speed, while SNARK is used for proof size!
Goldilocks are used as the base field. 256 bit operations are highly efficient.
Keccak circuits are computed in parallel.
A Poseidon-hash Merkle tree is used to store the entire system
According to Commit History, Polygon’s project has been in the works since at least November ’21. The merge with Plonky2 tech is more recent ~ circa mid May ’22.
500k gas proof takes 5 min to generate on a beefy machine. Since many transactions go into one proof, the amortized cost for tx is very cheap. Throughput, e.g. the number of transactions per second, is the main bottleneck to improve.
Did you find this interesting? Ingonyama develops hardware accelerators for Zero Knowledge functionality — follow for more ZK related content, or reach out and say hello!
Join us: https://www.ingonyama.com/careers