Frenemies: Battle of the ZK-Rollups
zkSync vs Starknet
Welcome back to another Layer 2 Deep Dive. We’ve been very bullish on the innovation that has been occurring in L2 land – particularly with ZK-Rollups. In the last article, I laid out all of the details surrounding ZK-Rollups, and whether or not they’re better than Optimistic Rollups. Today, I’d like to dive deeper into the ecosystem. In order to do that, I’ll be comparing two of the biggest projects that use ZK-Rollups, zkSync and StarkNet.
Both projects have major things in store to help push the space forward. Even though both projects are in the same ecosystem, they are currently in the midst of a friendly competition for ZK-Rollup dominance. Which one will ultimately prevail? Will there even be a winner? Let’s answer those questions now.
zkSync is a ZK-Rollup created by Matter Labs. It is a programmable rollup that is used for low-cost payments on the Ethereum mainnet. In today’s iteration of zkSync 1.0, users are able to perform atomic swaps, limit orders and have native L2 NFT support through the zkSync wallet.
zkSync first went into production during the summer of 2020.
Transactions that occur within or out of zkSync are impervious to L1 censorship due to the requirement of zero knowledge proofs. Therefore, funds or assets aren’t susceptible to a DOS attack.
zkSync 2.0, which will roll out sometime in the first half of next year, will expand on the current functionality and will be smart contract friendly (programmable). Users will be able to write contracts in different programming languages such as Rust, Zinc, or use existing Solidity code.
zkSync 1.0 currently supports multiple tokens. You can find an exhaustive list in this link. (This link is to be used for educational purposes only. This is NOT alpha or an early tip on what you should be buying.)
zkSync uses the SNARK verification method to verify transactions. If you are unfamiliar with what zk-SNARKS are, here is a brief explanation:
It has been unofficially confirmed that zkSync will have a native token. However, details around the release date are still unknown. It is believed that there will eventually be an airdrop. Thus, I would advise interacting with the zkSync wallet just in case there is.
The token will likely be used as a staking token to become a validator once zkSync reaches full decentralization.
StarkNet is a ZK-Rollup created by StarkWare. StarkNet is very similar to zkSync in its approach to transaction validation and instant withdrawals. However, StarkNet uses ZK-STARK.
ZK-STARK stands for Zero Knowledge, Scalable, Transparent, Argument Of Knowledge.
ZK-STARKs are also allegedly quantum-resistant… I say allegedly because none of us know what is truly quantum-resistant until quantum computing comes into full fruition.
All of StarkNet’s smart contracts are written in StarkWare’s custom programming language, Cairo. Unfortunately, this means that StarkWare does not natively support EVM. However, Nethermind’s Warp team is developing a transpiler for Solidity to Cairo conversions, to be released in the very near future. This means that developers will not have to go through the trouble of writing Cairo contracts if they were already written using Solidity.
StarkNet already has a few early stage products that are being built/deployed on it:
Besides, StarkNet, Starkware has developed a more use case-specific scalability solution that is currently live on the Ethereum mainnet, StarkEx. StarkEx already supports major projects like:
I’m sure everyone’s main question is, what’s the difference between StarkNet and StarkEx?
For those who are confused by the use of the term “composability”, it means that applications will have the ability to build on top of each other and interconnect.
Eventually, all StarkEx applications will have the ability to port over to StarkNet and experience the advantages of composability and full decentralization.
When it comes to zkSync and StarkNet there are many similarities, but there are also enough differences for us to compare the two:
zkSync 2.0 will feature zkPorter mode, which increases scaling to 100k TPS. This is where zkSync may have a leg up on StarkNet, because I have not found mentions of any solution in StarkWare’s ecosystem that can match the TPS of zkPorters.
As of now, zkSync’s TVL isn’t touching StarkWare’s TVL with a 50-foot pole. This is due to the strong adoption of dYdX, Immutable X, and DeversiFi, which are built on StarkEx. If you compare zkSync with StarkNet, however, zkSync is in the lead, with StarkNet just having launched a couple of days ago.
zkSync currently sits at a TVL of $57.50M, which is a respectable number – and the demand for zkSync seems to be growing fast.
The usage has also been on a huge upward trajectory.
With StarkNet being brand-new, it’s going to be exciting to see who will actually build on it. Here is a list of projects that are officially planning to deploy on StarkNet.
Lastly, just to throw a little icing on the cake, we know that with the highest likelihood a token is coming for zkSync. There has been no such evidence for StarkNet or StarkEx as of now.
When it comes to these two rollups, I’m not sure if you can go wrong with either one. I currently find myself being excited about both rollups. Ultimately, this is about pushing the industry forward as a whole.
Besides, we’re seeing projects like ZigZag and Argent partner with both solutions. This beckons the question, if other projects aren’t choosing a winner this early in the game, why should we?
One very important thing to keep in mind is that both zkSync and Starknet are not yet completed. It may take months or even years before they can truly match up with Optimistic Rollups.
This is not a bad thing though.Sometimes we must sit back and give greatness time to unfold… or should I say rollup?