matter-labs/zksync

zkSync: trustless scaling and privacy engine for Ethereum

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 29 minutes ago
Added to GitGenius on September 14th, 2026
Created on May 29th, 2019
Open Issues & Pull Requests: 106 (+0)
GitHub issues: Enabled
Number of forks: 2,650
Total Stargazers: 4,923 (+0)
Total Subscribers: 173 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 2.1 hours
Mean response time: 5.3 hours
90th percentile: 13.5 hours
Tracked items: 3

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 4
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 390 days
Stale 30+ days: 4
Stale 90+ days: 4

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

No label distribution available yet.

Most active issues this week

Sign in to see which issues are moving.

Detailed Description

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.