Over the past two years, the concept of blockchain scaling, primarily around Ethereum, has taken the crypto industry by storm. One of the most prominent teams building an Ethereum scaling solution is Matter Labs, who are building a zkRollup, otherwise known as a Validity Rollup, called zkSync. The team has continued to innovate since zkSync went live and in production in June 2020.
Understanding the backstory of zkSync
The goal of zkSync at launch was to facilitate cheap and fast transactions, essentially bringing VISA-scale throughput to Ethereum, for a fraction of the cost of Ethereum mainnet. More importantly, it enables all transactions and data on zkSync to be fully secured by the Ethereum network. Being able to have all of this functionality in a fully noncustodial manner, with minimal additional trust assumptions, is INSANE! From the user experience aspect, one of the great benefits is that all transactions are able to be natively gasless. Meaning, you can use USDC, USDT, wBTC, among other ERC20 (Ethereum tokens) to pay for network fees – you will never require a user to hold ETH in their wallet to facilitate transactions.
It is important to note that as with any smart contract, using zkSync does come with some risk, similar to any of your favorite DeFi protocols where billions of dollars of funds are locked up. One risk is that there could be potential bugs in the code, although the odds of that occurring are quite minimal as the contract is quite simple and straightforward. The Matter Labs team has done an exquisite job of detailing risk profiles for using their product, along with explaining how everything works behind the scenes. The contract is currently upgradable, meaning that the people holding the admin keys to the contract can change how the smart contract works- either to improve it or introduce malicious code. To protect the latter from happening, upgrades must go through a 28 day timelock period allowing users to remove their funds if there is a malicious update being introduced. In the event where an upgrade is required to eliminate a found vulnerability, a situation where time is of the essence, the timelock can be killed entirely if 9/15 members from the security coucil approve the upgrade.
At no point can the zkSync team prevent users from withdrawing their funds from zkSync.
This now leads to a transition into what will take zkSync to the next level, the launch of zkSync 2.0. This will introduce multiple new aspects to zkSync, which will be game-changing on a global level.
In zkSync 1.0, there were no smart contracts, although some teams, such as ZigZag, have built awesome products on zkSync without requiring smart contracts. This limitation has however prevented zkSync from growing exponentially, but that won’t be the case for much longer.
zkSync 2.0 introduces official support for smart contracts, through their own virtual machine, Zinc, as well as a compiler for EVM compatibility. Zinc is a programming language based on Rust, which performs more effectively than Solidity, a common language used for writing smart contracts. The “compiler” is what most are interested in, however. This will allow for almost any existing solidity smart contract, your favorite DeFi protocol, or NFT artwork, to begin deploying directly on L2 with minimal changes necessary. This is where the term zkEVM comes from (based on the “zk” in zkRollup), as zkSync is building the first native EVM compatible zkRollup.
zkSync has the goal of building a solution which is known as a Volition. The v1 of zkSync’s contracts are built specifically as a zkRollup, but v2 will introduce changes (in the future). At launch, it will still only be a zkRollup, but will move towards a Volition implementation. This will allow for users to choose whether they want to use a zkRollup, or Validium, all through the same API. The core differences between a zkRollup and a Validium is that zkRollups’s have data stored on-chain and so offers higher security guarantees, however they aren’t quite as fast and are a little more expensive. Validium offers off-chain data availability, incredibly high throughput, and fees are minimal. The important thing to understand is from the developer perspective, there will be no changes necessary. This just creates a more improved UX for end users with more customization.
This massive shift does, however, bring new risks to the protocol. The actual contract will be straightforward, but a lot of new and innovative features are going to be introduced. It has been widely discussed that many of the new risks will be how smart contracts are used within a zkRollup- this is quite new, and has only been done previously by StarkWare, with StarkEx. The actual rollup is likely to be upgradable at launch, similar to their v1, and most of the potential “concerns” will lie in what are known as “circuits”, as this will be what helps to power the ZincVM, and to bring smart contracts to zkSync.
Sooooo, what’s next?
Right now, zkSync has already launched their public testnet for anyone to interact with. All of their smart contracts and code for this are completely open source, and I would recommend everyone to go and do their best to break it. Personally, I was able to test zkSync and play around with Mute’s DEX – Switch– I had a great experience! Next steps are to get more teams building on these L2 networks, like Numio (yes I am biased), and to get DeFi and NFT teams to start moving, and planning, towards deployments on these platforms for users to access Ethereum grade security with VISA level speed. I’m definitely bullish on the future of Ethereum and these ecosystems we are building around.
Buy, sell, trade, earn crypto with DeFi, collect NFTs, and more, while saving you up to 100x on Ethereum fees. Numio gives you more control over your digital assets in one convenient app. Numio can be used pseudonymously, or with an optional zkProof powered identity verification system. All Numio products are non-custodial.
Available on Android and iOS, Numio was the first zkRollup powered mobile payments app to be released on Google Play.