The Ethereum network was designed to be a scaling solution not just for its own blockchain but also for the crypto ecosystem as a whole. One such option was the concept of rollups. These rollups help transactions be verified off chain and sent back to the Ethereum network chain.
A very popular approach is called a ZK Rollup which zkSync uses to create Ethereum scalability without network compromises. Let’s take a look at what zkSync is, how they work within the context of other ZK Rollups, and the types of products they offer on the Layer 2 chain.
What is zkSync?
The zkSync project is a trustless scaling solution on the Ethereum network that creates fast and secure transactions on Layer-2. zkSync is powered by the zk rollup process but uses an algorithm to secure and certify these transactions instead of a rollup validator. This gives zkSync many distinct advantages including network efficiency.
zkSync was started in 2018 by Alex Gluchowski and under the helm of Matter Labs. During the beginning stages of zkSync, Matter Labs carved out a specific vision for the project in 2019, almost a year later. The project ended up becoming the first Ethereum trust-less scaling solution and the first Layer-2 zk rollup project that operate at scale.
The first iteration of zkSync was live on June 15th, 2020 and has since incorporated many features along the way, like a zero knowledge prover called PLONK, recursive proofs, subscription payments, minting and burning of tokens, token swaps, a zkSync wallet, and more. The project has been relatively open with or without a public roadmap and everything is 100% community oriented and open source for mass adoption.
Dune Analytics shows metrics of activity for the zkSync network and zk based activity inclining the number of users, support on the chain, and transactions on the network. Over 567,000 total transactions on the network have been completed alongside 370,000 unique address and over 5,300 Ethereum spent on fees on the system by users of the network.
Understanding What a ZK Rollup Does
This scaling process done through zero knowledge proof is based on a mass transfer of network processing, often called batching, and “rolling them up” into one rollup. This allows for a large number of transactions to be done by the hundreds instead of one at a time.
These transactions that are placed in a batch are EVM compatible so they can use offchain computation with a different set of EVM compatible code. With all of this performed off, a zk can provide low gas transfers in one single transaction.
After these values are generated, the batch of data can be placed back on the mainchain contract and be fully locked on the protocol. This completes the public data update and is seen on the mainchain network without any compromise to security.
What a ZK Rollup Strictly Inherits
A zk rollup strictly inherits a special amount of code to be processed in bulk without any lack of security. The zk scheme consists of two different users: transactors and relayers. The role of transactors is to establish a line of transfer for the transactions to start which consists of two addresses to communicate, a value for these transactions, and a network fee. Relayers collect these transactions to make one large one with a SNARK. A SNARK includes a hash that represents the delta for this state.
There are many differences how zk rollups work versus other scaling solutions like side chains and Plasma. Unlike Plasma, a zk rollup block uses transactions from the Ethereum and just does computation elsewhere while Plasma does everything separate from the main network which prevents security guarantees and does not prevent fraud. Unlike side chains, the process of zk is done offchain to save ledger technology from being overused and clogging the network with transaction data.
The Main Features of zkSync
The main features of zkSync are largely inherited by the process as above but with some changes to the way it processes the current functionality scope for these transactions. The first thing that should be noted with zkSync is that the smart contracts are in favor one larger rollups than smaller ones, leading to larger batches at one time.
Matter Labs created zkSync so that users gain the same benefits of a mainnet security, instant token transfers with no wait period, and ultra low transaction fees. In addition to this, users of the platform also can interact with no information required to receive funds, can use the technology to interact with Ethereum compatible addresses, and can used for multisig support.
The zkSync Smart Contracts
The smart contracts being used on the zkSync network have a recipe that allows these low gas transfers, transactions, and high throughput activity to function. A smart contract on the platform is highly efficient and Turing complete. In addition, the developers can use the system in two different languages – Zinc or Solidity. Neither users or developers suffer as a result of this flexibility.
The operations of the zkSync smart contract can be used to create cheap calldata as the power used for these transactions are performed offchain but nothing needs to be done by the user. One this is complete, the smart contract can construct the transaction with its privacy engine and send them back to the Ethereum system.
zkSync VS. Other ZK Rollups and Optimistic Rollups
The zkSync system is a Layer 2 privacy engine but it also has some major differences between other zero knowledge solutions. In comparison to how Optimistic rollups work, zkSync has a much higher capacity of security for the TVL which can eclipse many public blockchains. In addition, Optimistic rollups have much longer finality and a higher cost of privacy. This ends of being a mush faster transaction speed for the user while keeping the same security as normal.
For other zk related projects like SNARK, zySync allows for smart contracts on their platform that can have two different types of code, implements EVM compatible funds for the user, and is completely owned by its users on the platform. This allows for any development on the Layer 2 to be issues by the community and proof that a group of people in the crypto space can create a scalable network.
Validity Proofs To Monitor Rollup Blocks
The zkSync privacy engine used validity proofs for their network by default in order to achieve their desired connection to the mainchain contract in Ethereum. By doing this, a zero knowledge transaction that is accepted is the proof needed for a block to be verified. Since this is needed to connect the zkSync back into the Ethereum mainnet, this can prevent fraud from not allowing unwanted validators to be accepted. The following guarantees the protocol to never steal funds from the process it’s involved with.
With the use of this type of proof, the rest of the batch transaction is accepted so that Ethereum can retrieve all the data. The proof is performed off chain but when the batching is finally verified and funds are completed on the block, the process will revert back to the mainchain network.
The zkSync Product Lineup
There are several products within the zkSync ecosystem that have been created or are still in development for future release. Despite the fact that zkSync has not issues native tokens on the network, it is capable of managing many features that other solutions. These products are called zkTools.
Any project in the crypto ecosystem can integrate the zkSync privacy engine and there have been hundreds of projects that give a user the ability to user their funds on a zkSync block. In addition, zkSync offers a DeFi wallet, payment integrations into a website, and a blockchain explorer that can be used to locate an address within a certain period. Projects listed on the zkTools can keep integration until they stop cooperating voluntarily with the network.
Resource Information of zkSync
As of the time of writing, zkSync does not have a native token but there is intention for a token to be available on the network.
Here is a list of links and resources on the zkSync platform:
Comparing Rollups to Other Layer 2 Solutions: https://docs.ethhub.io/ethereum-roadmap/layer-2-scaling/zk-rollups/