zkEVM stands for "Zero-Knowledge Ethereum Virtual Machine". It is a protocol that allows smart contracts to be executed on public blockchains such as #Ethereum, BNB Chain, Polygon, Avalanche C Chain, etc.

zkEVM is a partially developed technology based on Zero-Knowledge Proofs (ZKP). Vitalik, the founder of Ethereum, divided them into 4 different types based on their compatibility with the EVM. zkEVM has many advantages for developers and the zk ecosystem, but there are still many limitations that need to be addressed.

zkEVM Overview

Before understanding zkEVM, we first understand the concept of zero-knowledge proof (ZKP). This is part of the foundation of zkEVM.

What is Zero Knowledge Proof (ZKP)?

ZK (zero-knowledge) proof technology is an encryption technology used to protect privacy and authentication on the Internet and blockchain platforms. Rather than sharing complete information, ZKP technology allows parties to exchange information without revealing each other’s details.

Simple example: Suppose A wants to prove to an agency that she is 18 years old to apply for a service, but does not want to reveal her date of birth.

A can use the ZKP activity to prove that she is old enough by providing more information with similar meaning. For example:

  • A graduated from university (certifying that A is approximately 22 years old).

  • A holds a B1 driver's license issued by the competent authority (proving that A is over 18 years old).

  • A already owns a business registered under his name (proving that A is 18 years old).

In this example, ZKP allows Alice to verify her age without revealing her date of birth, which helps protect Alice's privacy but still helps the organization ensure that Person A is old enough to sign up for the service.

According to the technical classification of ZKP, there are two main well-known types on the market, zk-SNARKs and zk-STARKs.

  • zk-SNARKs (zero-knowledge succinct non-interactive knowledge arguments).

  • zk-STARKs (Zero-Knowledge Scalable Transparent Arguments of Knowledge).

What is zkEVM?

zkEVM stands for "Zero-Knowledge Ethereum Virtual Machine". This is a protocol that allows smart contracts to be executed on public blockchains such as Ethereum, BNB Chain, Polygon, Avalanche C Chain, etc.

Why was zkEVM born?

Although there are some ZK programming languages ​​​​on the market such as Cairo (StarkWare) or Zinc (zkSync), the ZK programming language still has limitations. One of the biggest obstacles is the heterogeneity among these programming languages, which makes it difficult for developers to program in different languages.

For developers or projects new to the market, focusing on one language Cairo or Zinc will limit them to one ecosystem compared to the various ecosystems running on that language EVM.

Therefore, zkEVM was born to solve this problem. Here are some of the reasons why zkEVM was born:

  • zkEVM is designed to be compatible with Ethereum. Therefore, it becomes easier to deploy smart contracts using ZK Proof technology on Ethereum.

  • zkEVM provides developers with an abstraction layer that makes deploying ZK applications easier. Developers do not need to care about the lowest level ZK algorithm details.

  • zkEVM supports various ZK Proof types, including zk-SNARKs and zk-STARKs, helping developers choose the method that best suits their application.

In short, zkEVM was born to make it easier to deploy smart contracts using ZK Proof technology on Ethereum and EVM chains, while providing a new way for developers.

How does zkEVM work?

Compared to ZK-rollups, zkEVM is no different and follows the general working pattern. However, it should be noted that there are many ideas surrounding the ideal structure of zkEVM and its operation. The purest version of zkEVM will be completely equivalent to Ethereum, and no changes will be allowed, even if they make proof-of-concept easier.

Zero-knowledge rollups take and complete off-chain batch transactions and send a cryptographic report to#Ethereumattesting to the accuracy of these interactions. A zero-knowledge proof does not reveal the details of all transactions in a batch, but only confirms that they are accurate enough to trigger a transition to Ethereum state.

It then provides proof of validity to the smart contract built on the L1 chain. Once received and confirmed, it verifies the input.

Categorizing zkEVM by compatibility with EVM

In Vitalik’s article on how to categorize zkEVM, he mentioned 4 main types based on the compatibility of zkEVM. The lowest level (EVM compatibility), they only give a certain percentage of compatibility, and for some complex smart contracts, they require developers to customize the source code (copy, paste, and rewrite some things).

At a higher level (EVM equivalence), they provide greater compatibility, allowing developers to easily and quickly migrate smart contracts on Ethereum to their protocol rollups with minimal modifications. (copy, paste and edit).

Type 1: zkEVM is fully compatible with Ethereum (Fully Ethereum equivalent)

Type 1 zkEVM is expected to be fully compatible with Ethereum at the consensus level. There are no changes to their status, hash codes, or any consensus logic.

They are also fully compatible with all underlying Ethereum applications, but require longer proof times as no improvements have been made to speed up proof generation.

Type 2: zkEVM fully compatible with EVM (Fully EVM equivalent)

Type two zkEVM is a slightly lower standard and is intended to be equivalent to, rather than compatible with, EVM. They look like EVMs on the outside, but have some minor modifications on the inside to facilitate development and speed up proofing. In this category, some applications may not be compatible.

However, the preparation time of Type 2 zkEVM is still slower. Therefore, zkEVM class 2.5 can reduce preparation time by increasing gas cost.

