{"id":37858,"date":"2022-10-31T17:24:23","date_gmt":"2022-10-31T15:24:23","guid":{"rendered":"https:\/\/forklog.com\/en\/?p=37858"},"modified":"2025-08-29T22:34:46","modified_gmt":"2025-08-29T19:34:46","slug":"what-are-rollups-and-how-do-they-scale-ethereum","status":"publish","type":"post","link":"https:\/\/forklog.com\/en\/what-are-rollups-and-how-do-they-scale-ethereum\/","title":{"rendered":"What are rollups, and how do they scale Ethereum?"},"content":{"rendered":"<div class=\"wp-block-text-wrappers-cards single_card\">\n<h2 class=\"card_label\">Key points<\/h2>\n<ul class=\"wp-block-list\">\n<li>Rollups are the core technology behind Ethereum layer-2 protocols. Many rollup designs use zero-knowledge proofs; these are grouped as ZK-rollups.<\/li>\n<li>Rollups enhance transaction privacy and scale Ethereum\u2019s base layer: many transactions are bundled into a single batch that is verified on layer 1.<\/li>\n<li>Popular ZK-based L2s in the Ethereum ecosystem include StarkNet, zkSync, Loopring, Polygon Miden and others. A separate approach, Optimistic Rollups, is used by L2 platforms Arbitrum One and Optimism.<\/li>\n<\/ul>\n<\/div>\n<div class=\"wp-block-text-wrappers-cards single_card\">\n<h2 class=\"card_label\">How do zero-knowledge proofs work?<\/h2>\n<p>The concept of zero-knowledge proofs (ZKP) was formulated by Shafi Goldwasser and Silvio Micali in 1985 in the paper \u201c<a href=\"https:\/\/people.csail.mit.edu\/silvio\/Selected%20Scientific%20Papers\/Proof%20Systems\/The_Knowledge_Complexity_Of_Interactive_Proof_Systems.pdf\" target=\"_blank\" rel=\"noreferrer noopener\">The Knowledge Complexity Of Interactive Proof Systems<\/a>\u201d. They proposed a way to prove a statement\u2019s validity without revealing its details.<\/p>\n<p>To do this, a special \u201cproof\u201d is generated that lets a verifier confirm the correctness of the underlying data. The sender performs computations that will only be correct if they possess the required knowledge. The verifier knows the value of the correct answer, enabling them to confirm possession of the information. Thus, both parties have only limited knowledge of the message\u2019s content.<\/p>\n<p>Consider a demonstration in which a colour-blind person, unable to distinguish colours, is shown two balls\u2014one red and the other green\u2014but they see no difference.<\/p>\n<p>You must prove otherwise without naming the colours. You hand the balls to your counterpart, who hides them behind their back, then shows you one ball. They hide it again and repeat. You must answer whether they switched the ball behind their back. Since you know the correct answer, after several trials you will prove your point\u2014without disclosing any additional information.<\/p>\n<\/div>\n<div class=\"wp-block-text-wrappers-cards single_card\">\n<h2 class=\"card_label\">How are zero-knowledge proofs used in ZK-rollups?<\/h2>\n<p>ZKPs enabled a family of technologies known as ZK-rollups, on which many key <a href=\"https:\/\/forklog.com\/en\/news\/what-is-a-layer%e2%80%912-solution-in-blockchain\">layer-2 protocols<\/a> in the Ethereum ecosystem now run. Vitalik Buterin has called ZKP the most important technology for scaling the main blockchain platform.<\/p>\n<p>In a rollup (from \u201croll up\u201d), batches of many transactions are formed, with each transfer\u2019s data compressed. These bundles submit a proof to the layer\u20111 network (in this case, Ethereum) that attests to the validity of all transactions in the batch without checking each one individually. After verification, the batch is included in a block. A single rollup batch can contain thousands of transactions, yet only a minimal amount of data is posted to layer 1.<\/p>\n<p>ZK-rollups are powered by three components:<\/p>\n<ul class=\"wp-block-list\">\n<li>an L2 virtual machine that groups transactions;<\/li>\n<li>a verifier smart contract that checks batches;<\/li>\n<li>a module that submits batches to layer 1 and updates the state.<\/li>\n<\/ul>\n<p>An L2 node performs basic checks on incoming transactions. After gathering a certain number of transfers, it bundles them and generates a ZK proof. A smart contract deployed on layer 1 verifies the batch. It also handles deposits to and withdrawals from the L2 chain.<\/p>\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"495\" src=\"https:\/\/forklog.com\/wp-content\/uploads\/ZK-Rollup_scheme-1024x495.png\" alt=\"Transaction flow in a ZK-rollup protocol\" class=\"wp-image-189363\" srcset=\"https:\/\/forklog.com\/wp-content\/uploads\/ZK-Rollup_scheme-1024x495.png 1024w, https:\/\/forklog.com\/wp-content\/uploads\/ZK-Rollup_scheme-300x145.png 300w, https:\/\/forklog.com\/wp-content\/uploads\/ZK-Rollup_scheme-768x371.png 768w, https:\/\/forklog.com\/wp-content\/uploads\/ZK-Rollup_scheme.png 1200w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Transaction flow in ZK-rollup\u2011type protocols. Sources: ForkLog, Messari, Polygon<\/figcaption><\/figure>\n<p>Rollups also maintain user balances in the L2 network as a <a href=\"https:\/\/forklog.com\/en\/news\/what-is-a-merkle-tree\">Merkle tree<\/a>. Its root is stored in the contract, which allows state changes to be tracked. Values confirming each transaction are also posted to layer 1. The data include the Merkle root, computed in several steps. Intermediate values are written to the blockchain and confirm every transfer in the batch.<\/p>\n<\/div>\n<div class=\"wp-block-text-wrappers-cards single_card\">\n<h2 class=\"card_label\">What are the advantages of ZK-rollups?<\/h2>\n<p>Zero-knowledge proofs were first used in privacy coins, but in recent years they have gained wide use as scaling solutions for Ethereum.<\/p>\n<p>ZK-rollups let user data be processed without revealing private information. For example, an algorithm can check that funds exist without showing a user\u2019s balance. These properties are important for firms that must protect clients\u2019 personal data.<\/p>\n<p>Using ZK-rollup solutions also markedly reduces transaction fees. Many transfers are combined into one batch, with data compressed\u2014for example, an index may replace an address. Less information is posted to layer 1. Costs are shared across all senders, so each user pays less.<\/p>\n<p>ZK-rollups offer low withdrawal latency to the base layer because the smart contract verifies data before including the batch on-chain.<\/p>\n<\/div>\n<div class=\"wp-block-text-wrappers-cards single_card\">\n<h2 class=\"card_label\">What types of ZK proofs exist?<\/h2>\n<p>There are many ZK-rollup implementations; the most popular include ZK-SNARKs (and the Plonky2 variant), ZK-STARKs, zkSync and others. Each differs in proof size and the computation required to verify it.<\/p>\n<h3 class=\"wp-block-heading\">ZK-SNARK<\/h3>\n<p>ZK-SNARKs produce proofs that are small and easy to verify. They rely on elliptic curves. Computing their values costs less than hashing, so the algorithm is cheaper. The method requires the proof to be destroyed immediately after it is sent. For the algorithm to work, a node generates a public and a private key, after which the latter is destroyed. The public key is used to create another key pair. The private key is then used to generate the proof, and the public one to verify it.<\/p>\n<h3 class=\"wp-block-heading\">ZK-STARK<\/h3>\n<p>ZK-STARKs produce a proof that does not require interaction between prover and verifier. Data validation takes less time, making the technology easier to scale. The algorithm uses hashing, which makes it resistant to quantum-computer attacks.<\/p>\n<h3 class=\"wp-block-heading\">zkSync<\/h3>\n<p><a href=\"https:\/\/zksync.io\/\" target=\"_blank\" rel=\"noreferrer noopener\">zkSync<\/a> is an L2 protocol based on a rollup algorithm of the same name. The platform supports asset transfers and smart contracts. A feature of the algorithm is a low gas limit per transaction that does not exceed 500 Gwei. The main advantage of zkSync 2.0 is compatibility with the <a href=\"https:\/\/forklog.com\/en\/news\/what-is-the-ethereum-virtual-machine-evm\">Ethereum Virtual Machine<\/a>.<\/p>\n<\/div>\n<div class=\"wp-block-text-wrappers-cards single_card\">\n<h2 class=\"card_label\">Which projects use ZK-rollups and Optimistic Rollups?<\/h2>\n<p>Several popular solutions in the Ethereum ecosystem use ZKPs:<\/p>\n<ul class=\"wp-block-list\">\n<li>The <a href=\"https:\/\/forklog.com\/en\/news\/what-are-starknets-blockchain-and-cryptocurrency\">StarkNet<\/a> platform. Its private version, StarkEx, underpins major DeFi protocols Rhino, Immutable X, dYdX and Sorare.<\/li>\n<li><a href=\"https:\/\/minaprotocol.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">Mina Protocol<\/a> is a lightweight blockchain using ZK-SNARK technology to create 22 KB blocks. The platform supports smart contracts and decentralized applications.<\/li>\n<li><a href=\"https:\/\/loopring.org\/#\/\" target=\"_blank\" rel=\"noreferrer noopener\">LoopRing<\/a> is a decentralized trading protocol that uses an order book. It is implemented on Ethereum and uses ZK proofs.<\/li>\n<li><a href=\"https:\/\/polygon.technology\/solutions\/polygon-miden\/\" target=\"_blank\" rel=\"noreferrer noopener\">Polygon Miden<\/a> is a rollup based on zk-STARKs that operates via a dedicated virtual machine, Miden VM.<\/li>\n<\/ul>\n<p>Alongside ZKP-based rollups there is a separate group known as Optimistic Rollups. The difference lies in how transactions are checked: in Optimistic systems, batches are assumed valid, and transactions are verified only if someone challenges them.<\/p>\n<p>Zero-knowledge proofs persist data on the base layer after each transfer is validated, preserving the up-to-date state of the network. By contrast, withdrawing funds from an Optimistic Rollup requires a fraud check that can take up to two weeks; this determines the time to withdraw to layer 1. However, the need to verify data in ZK-rollups raises resource consumption and financial costs.<\/p>\n<p>Two popular Ethereum L2 protocols run on Optimistic Rollups \u2014 <a href=\"https:\/\/forklog.com\/en\/news\/what-is-arbitrum\">Arbitrum<\/a> and <a href=\"https:\/\/forklog.com\/en\/news\/what-is-optimism-op\">Optimism<\/a>.<\/p>\n<figure class=\"wp-block-table\">\n<table>\n<tbody>\n<tr>\n<td><strong>Name<\/strong><\/td>\n<td><strong>Technology used<\/strong><\/td>\n<td><strong>Total value locked<\/strong> (<strong>TVL<\/strong>)<\/td>\n<\/tr>\n<tr>\n<td>Polygon<\/td>\n<td><a href=\"https:\/\/polygon.technology\/solutions\/polygon-miden\/\" target=\"_blank\" rel=\"noreferrer noopener\">Polygon Miden<\/a> (ZK-STARK), <a href=\"https:\/\/polygon.technology\/solutions\/polygon-nightfall\/\" target=\"_blank\" rel=\"noreferrer noopener\">Polygon Nightfall<\/a> (Optimistic Rollups), <a href=\"https:\/\/polygon.technology\/solutions\/polygon-zero\/\" target=\"_blank\" rel=\"noreferrer noopener\">Polygon Zero<\/a> (Plonky2), <a href=\"https:\/\/polygon.technology\/solutions\/polygon-hermez\/\" target=\"_blank\" rel=\"noreferrer noopener\">Polygon Hermez<\/a> (ZK-SNARK)<\/td>\n<td>$1.3bn<\/td>\n<\/tr>\n<tr>\n<td>Arbitrum One<\/td>\n<td>Optimistic Rollups<\/td>\n<td>$1.06bn<\/td>\n<\/tr>\n<tr>\n<td>Optimism<\/td>\n<td>Optimistic Rollups<\/td>\n<td>$993m<\/td>\n<\/tr>\n<tr>\n<td>LoopRing<\/td>\n<td>ZK-SNARK<\/td>\n<td>$128m<\/td>\n<\/tr>\n<tr>\n<td>zkSync<\/td>\n<td>zkSync<\/td>\n<td>$63.76m<\/td>\n<\/tr>\n<tr>\n<td>dYdX<\/td>\n<td>ZK-STARK (StarkEx)<\/td>\n<td>$372m<\/td>\n<\/tr>\n<tr>\n<td>Aztec<\/td>\n<td>PLONK (ZK-SNARK)<\/td>\n<td>$11.9m<\/td>\n<\/tr>\n<tr>\n<td>StarkNet<\/td>\n<td>zk-STARK<\/td>\n<td>$2.86m (excluding projects on StarkEx)<\/td>\n<\/tr>\n<\/tbody>\n<\/table><figcaption class=\"wp-element-caption\">TVL comparison of rollup\u2011based protocols. TVL data \u2014 <a href=\"https:\/\/defillama.com\/chains\" target=\"_blank\" rel=\"noreferrer noopener\">DeFi Llama<\/a> and <a href=\"https:\/\/l2beat.com\/scaling\/tvl\/\" target=\"_blank\" rel=\"noreferrer noopener\">L2BEAT<\/a> as of October 31, 2022.<\/figcaption><\/figure>\n<\/div>\n<div class=\"wp-block-text-wrappers-cards single_card\">\n<h2 class=\"card_label\">What is validium?<\/h2>\n<p>There are composite solutions called <a href=\"https:\/\/ethereum.org\/en\/developers\/docs\/scaling\/validium\/\" target=\"_blank\" rel=\"noreferrer noopener\">validiums<\/a>. This is a compromise technology that combines proofs and data stored at different layers. Proofs are sent to the base blockchain, while data are kept off-chain. The approach lowers fees but introduces dependence on external storage. If that storage fails, users will not lose funds but will be unable to transact.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>How rollups work and how they scale Ethereum; why they use zero-knowledge proofs; and which L2 projects deploy them. Answers in cards.<\/p>\n","protected":false},"author":1,"featured_media":37859,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"select":"1","news_style_id":"1","cryptorium_level":"3","_short_excerpt_text":"","creation_source":"","_metatest_mainpost_news_update":false,"footnotes":""},"categories":[2113],"tags":[2120,2119,2126,1179,1406],"class_list":["post-37858","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cryptorium","tag-101-anonymity","tag-101-defi","tag-kriptorium-ethereum","tag-layer-2-solutions","tag-optimistic-rollup"],"aioseo_notices":[],"amp_enabled":true,"views":"148","promo_type":"1","layout_type":"1","short_excerpt":"","is_update":"","_links":{"self":[{"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/posts\/37858","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=37858"}],"version-history":[{"count":1,"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/posts\/37858\/revisions"}],"predecessor-version":[{"id":37860,"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/posts\/37858\/revisions\/37860"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/media\/37859"}],"wp:attachment":[{"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/media?parent=37858"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/categories?post=37858"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/forklog.com\/en\/wp-json\/wp\/v2\/tags?post=37858"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}