Top ZkSync dapps overview

Basic info

Top Dapps

ZkSync

What is zkSync

zkSync is a Layer 2 solution for Ethereum that utilizes ZK-Rollups as a scaling technology. Like optimistic rollups, ZK-Rollups merge numerous transactions into one outside the main Ethereum network and send proofs of transactions to Ethereum. zkSync offers low gas fees and fast transaction time to finality while maintaining a high level of security through the use of zero-knowledge proofs.

zkSync is being developed by the German company Matter Labs. With the work on the project started in late 2019, zkSync v1.0 was launched in June 2020. The first version was eventually able to scale up to 2,000 transactions per second. There are plans to move to zkSync v2.0 in October-November 2022, which will offer more decentralization, a larger set of tools for developers, and faster transaction.

Matter Labs raised $2 million in their first funding round in September 2019 and another $6 million in a Series A round in February 2021 from major cryptocurrency companies such as Binance, Coinbase Ventures, Aave, and Curve. A Series B round in November 2021 raised another $50 million from prominent venture capital funds such as a16z, Dragonfly, and Placeholder. In January 2022, the company received another $200 million from BitDAO.

How does zkSync work

zkSync is a scaling and privacy mechanism for Ethereum. It currently supports ETH and ERC20 token transfers on the Ethereum network, as well as swaps, limit orders, and NFT operations. At the same time, zkSync provides low gas fees (claimed to be up to 100 times lower than the ETH network) but maintains the security of the underlying Ethereum network.

At the heart of zkSync is the ZK-Rollup technology. ZK-Rollup is a solution in which all funds are held by 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 main contract. This SNARK includes proof of validity for each transaction in the Rollup block. After verifying that the post-state root is correct, the Rollup publishes the proof to the Ethereum mainnet.

This means that validation of state changes in ZK-Rollups is done through the computation of a zero-knowledge proof: if any of the state changes are invalid, the proof cannot be produced and, in turn, thus meaning that the validating entity cannot include invalid state changes. The work of computation proofs in zkSync is done by sequencers. These sequencers do not perform transaction validation, but Ethereum smart contracts do that work instead, relying on pure mathematics for that. 

Thus, by moving computation off-chain and keeping some data on-chain, the process of validating transactions becomes much more efficient. Using ZK-SNARK ensures fast checks and takes up less memory than traditional smart contracts. Ultimately, this makes zkSync checks faster and less costly compared to other scaling solution counterparts.

The ZkSync workflow is the following: First, users sign transactions and send them to the sequencer. Second, the sequencers aggregate thousands of transactions into a single block and send the cryptographic commitment of the new state to a smart contract on the underlying network along with the cryptographic proof (SNARK). In addition to the state proof, a small amount of data for each transaction is published to the core network as cheap call data. This allows anyone to reconstruct the state at any time. Finally, the state proof is verified by the smart contract, thereby verifying both the validity of all transactions included in the block and the availability of the block data.

The zkSync sequencer is not allowed to do anything with users' assets without permission. Users can always withdraw all their funds to the Ethereum mainchain without any cooperation from the sequencer (even if the latter is completely disabled and unresponsive).

At the moment, however, the daily operation of the zkSync network depends on the performance of the compute service provider, which generates zero-knowledge proofs for blocks. Currently, the computing service provider for the zkSync network is Stichting ZK Sync, a non-profit Dutch organization registered under RSIN 861038204 at Kingsfordweg 151, 1043GR Amsterdam.

The zkSync v1.0 version is not compatible with EVM and supports a limited number of smart contracts in the low-level Zinc language, minting of NFTs, and other features. However, a fully EVM-compatible version of zkSync is already available on the Rinkeby test network and is expected to launch on the mainnet near the end of 2022.

How to use zkSync

To interact with zkSync, the user needs to connect a browser wallet to the zkSync wallet. Wallets such as Metamask, XDEFI Wallet, Ledger, Trezor, or Argent Wallet are supported. The user then needs to transfer assets to L2 by depositing funds to the zkSync wallet and activating it. The user can choose different ways to fund their zkSync wallet, including fiat channels (Ramp, MoonPay, UTORG, Banxa), exchanges, and bridges (zkSync, ZigZag, Layer Swap, Orbiter bridges). 

Funding the zkSync wallet via bridges is considered an L1-L2 transaction, so the time of its appearance in the block depends on the commission set by the user. Funds will appear on L2 only after your transaction is processed on L1. There is an account activation fee on the first transaction after you make a deposit. The user should deposit an additional ~$20 to cover it during the periods with high gas fees.

Many popular dApps imported from the main Ethereum chain, such as 1inch Network, Zerion, Yearn Finance, and others, operate on zkSync. Therefore, interacting with zkSync apps is not fundamentally different from working with other L2 solutions. However, an important nuance is that transfers in zkSync support "meta-transactions without gas". This allows users to pay transaction fees in transferred tokens. For example, if a user wants to transfer the DAI stablecoin, the fees are paid in DAI. 

The zkSync fees are composed of off-chain and on-chain commissions. The off-chain part (storage costs + proof) is the cost of storing the blockchain’s state and generating SNARK (zero-knowledge proof). This part depends on the use of hardware resources. It is constant and costs about $0.001 per transfer. The on-chain part is the gas cost for each block zkSync sequencers have to pay Ethereum to verify the SNARK, plus additionally ~0.4k units of gas per transaction to publish the state. The on-chain part is a variable that depends on the current price of gas on the Ethereum network. However, this part is orders of magnitude cheaper than the cost of regular ETH/ERC20 transfers.

The token

zkSync does not yet have its own token. However, the developers explicitly state in the project documentation that zkSync will have a native token that will be used for staking.

Is zkSync safe

ZkSync also has a Bug Bounty program paying up to $250,000 depending on the severity of the bug.

zkSync team

zkSync is being developed by the Matter Labs team, which receives funding from the Ethereum Foundation. The founders of Matter Labs are  Alex Glukhovsky, Alex Vlasov, and  Michael Carilli

Alex Glukhovsky is the CEO of zkSync. He is a software engineer with more than 15 years of experience and previously served as the founding technical director of PaulCamper. 

Alex Vlasov is the R&D head. He has a Ph.D. in high-energy physics. 

Michael Carilli is a senior CUDA engineer, formerly a senior developer technology engineer at Nvidia.

Ecosystem & Partners 

There are already more than 100 projects running on zkSync. Among them are well-known names such as Curve, Yearn Finance, ZigZag, Alchemix, tofuNFT, handle.fi, and others. Among the ZkSync partners are major crypto organizations such as Blockchain.com, Crypto.com, OKEx, Huobi, Bybit. All of them have implemented the zkSync network on their platforms and also offer their clients support for direct deposit and withdrawal of fiat currencies to zkSync Layer 2. 

What's next

The team is currently actively working on upgrading zkSync to version 2.0 which is supposed to be finished by mid-fall 2022. The zkSync 2.0 design will introduce support for zk-EVM (EVM-compatible zkRollup), as well as zkPorter, a standalone data availability system that will increase scalability and TPS to 100,000+. This will enable developers to deploy Solidity/Zinc smart contracts and interact with them via the Web3 API. 

Links

https://docs.zksync.io/

Latest News

Video Tutorials