What is recursion and how does it make Polygon zkEVM faster? What benefits did the implementation of flonk bring?

Created by Deepanshu Rathor, Modified on Mon, 19 Feb at 4:32 PM by Deepanshu Rathor


Once you have all the batch proofs of a continuous sequence (a chain segment) you can aggregate them. That means that you can for example compute a proof that proves the batch 1 proof and batch 2 proof. You can do the same for batch 3 proofs and batch 4 proofs.

So you can build a tree of proofs where the root proves a full chain segment. You can build this tree with the shape you want and in parallel. You can have one server aggregating proofs 1 and 2 while the other aggregates proofs 3 and 4. This proof takes 10s.

The last step is to send this aggregated proof on-chain. This proof is what stores the rollup state on-chain and allows the user to withdraw the funds. This happens once in a while (30 minutes in the case of the Polygon zkEVM).

For this last step the proof is converted from a STARK to a SNARK (FFLONK), this reduces the gas cost for verifying this proof on-chain. This process takes about 2min and the gas cost of the whole TX is about 350K no matter how long is the proving segment.

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article