{"id":"zk-rollup","version":1,"language":"en","title":"ZK Rollup","hidden":false,"content":"**ZK Rollup**, also known as zero-knowledge [rollup](https://iq.wiki/wiki/rollup), provides a scaling solution for the [Ethereum](https://iq.wiki/wiki/ethereum) network to increase its throughput by processing transactions outside of the [mainnet](https://iq.wiki/wiki/mainnet). It is a Layer 2 scaling solution that validates [blockchain](https://iq.wiki/wiki/blockchain) transactions faster while minimizing [gas](https://iq.wiki/wiki/gas) fees. [\\[1\\]](#cite-id-wkce3o5hnse)  \n  \n$$widget0 [YOUTUBE@VID](wvbaw2OFYVk)$$  \nZK [Rollup](https://iq.wiki/wiki/rollup) provides efficient and faster scalability solutions because it combines on- and off-chain processes. With Merkle trees being one of ZK Rollup's components, it can successfully validate transactions faster than Layer 1 blockchains. [\\[1\\]](#cite-id-wkce3o5hnse)  \n  \n# Overview  \n  \nZK Rollup provides a scaling solution for the [Ethereum](https://iq.wiki/wiki/ethereum) mainnet by performing computations off-chain while focusing on reducing the amount of data that needs to be posted on-chain. It processes thousands of transactions in a batch and then posts only a minimal summary of data to the [mainnet](https://iq.wiki/wiki/mainnet) to boost [blockchain](https://iq.wiki/wiki/blockchain) scalability and minimize congestion on the network. The ZK [Rollup](https://iq.wiki/wiki/rollup) protocol has three main components: a [smart contract](https://iq.wiki/wiki/smart-contract), which manages interactions between chains; a prover, which generates cryptographic proofs of transaction validity on the Layer 2 chain; and a set of verifiers, which are a group of nodes responsible for confirming proofs and submitting them to the smart contract. [\\[1\\]](#cite-id-wkce3o5hnse)[\\[2\\]](#cite-id-guje0hp72rv)  \n  \nZK Rollup uses cryptographic validity proofs, also known as zero-knowledge proofs (ZKPs), to verify bundled transactions. These validity proofs are submitted to a [smart contract](https://iq.wiki/wiki/smart-contract) deployed on the [Ethereum](https://iq.wiki/wiki/ethereum) blockchain in order to update the state of the ZK Rollup. This approach requires only the validity proofs to be posted on-chain, rather than all transaction data, offering a more data-efficient solution compared to [Optimistic Rollups.](https://iq.wiki/wiki/optimistic-rollup) [\\[2\\]](#cite-id-guje0hp72rv)[\\[3\\]](#cite-id-xuiz327we)  \n  \n## How the ZK Rollup works  \n  \nThe ability to use cryptographic validity proofs to verify transactions on-chain without interaction or trust is a significant feature of the ZK [Rollup](https://iq.wiki/wiki/rollup). The first step in how ZK Rollup works is that users sign transactions and submit them to a prover, who verifies and queues them. The prover then batches thousands of transactions from the queue into a block and generates a zero-knowledge proof (ZKP) of their validity. It only takes a few milliseconds to verify the proof without even revealing any transaction information. Secondly, the prover submits the proof and a small amount of data, like the state root and the transaction root, to the [Ethereum](https://iq.wiki/wiki/ethereum) network as a single transaction. Lastly, the [smart contract](https://iq.wiki/wiki/smart-contract) verifies the proof and updates its state accordingly. If funds were to be withdrawn, an exit request would be required, which is submitted in an Ethereum block. In response, the [smart contract](https://iq.wiki/wiki/smart-contract) unlocks and transfers the funds instantly. There is no waiting period in the ZK Rollup for withdrawals because they are verified by proof, unlike the [optimistic rollup](https://iq.wiki/wiki/optimistic-rollup), which can take about one week to complete. [\\[1\\]](#cite-id-wkce3o5hnse)[\\[2\\]](#cite-id-guje0hp72rv)[\\[4\\]](#cite-id-c5t8gzjrnim)  \n  \n# The interaction of ZK Rollup with the Ethereum network  \n  \nThe ZK [Rollup](https://iq.wiki/wiki/rollup) protocol operates on top of [Ethereum](https://iq.wiki/wiki/ethereum) and is managed by [smart contracts](https://iq.wiki/wiki/smart-contract). Its core architecture is made up of two components: on-chain contracts and off-chain virtual machines (VMs). [\\[2\\]](#cite-id-guje0hp72rv)  \n  \n## On-chain Contracts  \n  \nThe [Ethereum](https://iq.wiki/wiki/ethereum) network serves as the base layer (Layer 1) for ZK Rollup. [Smart contracts](https://iq.wiki/wiki/smart-contract) on the network, including the main contract, which stores [rollup](https://iq.wiki/wiki/rollup) blocks, monitors state updates, and tracks deposits, control the ZK Rollup protocol. Verifiers are also an on-chain contract that verifies zero-knowledge proofs submitted by block producers. [\\[2\\]](#cite-id-guje0hp72rv)  \n  \n## Off-chain Virtual Machines (VM)  \n  \nThe off-chain VM serves as the secondary layer (Layer 2) for the ZK Rollup protocol. This is where transaction execution and state storage happen, as well as verifying the validity of transactions. When validity proofs are verified on the [Ethereum](https://iq.wiki/wiki/ethereum) [mainnet](https://iq.wiki/wiki/mainnet), state transitions in the off-chain VM are guaranteed. [\\[2\\]](#cite-id-guje0hp72rv)  \n  \n# Factors Determining ZK Rollup Types  \n  \nThe various factors that determine ZK Rollup types are the proof system, circuit design, and data availability solution. [\\[1\\]](#cite-id-wkce3o5hnse)  \n  \n## Proof System  \n  \nThis refers to the type of ZKP used to verify on-chain transactions. Different proof systems have distinct properties and trade-offs, like proof size, verification time, trusted setup, or prover time. The major types of proof systems are [ZK SNARKs](https://iq.wiki/wiki/zk-snark) (succinct, non-interactive arguments of knowledge), ZK STARKs (succinct, transparent arguments of knowledge), PLONK, and bulletproofs. Some ZK Rollups utilizing different proof systems include Aztec ([ZK SNARKs](https://iq.wiki/wiki/zk-snark)), StarkWare (ZK STARKs), and zkSync (PLONK). [\\[1\\]](#cite-id-wkce3o5hnse)  \n  \n$$widget0 [YOUTUBE@VID](GvwYJDzzI-g)$$  \n  \n## Circuit Design  \n  \nCircuit design is about encoding and executing transactions on the Layer 2 chain. The three main components of circuit designs are scalability, usability, and compatibility. Primary circuit designs can be account-based, ZKVM-based, or UTXO-based. Some ZK[ Rollups](https://iq.wiki/wiki/rollup) using different circuit designs include zkSync (account-based), ZkPorter (ZKVM-based), and StarkWare (UTXO-based). [\\[1\\]](#cite-id-wkce3o5hnse)  \n  \n## Data Availability Solution  \n  \nThis refers to the storage and access of full-block data off-chain. Examples of data solutions are [IPFS](https://iq.wiki/wiki/ipfs) (decentralized storage networks), Validium (data availability sampling), Celestia (data availability committees), etc. Some ZK Rollups using different data availability solutions include zkSync (IPFS), ZkPorter (Celestia), and StarkWare (Validium). [\\[1\\]](#cite-id-wkce3o5hnse)  \n  \n# Benefits  \n  \nZK Rollup has many benefits, including lower gas fees, higher throughput, security and integrity, privacy features, and faster transaction finality periods. [\\[1\\]](#cite-id-wkce3o5hnse)  \n  \n## Lower Gas Fees  \n  \nZK Rollup decreases gas costs and increases efficiency due to its ability to generate zero-knowledge proofs for transaction batches and submit minimal on-chain data by compressing the data, which reduces the cost of publishing data on-chain. [\\[1\\]](#cite-id-wkce3o5hnse)[\\[5\\]](#cite-id-s5x5ujpvzw)  \n  \n## Higher Throughput  \n  \nFaster transaction speeds and reduced confirmation times are achieved by ZK Rollup because it avoids base layer congestion and limitations. It has been suggested that ZK [Rollup](https://iq.wiki/wiki/rollup) can increase throughput by up to 100 times. [\\[1\\]](#cite-id-wkce3o5hnse)  \n  \n## Security and Integrity  \n  \nZK [Rollup](https://iq.wiki/wiki/rollup) uses trustless cryptographic frameworks to ensure its security. Trustless crypto mechanisms are a safer bet for ensuring security and maintaining integrity because they allow users to process their transactions or store their data without the need to trust third parties. [\\[1\\]](#cite-id-wkce3o5hnse)[\\[5\\]](#cite-id-s5x5ujpvzw)  \n  \n## Privacy Features  \n  \nThere is a high level of transaction privacy due to using ZKPs to verify transactions on-chain without disclosing any information. Another privacy feature ZK [Rollup](https://iq.wiki/wiki/rollup) offers is concealing transaction amounts or recipients. [\\[1\\]](#cite-id-wkce3o5hnse)  \n  \n## Faster Transaction Finality Periods  \n  \nUsers receive immediate feedback and finality on their transactions, as they only need the [blockchain](https://iq.wiki/wiki/blockchain) to verify the validity of proofs submitted by the operators. [\\[1\\]](#cite-id-wkce3o5hnse)[\\[5\\]](#cite-id-s5x5ujpvzw)","summary":"ZK Rollup is a Layer 2 scaling solution for Ethereum, processing transactions off-chain for faster validation, reduced congestion, and lower gas fees.","categories":[{"id":"cryptocurrencies","title":"Cryptocurrencies"}],"promoted":0,"tags":[{"id":"Glossary"}],"metadata":[{"id":"references","value":"[{\"id\":\"wkce3o5hnse\",\"url\":\"https://coinmarketcap.com/alexandria/glossary/zero-knowledge-rollups\",\"description\":\"Coin Market Cap\",\"timestamp\":1691654335034},{\"id\":\"guje0hp72rv\",\"url\":\"https://ethereum.org/en/developers/docs/scaling/zk-rollups/\",\"description\":\"Ethereum website\",\"timestamp\":1691655762778},{\"id\":\"xuiz327we\",\"url\":\"https://coinbrain.com/blog/the-4-zk-rollups-with-huge-potential-in-2023\",\"description\":\"Coin Brain website\",\"timestamp\":1691655893418},{\"id\":\"c5t8gzjrnim\",\"url\":\"https://iq.wiki/wiki/rollup\",\"description\":\"IQ Wiki\",\"timestamp\":1691656496728},{\"id\":\"s5x5ujpvzw\",\"url\":\"https://blog.pantherprotocol.io/zk-rollup-projects-inner-workings-importance-analysis/#benefits-drawbacks-of-zk-rollup-projects\",\"description\":\"Panther Protocol blog\",\"timestamp\":1691657635819}]"},{"id":"previous_cid","value":"QmTuxgXyTM76cQcf7zj1Yyz3bQQj2AfMDkT6sgBAqVbNz4"}],"user":{"id":"0x6753061a4cffbc0A617e57E956A298D88702a94B"},"author":{"id":"0x2c5e9a1Fc791be0581c57b2E5787adCcA5ef3736","profile":{"username":"MLizzbert","avatar":""}},"media":[{"name":"GvwYJDzzI-g","id":"https://www.youtube.com/watch?v=GvwYJDzzI-g","size":"0","type":null,"source":"YOUTUBE"},{"name":"wvbaw2OFYVk","id":"https://www.youtube.com/watch?v=wvbaw2OFYVk","size":"0","type":null,"source":"YOUTUBE"}],"views":54,"events":[],"ipfs":"QmTuxgXyTM76cQcf7zj1Yyz3bQQj2AfMDkT6sgBAqVbNz4","transactionHash":"0x790444001ae78889a025ef614126d9281778d782135330cb93de95602e89dff1","created":"2023-08-10T09:02:55.766Z","updated":"2023-08-26T16:42:53.339Z","linkedWikis":null,"images":[{"id":"QmUxfyGjiYjqoQKrQuji2GcoMQ7uXJABWK4octr36q1aej","type":"image/jpeg, image/png"}]}