Yesterday, @0xPolygon announced their Polygon #zkEVM , an EVM-equivalent ZK L2.
With the news, we see an opportunity to share some interesting data points on zkEVM.
Here are a few data points you might find interesting…🧵⬇️
Polygon’s zkEVM has a few modules:
- Proof of Efficiency Consensus Mechanism
- zkNode Software
- zkProver
- LX-to-LY Bridge
- Sequencers
- Aggregators
zkEVM Prover is the most complex part of the code.
zkEVM is mostly written in Go (Prover in C++) with some utilities in Javascript / Typescript
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.
Keccek 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 2 months ago
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!
#zkEVM #zeroknowledge
Share this Scrolly Tale with your friends.
A Scrolly Tale is a new way to read Twitter threads with a more visually immersive experience.
Discover more beautiful Scrolly Tales like this.