Back to Course

3. Advanced Course

0% Complete
0/0 Steps
  1. 1. What is Taproot?
  2. 2. Blockchain bridges – what are they?
  3. 3. What is Ethereum Plasma?
  4. 4. What is Ethereum Casper?
  5. 5. What is Zk-SNARK and Zk-STARK? 
  6. 6. What is Selfish Mining? 
  7. 7. What is spoofing in the cryptocurrency market? 
  8. 8. Schnorr signatures - what are they? 
  9. 9. MimbleWimble - what is it? 
  10. 10. What is digital property rights in NFT?
  11. 11. What are ETFs and what role do they play in the cryptocurrency market? 
  12. 12. How to verify a cryptocurrency project – cryptocurrency tokenomics 
  13. 13. What is the 51% attack on blockchain?
  14. 14. What is DAO, and how does it work?
  15. 15. Zero-knowledge proof – a protocol that respects privacy 
  16. 16. What is EOSREX?
  17. 17. What is Proof of Elapsed Time (PoET)?
  18. 18. Mirror Protocol – what it is? 
  19. 19. What are synthetic assets? 
  20. 20. How to create your own NFT? 
  21. 21. Definition of DeFi, and what are its liquidations?
  22. 22. New identity system - Polygon ID
  23. 23. Ethereum Foundation and the Scroll protocol - what is it?
  24. 24. What is Byzantine fault tolerance in blockchain technology?
  25. 25. Scalability of blockchain technology - what is it?
  26. 26. Interchain Security - new Cosmos (ATOM) protocol
  27. 27. Coin Mixing vs. Coin Join - definition, opportunities, and threats
  28. 28. What is Ethereum Virtual Machine (EVM) and how does it work?
  29. 29. Soulbound Tokens - what are they, and how do they work?
  30. 30. Definition of LIDO - what is it?
  31. 31. What are Threshold Signatures, and how do they work?
  32. 32. Blockchain technology and cyberattacks.
  33. 33. Bitcoin script - what it is, and what you should know about it.
  34. 34. What is zkEVM, and what are its basic features?
  35. 35. Do confidential transactions on blockchain exist? What is a Confidential Transaction?
  36. 36. Algorithmic stablecoins - everything you should know about them.
  37. 37. Polygon Zk Rollups ZKP - what should you know about it?
  38. 38. What is Web3 Infura?
  39. 39. Mantle - Ethereum L2 scalability - how does it work?
  40. 40. What is the NEAR Rainbow Bridge?
  41. 41. Liquid Staking Ethereum and LSD tokens. What do you need to know about it?
  42. 42. Top 10 blockchain oracles. How do they work? How do they differ?
  43. 43. What are Web3.js and Ether.js? What are the main differences between them?
  44. 44. What is StarkWare, and recursive validity proofs
  45. 45. Quant Network: scalability of the future
  46. 46. Polygon zkEVM - everything you need to know
  47. 47. What is Optimism (OP), and how do its roll-ups work?
  48. 48. What are RPC nodes, and how do they work?
  49. 49. SEI Network: everything you need to know about the Tier 1 solution for DeFi
  50. 50. Types of Proof-of-Stake Consensus Mechanisms: DPoS, LPoS and BPoS
  51. 51. Bedrock: the epileptic curve that ensures security!
  52. 52. What is Tendermint, and how does it work?
  53. 53. Pantos: how to solve the problem of token transfer between blockchains?
  54. 54. What is asymmetric encryption?
  55. 55. Base-58 Function in Cryptocurrencies
  56. 56. What Is the Nostr Protocol and How Does It Work?
  57. 57. What Is the XDAI Bridge and How Does It Work?
  58. 58. Solidity vs. Rust: What Are the Differences Between These Programming Languages?
  59. 59. What Is a Real-Time Operating System (RTOS)?
  60. 60. What Is the Ethereum Rinkeby Testnet and How Does It Work?
  61. 61. What Is Probabilistic Encryption?
  62. 62. What is a Pinata in Web 3? We explain!
  63. 63. What Is EIP-4337? Will Ethereum Account Abstraction Change Web3 Forever?
  64. 64. What are smart contract audits? Which companies are involved?
  65. 65. How does the AirGapped wallet work?
  66. 66. What is proto-danksharding (EIP-4844) on Ethereum?
  67. 67. What is decentralised storage and how does it work?
  68. 68. How to Recover Cryptocurrencies Sent to the Wrong Address or Network: A Practical Guide
  69. 69. MPC Wallet and Multilateral Computing: Innovative Technology for Privacy and Security
  70. 70. Threshold signature in cryptography: an advanced signing technique!
  71. 71. Vanity address in cryptocurrencies: what is it and what are its characteristics?
  72. 72. Reentrancy Attack on smart contracts: a threat to blockchain security!
  73. 73. Slither: a static analyser for smart contracts!
  74. 74. Sandwich Attack at DeFi: explanation and risks!
  75. 75. Blockchain RPC for Web3: A key technology in the world of decentralized finance!
  76. 76. Re-staking: the benefits of re-posting in staking!
  77. 77. Base: Evolving cryptocurrency transactions with a tier-2 solution from Coinbase
  78. 78. IPFS: A new era of decentralized data storage
  79. 79. Typical vulnerabilities and bridge security in blockchain technology
  80. 80. JumpNet - Ethereum's new sidechain
Lesson 34 of 80
In Progress

34. What is zkEVM, and what are its basic features?

