# What's a ZK rollup?

Each batch of transactions is sent to an off-chain prover that generates a cryptographic proof (called a [SNARK](https://media.consensys.net/introduction-to-zksnarks-with-examples-3283b554fc3b), in the case of zkSync) that the transactions are valid. While generating the proof is hard, verifying that the proof is valid is easy. This ease means that it can be sent to Layer 1 and verified in a smart contract. This allows for **near-frictionless transfers between Layer 1 and Layer 2.**
