Zero-knowledge, or ZK, technology is crucial to the entire Ethereum project. This technology facilitates the execution of transactions and computation at scale, augmenting blockchains using unhackable math to maximise throughput without compromising security.
The first generation of this technology came in the form of app-specific zk rollups, which were designed for specific projects such as rhino.fi. Now, however, we have reached ‘2.0’: a version of zk tech which can replicate the entire Ethereum Virtual Machine (EVM) — the software platform that provides a framework for smart contracts.
With this innovation, all blockchains that are compatible with the EVM can become faster and more user-friendly, breaking through another roadblock on the path to crypto’s mass adoption.
Why we need zk rollups and zk tech
You may have heard of the concept of a trilemma. It’s the idea that you want to achieve three things, but you can’t balance them all together.
It’s a bit like saying you want to have an amazing social scene, a lucrative career and a rewarding family life. You may be able to achieve two of these things, but probably not all three.
Blockchains have the same problem. For blockchains to reach mass adoption, we want them to be three things:
- Secure. They can’t be hacked or taken down.
- Scalable. They can process transactions at high speed even as they grow.
- Decentralised. They avoid the need for a central authority by relying on consensus validation.
However, this triangle has jagged edges on every corner.
- If we want blockchains to be secure and decentralised, it’s hard to keep them scalable, because every transaction has to be validated by hundreds of computers.
- If we want blockchains to be scalable and decentralised, it’s hard to keep them secure, because as more computers join the network, the risk of hacking increases.
- If we want blockchains to be secure and scalable, it’s hard to keep them decentralised, because we have to condense the validation mechanism to a limited number of computers, which is akin to creating a central authority.
This problem has been particularly evident with Ethereum. The blockchain has retained its security and decentralisation, but this places limits on its scalability because each transaction has to be approved by the majority of computers on the network, limiting transaction throughput.
The blockchain needs to be able to handle thousands of transactions per second, but up until now it has only been able to process a handful. This means the chain has become hugely congested, resulting in frustrating timelags and punishing transaction (or gas) fees for users.
ZK technology solves this problem
Zero-knowledge technology allows a validation engine to verify a transaction without revealing any additional detail.
We use this concept all the time in our day-to-day lives. When you log in to your bank, for example, you are challenged to provide a series of digits from your passcode, in random order. You don’t have to provide the code itself: by providing the right digits in the right order, you prove you know the code and, by extension, you are who you say you are.
The ZK tech used in blockchains takes this a stage further.
With ZK tech, the verifier part of the validation engine challenges the prover to solve a complex series of mathematical equations. These equations relate to the computational work you have gone through to execute the transaction, so you can only prove them if you’ve followed the right steps during the execution. The valiation engine can prove a whole bunch of transactions at the same time, and send the record to Ethereum in a single proof. We’ve explained this technology elsewhere, and you can find our explainer here.
ZK tech has two specific benefits.
- It’s totally discreet, removing the need to reveal any details about either party in the transaction.
- It’s fast. You can fit far more transactions into a proof than you can into the blocks that have dominated blockchain validation this far. So, essentially, the number of transactions you can validate simultaneously will increase – dramatically.
How ZK rollup projects have harnessed this technology up to now
Many decentralised applications (dApps) harness ZK technology. They are typically built on top of ZK rollups, or create their own.
These rollups usually bundle transactions (or ‘roll them up’) off-chain, then process them in bulk and finally send the proof back to layer 1, so the main blockchain can update itself.
This first generation of zk rollups are typically broken down into two specific types: zk-snarks and their successor, zk-starks. The two technologies are very similar, with only a few subtle differences.
For example, zk-snarks guarantee security by providing a trusted setup (a multi-party computation between all network participants at the outset) while zk-starks publicise the randomness of the challenges set by the verifier to instill confidence in the system.
Each rollup has its own specific use case. Here are some examples of projects that have used the technology.
rhino.fi. We are built on StarkEx, one of the most influential zk rollups in the blockchain world. StarkEx is specifically designed for trading and payment applications and enables us to process a large number of transactions at once, greatly increasing our transaction throughput.
StarkEx is also the nucleus of our multi-chain galaxy. When you make a cross-chain swap via rhino.fi, you send your disposal asset to StarkEx, and we complete the transaction on your desired chain with your express consent (here’s a detailed explainer on how it works).
Immutable X. This platform is designed for trading NFTs. Just like rhino.fi, Immutable X takes NFT trades and mints off the main Ethereum blockchain and batches them into a compressed proof, which it then uploads to layer 1.
Loopring. Loopring is a protocol for building non-custodial decentralised exchanges with the power of centralised exchanges. It can handle up to 1,000 more trades per second than Ethereum and zk-snarks are a key part of the equation.
Zcash. A privacy-focused cryptocurrency, ZCash is actually a blockchain, not a rollup. However, it uses zk to ensure total discretion for its users. Despite the recent controversy surrounding its offshoot, Tornado Cash, ZCash remains one of the most popular currencies in the digital realm and a shining example for zk rollups everywhere.
And now we’re getting the ‘2.0’ of ZK rollups: ZK EVMs
Whereas the previous generation of ZK technology is designed for specific use cases, and engineered for specific applications on layer 2, ZK EVMs can replicate the entire Ethereum Virtual Machine (EVM) and condense it into a rollup.
This means, that, theoretically, ZK rollups (and blockchains that use ZK technology) can do everything that Ethereum does – creating smart contracts, creating wallets and providing developer tools – using the power of zero-knowledge.
ZK EVMs haven’t come to the market yet, but there are several in development. These include:
zkSync. The creators of this blockchain say they’re striving to achieve VISA-level throughput at scale: in other words, they can execute thousands of transactions in seconds with total security. It’s a brilliant project, and one we’ve already partnered with at rhino.fi.
Scroll. As well as claiming to provide a new, hierarchical zero-knowledge proof system, Scroll says it will enable dApps to talk to one another on layer 2, furthering the development of a seamless ecosystem (something we’re very keen on ourselves).
Polygon zkEVM. Polygon claims to have created the world’s first fully Ethereum-compatible ZK scaling solution, although in truth all three projects we mention are reaching maturity at a similar time. The cool thing about Polygon’s version is that it uses both snarks and starks. We’re looking forward to seeing how that evolves.
This has the potential to create a fundamental shift in how Ethereum and other blockchains operate.
In future, we may see the creation of blockchains that rely entirely on ZK technology. So everything that happens on these blockchains, from the creation of wallets to the withdrawal of funds via off-ramps, will happen extremely quickly and cheaply.
These new, dynamic blockchains will become the fulcrum for the day-to-day execution of transactions. Rather than interacting with Ethereum, you’ll be able to interact with the ZK-powered blockchain and get things done faster.
Ethereum itself will fundamentally change in response. Rather than trying to reinvent itself to keep up with these new blockchains, it will become the blockchain of record, the place where all the transaction details from all the different chains are stored, for security and trustlessness.
….but that’s enough futurism for now. We’ll save that particular deep-dive for the next post we write.
Remember, if you have any questions about anything we’ve written here, hit us up on Twitter or Discord and we’ll be delighted to provide the info you need.