zkEVM, or Zero-knowledge Ethereum Virtual Machine. A virtual machine that generates zero-knowledge evidence to verify programs. What it is, how it works and its connection to Layer 2 Ethereum is the topic of our lesson today. Here we go!

Definition of zkEVM

ZkEVM is part of Zero-knowledge rollups – solutions that scale to layer 2 of Ethereum. They improve throughput by moving calculations and storing them off the main chain. Zk-rollups send transaction data to Ethereum along with zero-knowledge evidence, while verifying the validity of transactions in off-chain mode. Importantly, zkEVM has the ability to build intelligent contracts in a way that supports zero-knowledge technology. Earlier zk-rollup did not have this capability. They were limited and mainly used for token exchange and payments. However, with technological developments and the introduction of virtual machines compatible with zkEVM, zk-rollup began to support Ethereum dApps.

ZkEVM is compatible with EVM. To understand exactly how they work, we need to explain what EVM is. EVM, or Ethereum Virtual Machine – the runtime environment in which intelligent contracts are created, deployed on the Ethereum network.

You can imagine that EVM`s are the kind of world computer that powers dApps that run on the Ethereum blockchain. All EVM-compatible technologies are those that can run programs created to run in an EVM environment. zkEVMs are one such technology because they can run intelligent contracts in an Ethereum environment without modifying the underlying logic.

How do EVM and zkEVM work?

To understand how the zkEVM works, we must first look at the operation of the EVM itself. Ethereum Virtual Machine – a state machine that transitions from an “old state” to a new state based on input data. By executing an intelligent contract in this ecosystem, we trigger a change in the EVM. In industry terms, we call this a “state transition.”  So, what happens during a transaction executed with an intelligent contract in EVM? Let’s take a look.

  • The byte code of a given intelligent contract goes to EVM and is executed by a peer-to-peer node. The nodes use identical input data for the transaction. So, we have a guarantee that each node will achieve the same result and reach consensus.
  • EVM Opcodes (a.k.a. bytecodes) can interact with the memory, storage, and stack of the EVM ecosystem. They perform read and write operations.
  • EVM opcodes perform accurate calculations, based on the input data obtained from the state store. As a result, the EVM transitions to a new state (the so-called state transition we wrote about earlier).

Given the above information, it will be easier for you to understand zkEVM. They, too, are a virtual machine (just like an EVM) that transitions between states, referring to the operations that the program performs. The difference, however, is that zkEVM  goes further – it produces a proof, which is for us a certification of the correctness of the calculations made. It proves that the operations performed earlier followed the input data and the rules adopted in the protocol. To summarize:

  • zkEVM generates a zero-knowledge proof for us to verify the elements at different stages of calculation.
  • It has access to the bytecode and answers us whether the corresponding program code was loaded correctly and from which address it came.
  • The zkEVM tells you whether the program has patched the correct values from the appropriate state before making any calculations.
  • And finally – whether the opcodes were executed one by one, without skipping any stage.

How is zkEVM structured?

In the zkEVM environment, we distinguish as many as three parts:

  • The execution part, where intelligent contracts, are run in the zkEVM environment. At this stage, zkEVM retrieves the initial states and current transactions to enter the current state at the final stage.
  • Proving circuit. It is here that the production of zero-knowledge proofs takes place, which verify the validity of the transactions calculated in the execution part.
  • Verification. That is, our last part, in which zk-rollups submit proofs of validity to intelligent contracts, implemented on L1 Ethereum for verification. The verifier then runs the calculations one more time and confirms that they are correct.

Interesting fact: Operating codes zkEVM are low-level machine instructions that we use to execute programs in zk-rollup. They are indispensable because EVM operating codes are ineffective for zero-knowledge proofs.

zkEVM as an important part of the EVM ecosystem

A fully functional zkEVM will encourage the development of projects, built on zk-rollup, which will be compatible with EVM. And it already carries with it a stack of other benefits. These will include:

  • It will increase throughput and scalability.
  • It will reduce costs.
  • Furthermore, it will speed up finalization on the blockchain and increase its efficiency.
  • It will help increase the use of network effects provided by Ethereum.

Types of zkEVM

It is worth knowing that currently zkEVM projects fall into two categories.

  1. zkVM that supports native EVM operating codes.
  2. zkVM, which uses custom EVM operating codes to operate.

Below we will explain what the different zkEVM protocols are and how they work.

Polygon zkEVM

Polygon Hermez, or Polygon zk-rollup, with built-in zero-knowledge virtual machine. It is supposed to support EVM compatibility. To achieve this, the EVM byte code must be compatible with microcode and be executed in uVM (also a virtual machine, using SNARK and STARK proofs). The Polygon Hermez zkEVM uses STARK proofs to generate validity proofs for state transitions. STARK verifies the validity of the STARK proofs and forwards them to Ethereum  for re-verification.

zkSync EVM

It is nothing but a compatible EVM zk-rollup. It was developed by Matter Labs and is powered by its own zkEVM. Furthermore, it achieves compatibility with Ethereum at the level of the programming language used, not bytecode.

Scroll zkEVM

It is still under development. According to the developers, Scroll zkEVM will use the so-called cryptographic accumulator to fully verify the correctness of storage. As a result, it will prove that the byte code of the contract has been correctly loaded from the previously specified address.

AppliedZKp zkEVM

AppliedZKP is to develop a zk-rollup compatible with EVM, as well as a mechanism to generate validity proofs for Ethereum blocks. The Ethereum Foundation funds the entire project.

Summary

Most zkEVMs are still at the stage of research, production, and search for optimal solutions. However, the growing demand for zero-knowledge proofs is sure to accelerate the whole process.