zkSync is a zero-knowledge rollup scaling solution for Ethereum that enables low-cost transactions through validity proofs verified on-chain.
The project addresses Ethereum's scalability and transaction cost limitations by implementing a ZK Rollup architecture where funds remain secured by a smart contract on mainchain while computation and storage occur off-chain. For each rollup block, a zero-knowledge proof is generated and verified on-chain, proving the validity of all transactions in that block. Public data updates are published to mainchain calldata. This design provides three key guarantees: validators cannot corrupt state or steal funds, users can always withdraw funds even if validators become unresponsive because data availability is ensured, and neither users nor external parties need to monitor blocks to prevent fraud since validity proofs provide cryptographic certainty.
The project is currently deprecated. ZKSync Lite, which handled low-gas transfers of ETH and ERC20 tokens, is being sunset. Users are directed to withdraw funds through a web interface or independently using the Exit Tree Generator tool, which allows generating withdrawal proofs by downloading the final state snapshot, creating Keccak tree leaves, and submitting proofs to the withdrawal contract on mainnet. The Exit Tree Generator supports both direct withdrawals to the caller and withdrawals to specified recipient addresses, with advanced workflows available for verifying Merkle roots and restoring the original ZKSync Merkle root.
Development activity shows the project maintains tooling for the deprecation process, with the Exit Tree Generator providing multiple withdrawal pathways including independent proof generation from downloaded state data and computational restoration of tree structures. The codebase is written in Rust and includes comprehensive documentation for the withdrawal process and advanced recovery workflows.