ZKsync is a user-centric, Layer 2, zkRollup platform from Matter Labs. It is a scaling solution for Ethereum, with two different versions, ZKsync Era and ZKsync Lite.
{% tabs %} {% tab title="ZKsync Era" %}
Feature | ZKsync Era (formerly ZKsync 2.0) | ZKsync Lite (formerly ZKsync 1.0) |
---|---|---|
Description | ZKsync Era is a Zero Knowledge (ZK) rollup that supports generalized EVM compatibility for the Ethereum blockchain. | ZKsync Lite is a trustless protocol for scalable low-cost payments on Ethereum, powered by zkRollup technology. |
Mainnet | March 24, 2023 | June 18, 2020 |
Purpose | Universal | Payments, NFTs, Atomic Swaps |
Smart Contracts | ✅ | ❌ |
You can learn more about both protocols on L2beat.com. {% endtab %}
{% tab title="ZKsync Lite" %}
Feature | ZKsync Lite (formerly ZKsync 1.0) | ZKsync Era (formerly ZKsync 2.0) |
---|---|---|
Description | ZKsync Lite is a trustless protocol for scalable low-cost payments on Ethereum, powered by zkRollup technology. | ZKsync Era is a Zero Knowledge (ZK) rollup that supports generalized EVM compatibility for the Ethereum blockchain. |
Mainnet | June 18, 2020 | March 24, 2023 |
Purpose | Payments, NFTs, Atomic Swaps | Universal |
Smart Contracts | ❌ | ✅ |
You can learn more about ZKsync Lite on L2beat.com. {% endtab %} {% endtabs %}
{% tabs %} {% tab title="ZKsync Era" %}
In ZKsync Era, the way fees are calculated is similar to Ethereum. Fees are needed for:
- The work done by the protocol (computational cost).
- The cost to put data on-chain (publishing data).
- The effects of storage.
- Putting data on the L1 chain (publishing to L1).
- Creating proofs (proof generation).
The fees for putting data on the L1 chain can change a lot due to volatile L1 gas prices. Because of this, the fees on a L2 will rise and fall with L1 fees. {% endtab %}
{% tab title="ZKsync Lite" %}
Fees depend on Ethereum Layer 1 (L1) gas prices because with every ZKsync Layer 2 (L2) transaction, we post related data on Layer 1 — this allows us to inherit the security of Ethereum. {% endtab %} {% endtabs %}
{% tabs %} {% tab title="ZKsync Era" %}
There is currently a 24 hour delay on withdrawals from ZKsync Era mainnet to Ethereum L1. You can learn more about the process and reason in our latest blog post
Once the transaction is "Committed" the 24 hour delay starts.
You can check our tutorial for "How to Withrdraw" for details on how to check if your transaction is past the withdrawal delay. {% endtab %}
{% tab title="ZKsync Lite" %}
At peak usage of ZKsync, the withdrawal time is about 15 minutes. During lower use, it can take up to 10 hours. Currently, withdrawal times depend on the activity on ZKsync, when we finalize blocks, and submit them to L1. {% endtab %} {% endtabs %}
{% tabs %} {% tab title="ZKsync Era" %}
You can find fully verified withdrawals on Etherscan in the "Internal Transactions" tab*. You will have a transaction from the ZKsync Era:Diamond Proxy
contract.
* If you withdrew a token other than ETH then you would find the transaction in the "Token Transfers(ERC-20)" tab. {% endtab %}
{% tab title="ZKsync Lite" %}
You can find fully verified withdrawals on Etherscan in the "Internal Transactions" tab*. You will have a transaction from the ZKsync
contract.
* If you withdrew a token other than ETH then you would find the transaction in the "Token Transfers(ERC-20)" tab. {% endtab %} {% endtabs %}
{% tabs %} {% tab title="ZKsync Era" %}
No, you cannot send funds to or from a Centralized Exchange (CEX) until the network is supported by the exchange. To prevent loss of funds, please check with the specific exchange for their policies and support before sending funds to or from ZKsync Era to a CEX.
Until there is more CEX support for ZKsync Era you can use some third-party bridges to deposit funds from a CEX to ZKsync. See our Ecosystem page for a list of bridges. {% endtab %}
{% tab title="ZKsync Lite" %}
Yes, you can send funds to and from a Centralized Exchange (CEX) to ZKsync as long as the CEX supports the ZKsync network. However, always ensure to check with the specific exchange for their policies and support. Some third-party bridges allow you to deposit funds from a CEX to ZKsync. See our Ecosystem page for a list of bridges. {% endtab %} {% endtabs %}
The account activation fee is a one-time fee to register your account with ZKsync. This fee only applies to your first ZKsync transaction on ZKsync Lite and does not apply to ZKsync Era.
On a deeper level, to be better suited for zero-knowledge proofs, ZKsync accounts are defined over a different elliptic curve than Ethereum's. Activating your account generates and publishes a new private-public key pair over this curve associated with your Ethereum address.
The registration process happens directly on the Ethereum smart contract and therefore it is an L1 transaction, so the activation fee is to pay the Ethereum miners and not ZKsync validators.
ERC-1271 compatible wallets (like Argent) increase this one-time fee because of higher interaction with the ZKsync smart contract. This operation is cheaper if you are using a CREATE2 smart-contract-based wallet.
{% tabs %} {% tab title="ZKsync Era" %}
Indexing
- In the mempool but not yet included in a block.Failed
- Unverified/failed transaction.ZKsync Era Processed, Ethereum Sending
- Included in a block but the batch containing the block has not yet been committed.ZKsync Era Processed, Ethereum Validating
- Included in a block and committed on the Ethereum L1 network.ZKsync Era Processed, Ethereum Executing
- Included in a block and proven on the Ethereum L1 network.ZKsync Era Processed, Ethereum Executed
- Included in a block and executed on the Ethereum L1 network. {% endtab %}
{% tab title="ZKsync Lite" %}
Initiated
: the ZKsync server has received and processed the transaction. Unless it is a withdrawal, it is ready for immediate use.Committed
: the transaction appears in a block that is committed to the L1 smart contract.Verified
: the transaction’s block has been proven and verified on the L1 smart contract. {% endtab %} {% endtabs %}
A deposit to ZKsync is a transaction from Ethereum to ZKsync, and it typically takes about 5 minutes or about 10 block confirmations on Ethereum L1. The time can vary based on the congestion of the Ethereum network and the L1 gas fee set for the transaction.
Yes, https://docs.zknation.io/zk-token/zk-token
{% tabs %} {% tab title="ZKsync Era" %}
Not at the moment, but the network is expected to move towards a more decentralized model, allowing users to run their own validators or nodes in the future. {% endtab %}
{% tab title="ZKsync Lite" %}
No {% endtab %} {% endtabs %}
Yes, https://ecosystem.zksync.io/
{% tabs %} {% tab title="ZKsync Era" %}
For ZKsync Era make sure you are connected to the ZKsync Era mainnet. If you still don't see your funds, you might need to change display settings to either show or add custom tokens on your wallet interface. You can check MetaMask's "How to display tokens in MetaMask" for more details. {% endtab %}
{% tab title="ZKsync Lite" %}
You will not see your ZKsync Lite funds on your wallet unless it is integrated with ZKsync Lite like Argent.
Since you connect to ZKsync Lite via Ethereum mainnet your wallet will show you your funds on Ethereum and you can check your ZKsync Lite funds on the ZKsync Lite wallet or the ZKsync Lite block explorer.
{% endtab %}
{% endtabs %}