zkSync is a Layer-2 scaling solution that preserves the security properties of the underlying blockchain by leveraging the latest generation of succinct zero-knowledge proofs. All funds in zkSync are held in a smart contract on the mainchain, while computation and storage are performed off-chain. For each Rollup block, a state transition zero-knowledge proof (SNARK) is generated and verified by the mainchain contract. This SNARK includes the proof of the validity of every transaction in the Rollup block.