{"id":92492,"date":"2025-12-22T10:13:15","date_gmt":"2025-12-22T07:13:15","guid":{"rendered":"https:\/\/forklog.com\/en\/?p=92492"},"modified":"2025-12-23T11:46:46","modified_gmt":"2025-12-23T08:46:46","slug":"what-is-zkevm","status":"publish","type":"post","link":"https:\/\/forklog.com\/en\/what-is-zkevm\/","title":{"rendered":"What is zkEVM?"},"content":{"rendered":"<div class=\"wp-block-text-wrappers-cards single_card\">\n<h2 class=\"card_label\">What is zkEVM?<\/h2>\n<p>zkEVM is a smart-contract execution environment that supports <a href=\"https:\/\/forklog.com\/en\/news\/what-is-a-zero-knowledge-proof\">zero-knowledge proofs<\/a> (ZKPs) and is fully compatible with Ethereum\u2019s infrastructure. <\/p>\n<p>On top of it run <a href=\"https:\/\/forklog.com\/en\/news\/what-is-a-layer%e2%80%912-solution-in-blockchain\">layer-2 solutions<\/a> (<a href=\"https:\/\/forklog.com\/en\/news\/what-are-rollups-and-how-do-they-scale-ethereum\">ZK rollups<\/a>) that scale the network, raise throughput and cut fees.<\/p>\n<\/div>\n<div class=\"wp-block-text-wrappers-cards single_card\">\n<h2 class=\"card_label\">How does a zkEVM work?<\/h2>\n<p>A zkEVM gives developers access to the Ethereum environment atop a ZK-rollup architecture. It combines familiar tooling with L2 security and speed, letting teams lift and shift existing <a href=\"https:\/\/forklog.com\/en\/news\/what-is-a-smart-contract\">smart contracts<\/a> and <span data-descr=\"decentralised applications\" class=\"old_tooltip\">dapps<\/span>, or build new products, without changing code.<\/p>\n<h3 class=\"wp-block-heading\">zkEVM execution environment<\/h3>\n<p><a href=\"https:\/\/forklog.com\/en\/news\/what-is-the-ethereum-virtual-machine-evm\">EVM<\/a> executes smart contracts and computes Ethereum\u2019s state after each new block. The virtual machine translates Solidity into a <span data-descr=\"bytecode\" class=\"old_tooltip\">machine-readable format<\/span>, governing the rules for changing data on-chain.<\/p>\n<p>A zkEVM reproduces this environment and adds cryptographic verification. It takes the network\u2019s initial state, processes transactions and updates the data while simultaneously generating a zero-knowledge proof.<\/p>\n<p>Because Ethereum\u2019s architecture is preserved, developers can readily port existing dapps and tokens to a zkEVM.<\/p>\n<h3 class=\"wp-block-heading\">Proof scheme in a zkEVM<\/h3>\n<p>ZKPs let one cryptographically prove possession of certain information without revealing the underlying data (for example, proving sufficient funds without disclosing a wallet balance).<\/p>\n<p>In a zkEVM, the proof system generates a ZK-proof to verify transactions. This guarantees computational accuracy and the correctness of state transitions.<\/p>\n<h3 class=\"wp-block-heading\">The zkEVM verifier smart contract<\/h3>\n<p>In Ethereum, nodes must check every transaction, limiting throughput. ZK rollups address this by batching many operations and generating a single zero-knowledge proof for the lot, then posting it to the base chain.<\/p>\n<p>This lightens the load on the blockchain, boosting throughput and lowering fees while keeping L1-grade security. A key role is played by the verifier smart contract deployed on Ethereum mainnet. It works as follows:<\/p>\n<ol class=\"wp-block-list\">\n<li>Receives a validity proof (ZKP) from the rollup.<\/li>\n<li>Compares the batch\u2019s resulting data with the system\u2019s initial state.<\/li>\n<li>Confirms the correctness of the state update.<\/li>\n<\/ol>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/forklog.com\/wp-content\/uploads\/img-cc1115c68bb52bed-1602879434319242.webp\" alt=\"zkEVMs take an initial state\" class=\"wp-image-272213\"\/><figcaption class=\"wp-element-caption\">A zkEVM takes an initial state, processes transactions and produces an updated state with a ZKP. Source: <a href=\"https:\/\/chain.link\/education-hub\/zkevm\">Chainlink<\/a>.<\/figcaption><\/figure>\n<p>The chief advantage is that the contract need not re-execute every transaction\u2014checking a single cryptographic proof suffices.<\/p>\n<\/div>\n<div class=\"wp-block-text-wrappers-cards single_card\">\n<h2 class=\"card_label\">What are the advantages of a zkEVM?<\/h2>\n<p>A zkEVM offers several benefits over classic L1 blockchains and other rollup designs.<\/p>\n<h3 class=\"wp-block-heading\">Secure scaling<\/h3>\n<p>ZK-based virtual machines are not constrained by the base layer\u2019s relatively low throughput yet inherit its robustness.<\/p>\n<p>L2 transactions are verified on L1 via validity proofs. This lets zkEVMs optimise speed and throughput without sacrificing security.<\/p>\n<h3 class=\"wp-block-heading\">Lower fees<\/h3>\n<p>The main difference from <a href=\"https:\/\/forklog.com\/en\/news\/looking-ahead-with-optimism-how-rollups-solve-ethereums-scaling-challenge\">Optimistic Rollups<\/a> lies in data handling. \u201cOptimistic\u201d designs must publish full transaction data to L1.<\/p>\n<p>A zkEVM writes only final state changes on-chain because correctness is already guaranteed cryptographically. Less data directly reduces users\u2019 gas costs.<\/p>\n<h3 class=\"wp-block-heading\">Fast finalisation<\/h3>\n<p>Optimistic rollups have a \u201cchallenge period\u201d of 1\u20132 weeks. In ZK systems, transactions finalise as soon as the proof is published to Ethereum.<\/p>\n<p>This matters for the <a href=\"https:\/\/forklog.com\/en\/news\/what-is-decentralised-finance-defi\">DeFi<\/a> sector: traders can move liquidity instantly, improving capital efficiency.<\/p>\n<h3 class=\"wp-block-heading\">Network effects<\/h3>\n<p>Full EVM compatibility opens access to Ethereum\u2019s vast ecosystem\u2014mature tools, libraries and documentation. As other major networks also use the VM (<a href=\"https:\/\/forklog.com\/en\/news\/what-is-polygon-matic\">Polygon<\/a>, <a href=\"https:\/\/forklog.com\/en\/news\/what-is-avalanche-avax\">Avalanche<\/a>), the technology has effectively become a <a href=\"https:\/\/forklog.com\/en\/news\/what-is-web3\">Web3<\/a> standard.<\/p>\n<\/div>\n<div class=\"wp-block-text-wrappers-cards single_card\">\n<h2 class=\"card_label\">What are the pitfalls of using a zkEVM?<\/h2>\n<p>ZKP and the EVM evolved independently for years, making their fusion into a single zkEVM a demanding engineering task. Early efforts such as <a href=\"https:\/\/forklog.com\/en\/news\/zksync-to-cease-support-for-its-first-ethereum-based-rollup\">zkSync Lite<\/a> lacked smart-contract functionality\u2014supporting only simple token transfers, <a href=\"https:\/\/forklog.com\/en\/news\/what-are-atomic-swaps\">atomic swaps<\/a> and <a href=\"https:\/\/forklog.com\/en\/news\/what-are-nfts\">NFT<\/a> issuance.<\/p>\n<p>Progress continues, but the community still faces several fundamental architectural tensions.<\/p>\n<h3 class=\"wp-block-heading\">Stack-based architecture<\/h3>\n<p>The EVM is stack-based (the <span data-descr=\"Last-In, First-Out \u2014 a principle where the last item added is processed first\" class=\"old_tooltip\">LIFO<\/span> principle), which suits a simple VM but is inefficient for zero-knowledge proofs.<\/p>\n<p>A register-based architecture is preferable for zkEVMs\u2014it better fits the heavy computation and cryptography on which ZK relies.<\/p>\n<h3 class=\"wp-block-heading\">Opcode complexity<\/h3>\n<p>Unlike standard runtimes, the EVM uses a specialised set of instructions (opcodes) such as CALL, DELEGATECALL and REVERT. Adapting them to ZK circuits is hard, complicating the architecture and verification of the VM\u2019s behaviour.<\/p>\n<h3 class=\"wp-block-heading\">Storage costs<\/h3>\n<p>To organise data, the EVM uses the <a href=\"https:\/\/forklog.com\/en\/news\/what-is-a-merkle-tree\">Merkle-Patricia tree<\/a> and the hashing algorithm <a href=\"https:\/\/ru.wikipedia.org\/wiki\/SHA-3\">Keccak<\/a>, neither optimised for ZK technologies. Proving the correctness of such hashes is compute-intensive, reducing system performance.<\/p>\n<h3 class=\"wp-block-heading\">Proofs are resource-intensive<\/h3>\n<p>Generating zero-knowledge proofs demands substantial resources. For fast, stable operation, networks often require costly specialised hardware.<\/p>\n<\/div>\n<div class=\"wp-block-text-wrappers-cards single_card\">\n<h2 class=\"card_label\">What types of zkEVM exist?<\/h2>\n<p>Vitalik Buterin <a href=\"https:\/\/vitalik.eth.limo\/general\/2022\/08\/04\/zkevm.html\">proposed<\/a> a zkEVM classification that highlights a key trade-off in design: choosing between Ethereum compatibility and proof-generation speed. The closer a system mirrors the base network\u2019s architecture, the slower ZK proofs are to produce.<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/forklog.com\/wp-content\/uploads\/img-f5896288fbabd7c3-1603387782185804.webp\" alt=\"\u0442\u0438\u043f\u044b_zkEVM\" class=\"wp-image-272214\"\/><figcaption class=\"wp-element-caption\">The main zkEVM types according to Vitalik Buterin. Source: <a href=\"https:\/\/vitalik.eth.limo\/general\/2022\/08\/04\/zkevm.html\">vitalik.eth.limo<\/a>.<br \/><\/figcaption><\/figure>\n<h3 class=\"wp-block-heading\">Type 1: full Ethereum equivalence<\/h3>\n<p>These systems aim for near-total identity with the original network, preserving hash functions, state trees and consensus logic unchanged.<\/p>\n<p>The approach ensures complete compatibility with native applications, allows block explorers and standard execution clients to work without modification, and could ultimately bring ZK directly to Ethereum\u2019s base layer.<\/p>\n<p>The cost is resources: since the blockchain was not designed for this cryptography, proof generation in projects such as Taiko can take several hours.<\/p>\n<h3 class=\"wp-block-heading\">Type 2: full EVM equivalence<\/h3>\n<p>These retain full application-level compatibility while optimising internals. For example, they may replace the resource-hungry Keccak with hash functions friendlier to ZK computation. This lets teams run existing dapps and use familiar developer tools unchanged.<\/p>\n<p>Proofs are faster to generate than in Type 1, but still relatively slow. Examples: Scroll, <a href=\"https:\/\/forklog.com\/en\/news\/polygon-launches-beta-version-of-zkevm-scaling-solution\">Polygon zkEVM<\/a> (in June 2025, a team of seven developers <a href=\"https:\/\/forklog.com\/en\/news\/polygon-zkevm-team-launches-independent-startup-zisk\">moved to the independent project ZisK<\/a>).<\/p>\n<h3 class=\"wp-block-heading\">Type 2.5: EVM equivalence except for gas costs<\/h3>\n<p>Raising gas costs for specific operations speeds up proof generation in complex scenarios, but may break some applications and require code changes.<\/p>\n<h3 class=\"wp-block-heading\">Type 3: near-full EVM compatibility<\/h3>\n<p>These support most EVM opcodes but intentionally omit functions onerous for ZK, such as certain precompiles.<\/p>\n<p>This compromise accelerates the network and proof generation, though some complex apps may need code adjustments.<\/p>\n<h3 class=\"wp-block-heading\">Type 4: language-level compatibility<\/h3>\n<p>This abandons direct EVM mimicry. Instead, Solidity or Vyper is compiled into a format natively optimised for ZK proofs. That sidesteps the stack-versus-register conflict, maximising performance and minimising fees because the system is not burdened by Ethereum\u2019s architectural constraints.<\/p>\n<p>The downside is incomplete compatibility: contract addresses differ from mainnet and familiar debugging tools may be unavailable. Examples: <a href=\"https:\/\/forklog.com\/en\/news\/what-is-zksync\">zkSync Era<\/a> and <a href=\"https:\/\/forklog.com\/en\/news\/what-are-starknets-blockchain-and-cryptocurrency\">Starknet<\/a> (via the Warp <span data-descr=\"a programme that converts source code from one programming language to another\" class=\"old_tooltip\">transpiler<\/span>).<\/p>\n<p>The industry is converging. Type 4 projects (for example, zkSync) are broadening standards support, edging towards Types 2 and 3, while Type 2 teams (Polygon, Scroll) focus on prover optimisations to speed things up.<\/p>\n<\/div>\n<div class=\"wp-block-text-wrappers-cards single_card\">\n<h2 class=\"card_label\">What is the outlook for zkEVMs?<\/h2>\n<p>Ethereum\u2019s scaling is entering a new phase with the advance of zkEVMs.<\/p>\n<p>In October 2025, Brevis <a href=\"https:\/\/forklog.com\/en\/news\/new-scaling-technology-brings-ethereum-closer-to-10000-tps\">unveiled<\/a> Pico Prism, a technology that enables near-instant proof generation using ordinary gaming GPUs. Tests showed strong efficiency: average block processing time was 6.9 seconds, and 96.8% of operations met the 10\u2011second <a href=\"https:\/\/forklog.com\/en\/news\/privacy-stewards\">Ethereum Foundation<\/a> standard.<\/p>\n<p>Pico Prism\u2019s architecture has a single node create the ZK proof. Other network participants can verify it in fractions of a second, without wasting resources on re-computation.<\/p>\n<p>These advances align with the Ethereum Foundation\u2019s strategy for a <a href=\"https:\/\/forklog.com\/en\/news\/ethereum-foundation-unveils-transition-to-zero-knowledge-proofs\">\u201cfull transition\u201d to ZK<\/a>. The initiative will begin with an optional zkEVM client for mainnet.<\/p>\n<p>In future, validators will be able to attest blocks by checking three independent proofs instead of re-executing transactions. The changes are intended to reinforce decentralisation and censorship resistance, enabling solo stakers to help secure the ecosystem.<\/p>\n<p>Bankless co-founder Ryan Sean Adams <a href=\"https:\/\/x.com\/RyanSAdams\/status\/1978450716222988797\">believes<\/a> that Ethereum is becoming a full-fledged ZK blockchain. In his view, the base layer will become the global layer for DeFi, with nodes runnable even on smartphones, while most user activity moves to L2.<\/p>\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\u201cNo other blockchain follows this strategy \u2014 using ZK technology to achieve maximum scalability and decentralisation. Bitcoin remains conservative with first-generation cryptography. Ethereum is actively moving to second-generation cryptography. Others scale with nodes that require data centres,\u201d he concluded.<\/p>\n<\/blockquote>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>A zkEVM is a smart-contract runtime that supports zero-knowledge proofs and is fully compatible with Ethereum.<\/p>\n","protected":false},"author":1,"featured_media":92493,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"select":"1","news_style_id":"1","cryptorium_level":"","_short_excerpt_text":"A zkEVM brings ZK proofs to the EVM for faster, cheaper, secure Ethereum scaling.","creation_source":"","_metatest_mainpost_news_update":false,"footnotes":""},"categories":[2113],"tags":[46,277,1338,2400,1317],"class_list":["post-92492","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cryptorium","tag-ethereum","tag-scaling","tag-zk-rollups","tag-zk-evm","tag-zkp"],"aioseo_notices":[],"amp_enabled":true,"views":"333","promo_type":"1","layout_type":"1","short_excerpt":"A zkEVM brings ZK proofs to the EVM for faster, cheaper, secure Ethereum scaling.","is_update":"","_links":{"self":[{"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/posts\/92492","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/comments?post=92492"}],"version-history":[{"count":1,"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/posts\/92492\/revisions"}],"predecessor-version":[{"id":92494,"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/posts\/92492\/revisions\/92494"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/media\/92493"}],"wp:attachment":[{"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/media?parent=92492"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/categories?post=92492"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/tags?post=92492"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}