DEV Community

John Vester
John Vester

Posted on

The power of zero-knowledge proofs - exploring the new ConsenSys zkEVM

Article Image

It’s well-known that Ethereum needs support in order to scale. A variety of L2s (layer twos) have launched or are in development to improve Ethereum’s scalability. Among the most popular L2s are zero-knowledge based rollups (also known as zk-rollups). Zk-rollups offer a solution that has both high scalability and minimal costs. In this article, we’ll define what zk-rollups are and review the latest in the market, the new ConsenSys zkEVM.

This new zk-rollup — a fully EVM-equivalent L2 by ConsenSys — makes building with zero-knowledge proofs easier than ever. ConsenSys achieves this by allowing developers to port smart contracts easily, stay with the same toolset they already use, and bring users along with them smoothly — all while staying highly performant and cost effective.

If you don’t know a lot about zk-rollups, you’ll find how they work fascinating. They’re at the cutting-edge of computer science. And if you do already know about zk-rollups, and you’re a Solidity developer, you’ll be interested in how the new ConsenSys zkEVM makes your dapp development a whole lot easier.

It’s zk-rollup time! So let’s jump in.

The power of zero-knowledge proofs

Zk-rollups depend on zero-knowledge proofs. But what is a zero-knowledge proof?

A zero-knowledge proof allows you to prove a statement is true — without sharing what the actual statement is, or how the truth was discovered.

At its most basic, a prover passes secret information to an algorithm to compute the zero-knowledge proof. Then a verifier uses this proof with another algorithm to check that the prover actually knows the secret information. All this happens without revealing the actual information.

There are a lot of details behind that above statement. Check out this article if you want to understand the cryptographic magic behind how it all works. But for our purpose, what’s important are the use cases of zero-knowledge proofs. A few examples:

  • Anonymous payments — Traditional digital payments are not private, and even most crypto payments are on public blockchains. Zero-knowledge proofs offer a way to make truly private transactions. You can prove you paid for something … without revealing any details of the transaction.

  • Identity protection — With zero-knowledge proofs, you can prove details of your personal identity while still keeping them private. For example, you can prove citizenship … without revealing your passport.

  • And the most important use case for our purposes: Verifiable computation.

What is verifiable computation?

Verifiable computation means you can have some other entity process computations for you and trust that the results are true … without knowing any of the details of the transaction.

That means a layer 2 blockchain, such as the ConsenSys zkEVM, can become the outsourced computation layer for Ethereum. It can process a batch of transactions (much faster than Ethereum), create the proof for the validity of the transactions, and submit just the results and the proof to Ethereum. Ethereum, since it has the proof, doesn’t need the details — nor does it need a way to prove that the results are true.

So instead of processing every transaction, Ethereum offloads the work to a separate chain. All Ethereum has to do is apply the results to its state. This vastly improves the speed and scalability of Ethereum.

Image #1

Exploring the new ConsenSys zkEVM and why it’s important

Several zk-rollup L2s for Ethereum have already been released or are in progress. But the ConsenSys zkEVM could be the king. Let’s look at why:

Type 2 ZK-EVM

For one thing, it’s a Type 2 ZK-EVM — an evolution of zk-rollups. It’s faster and easier to use than Type 1 zk solutions. It offers better scalability and performance while still being fully EVM-equivalent.

Traditionally with zk-proofs, it’s computationally expensive and slow for the prover to create proofs, which limits the capabilities and usefulness of the rollup. However, the ConsenSys zkEVM uses a recursion-friendly, lattice-based zkSNARK prover — which means faster finality and seamless withdraws, all while retaining the security of Ethereum settlements. And it delivers ultra-low gas fees.

Solves the problems of traditional L2s

Second, the ConsenSys zkEVM solves many of the practical problems of other L2s:

  • Zero switching costs — It’s super easy to port smart contracts to the zkEVM. The zkEVM is EVM-equivalent down to the bytecode. So no rewriting code or smart contracts. You already know what you need to know to get started, and your current smart contracts already work.

  • Easy to move your dApp users to the L2 — The zkEVM is supported by MetaMask, the leading web3 wallet. So most of your users are probably already able to access the zkEVM.

  • Easy for devs — The zkEVM supports most popular tools out of the box. You can build, test, debug, and deploy your smart contracts with Hardhat, Infura, Truffle, etc. All the tools you use now, you can keep using. And there is already a bridge to move tokens onto and off the network.

  • It uses ETH for gas — There’s no native token to the zkEVM, so you don’t need to worry about new tokens, third-party transpilers, or custom middleware.

  • It’s all open source!

How to get started using the ConsenSys zkEVM

The zkEVM private testnet was released in December 2022 and is moving to public testnet on March 28th, 2023. It’s already processed 774,000 transactions(and growing). There are lots of dApps already: uniswap, the graph, hop, and others. You can read the documentation for the zkEVM and deploy your own smart contract.

Conclusion

It’s definitely time for zk-rollups to shine. They are evolving quickly and leading the way in helping Ethereum to scale. It’s a great time to jump in and learn how they work — and building with the ConsenSys zkEVM is a great place to start!

Have a really great day!

Top comments (0)