Featured projects: Polygon zkEVM, Scroll.

Type 3: zkEVM compatible with EVM

Type 3 zkEVM will not be completely equivalent to EVM, because this type prioritizes the convenience of placing EVM-like systems in ZK compilation. This involves specific changes to make building easier and improve the proof of concept. Although zkEVM type three is compatible with most applications, some applications may require rewriting to run.

Featured Project: Polygon zkEVM.

Type 4: zkEVM is roughly compatible with EVM

Type four zkEVM will only be equivalent to a high-level language, not the EVM itself. Therefore, bypassing the process of providing zero-knowledge proofs for each stage of EVM execution can reduce costs and encourage decentralization, as well as shorten proof-of-concept time.

However, this makes zkEVM type four less compatible with some applications. When an application is moved to the EVM, the contract address will most likely change and become unavailable through some debugging infrastructure.

Featured project: zkSync 2.0.

Pros and Cons of zkEVM

Advantages of zkEVM

Extension capability

zkEVM can improve the scalability of public blockchains such as Ethereum by reducing the amount of computational resources required to execute smart contracts. This is done by allowing computation to be offloaded to private networks and onto public blockchains.

Diversity

zkEVM can be applied to various industries that require the execution of private smart contracts. For example, healthcare providers can use zkEVM to ensure patient data remains confidential while still allowing researchers to access and analyze the data.

EVM Compatibility

EVM compatibility is the biggest advantage of zkEVM, which can help developers developing on blockchain EVM easily implement their DeFi protocol to the zk platform. On the contrary, this also helps the zk platform attract more developers, thereby creating a more diverse ecosystem.

Disadvantages of zkEVM

complex

Deploying zkEVM can be a complex process that requires significant expertise and resources. This is because zkEVM includes the integration of many different technologies.

Limited functionality

Because zkEVM is privacy-centric, it may be limited in its ability to perform complex functions of smart contracts. For example, zkEVM may not be able to perform regular account-related functions, such as voting or depositing, and only focus on verifying the validity of private computations.

efficiency

Using zkEVM may affect network performance. Proof-of-stake calculations can require significant computing resources and network bandwidth, which can slow down the processing of transactions. This can be improved by using more efficient software development and optimization techniques, but is still a concern worth noting.

Energy consumption

Similar to performance, using zkEVM incurs energy consumption and associated costs when performing computations. This can be a particular problem for public blockchains, where computational operations are paid for in cryptocurrencies.

Featured zkEVM projects

Currently, there are 6 excellent zkEVM projects on the market:

  • PolygonzkEVM is one of Polygon's latest projects in the zkEVM field, a project renamed after Polygon Hermez spent $250 million to acquire it.

  • The zkSync Era is a product of zkSync (Matter Labs) in the zkEVM array. This is not the first product, but one promoted for later development.

  • StarkWare is the parent company of many zk related products such as StarkEx, SatrkNet... It is also the pioneer of zkSTARK technology and has its own language Cairo. However, they also developed zkEVM to make their language easier to use.

  • Scroll is an open source decentralized project built on the zkEVM platform, aiming to provide better security for blockchain applications.

  • Taiko is an open source, fully decentralized project that aims to evolve into a fully compatible solution for #Ethereum.

  • ConsenSys zkEVM is a product of ConsenSys (the parent company of Metamask). Their goal is to be a fully EVM compliant solution).

Energy consumption

Similar to performance, using zkEVM incurs energy consumption and associated costs when performing computations. This can be a particular problem for public blockchains, where computational operations are paid for in cryptocurrencies.

Some frequently asked questions about zkEVM

What is the relationship between zkEVM and zk-SNARKs, zk-STARKs, zk-SHARKs, and PLONKs?

zkEVM is designed to support the deployment of applications on the Ethereum platform using zero-knowledge proof technologies such as zk-SNARKs, zk-STARKs, zk-SHARKs and PLONK.

Specifically, zkEVM uses these technical architectures to provide security and anonymity in transactions and applications built on the Ethereum platform. For example, zk-SNARKs are used to anonymize sensitive information in Ethereum transactions without revealing the details of that information, thereby increasing user privacy and security.

EVM Compatibility vs. EVM Equivalence: Which is Better?

In terms of compatibility, EVM equivalence is completely superior, but its implementation is also very difficult. There is currently no zkEVM (EVM equivalence) on the market that is active on mainnet.

Secondly, zkEVM protocols are all aimed at achieving EVM equivalence in the future. The difference lies in the approach.

Build zkEVM (EVM equivalent) from scratch (requires more time and effort):

  • Polygon zkEVM、Consensus zkEVM、Scroll...

  • Start with EVM compatibility and slowly build to EVM equivalence (which takes less time): zkSync 2.0.

in conclusion

zkEVM is a new technology that integrates zero-knowledge proofs into blockchain systems. It has the potential to help speed up and reduce transaction costs on Ethereum while increasing user privacy and security. However, zkEVM implementation is still in the early stages of development and requires developer and community interaction to bring it to wider use.

#buildtogether#bicasso#crypto101#antiscam#binancepaymarketplace #bullish