There are two main types of rollups: ZK rollups and Optimistic rollups. ZK rollups use zero-knowledge proofs specifically, SNARKs (Succinct Non-Interactive Argument of Knowledge) to verify the validity of transaction batches, while Optimistic rollups assume the validity of off-chain computations unless proven otherwise with fraud proofs.
ZKsync being a ZK rollup solution, offers several features and benefits. Firstly it provides low gas fees and fast transfers for ETH / ERC20 tokens compared to Ethereum's Layer 1 or Optimistic rollups. Users can pay gas fees in transferred tokens, enabling gasless meta-transactions. It facilitates atomic swaps and limit orders, which are important for crypto exchanges. Additionally, ZKsync supports native layer 2 NFTs and is an open source project.
However, there are some drawbacks to consider. Users have reported slow withdrawal speeds from ZKsync back to the Ethereum main chain, as they have to wait for other transactions to be included in a single batch. Proving every batch in ZKsync requires significant computational power, making dApps less common in ZK rollups. Finally there are also compatibility issues with the Ethereum Virtual Machine (EVM) which can hinder the adoption of dApps in ZKsync.
One last thing worth mentioning about ZKsync's technology is it that has its own native programming language called ‘Zinc’. Zinc is specifically designed for zero-knowledge proof systems and may have compatibility limitations outside of its intended use case, bur developers on ZKsync can also to write smart contracts in Solidity to get around this limitation. Show Less