Zero Knowledge (ZK) Rollups

In contrast to optimistic rollups, which per se assume that all people act in good faith, Zero Knowledge (ZK) rollups attempt to prove that this is indeed the case. The rollup moves transaction bundles to layer 2 and generates a validity proof for each bundle. The validity proofs are then forwarded to Layer 1 to serve as a proxy for the corresponding bundles. This method results in a significant reduction in data size and in turn reduces the time and gas cost of validating a block. Another optimization option is by representing accounts as indexes instead of addresses, which in turn reduces the transaction size by quite a bit.

One disadvantage of ZK rollups is that creating a proof of validity is a complex and rather time-consuming process. 

On the other hand, ZK rollups do not require a challenge period because the validity proof has already verified the legitimacy of the transaction data. Therefore, ZK rollups allow for very fast withdrawal times. So while ZK rollups are generally not very suitable for general applications, they are excellent for exchanges and other applications that require simple payments.