Cointime

Download App
iOS & Android

Scaling The Ethereum Using Rollups-Layer 2

Validated Project

Over the past few years, we have witnessed an exponential increase in demand for Ethereum transactions, which has led to skyrocketing gas prices (increased transaction fees). Rollups offer a solution to perform transactions secured by blockchain at a lower cost. The basic idea strongly resembles the concept of shadow chains proposed by Vitalik Buterin in 2014.

What is a Rollup?

Rollup is an L2 scaling solution that extends the concept of sidechains. They help reduce the load of Ethereum by performing transaction executions on L2 (off-chain). Unlike the sidechain example which we discussed, rollups save certain data corresponding to each transaction on Ethereum. Rollups group transactions into batches, execute them off-chain and store some data related to each transaction on the main chain. Let’s find out more about rollups.

Rollup Vs Sidechain

Sidechains are secondary blockchains which occasionally communicate with the main chain (L1). Sidechains have independent consensus mechanisms and protocols; thus, Ethereum cannot guarantee the security of a sidechain. Whereas a rollup relies on the security of the L1 blockchain. It will function properly as long as the Ethereum is live. All transactions are

stored on the blockchain and executed off-chain by a central entity. Rollups group transactions into batches and compress them. It increases the throughput by reducing the size of each transaction and by removing the need for execution on L1. The verification part is done on the blockchain.

How do rollups work?

Let us see an example.

In the Ethereum network, transactions from an account can only occur sequentially. Alice wishes to transfer some tokens to Bob, Carol and David. She has to first transact with Bob, wait for it to be confirmed, next transact with Carol and so on. When she finishes the transactions, it will take approximately 36 seconds (assuming an optimal situation) or longer.

Rollups offer a solution to reduce the overall time and price to carry out these transactions by exempting Ethereum from doing the execution.

To understand this concept, let’s review what happens when a user submits a transaction.

Ethereum maintains the state of the blockchain, which refers to the current balance held by each account (contract & user accounts), and current values assigned to the state variables in the contract. This data is represented using Merkle Patricia Tries, which are stored in Key-Value databases like LevelDB or CouchDB. A transaction is a request for state transition. When the transaction: Alice transfers 10 ETH to Bob is processed, Ethereum will check if Alice has enough amount to pay Bob, debits her account balance and credits Bob’s account. This will alter the data stored in the trie, which will generate a new root value.

Assume we have a rollup. Rollup will maintain a state that records the addresses and account states being handled by them. The state of a rollup is stored on the L1 chain by a rollup smart contract.

>> Alice will submit all three transactions to the rollup. Each transaction will require a state change.

>> The rollup will process the transactions into a batch (block). This will generate the new state root.

>> The compressed set of transaction batch, previous state root and current state root will be sent to the smart contract.

>> The rollup contract on the L1 checks if the previous state root in the batch matches its current state root. It will update the state root to the new value if it is a match.

How can Ethereum secure Rollups without executing the transactions in L1?

This is the factor which makes rollups different from a sidechain. Ethereum guarantees the genuineness of the state updates. This approval is represented in the form of proof. Rollups prove their correctness to Ethereum using particular proofs that allow Ethereum to verify the transaction processing without actually executing the transactions.

What is the role of the proof?

Rollups are categorized based on the nature of the proof.

Optimistic rollups such as Arbitrum and Optimism are based on fraud proofs. They follow an optimistic perspective and assume that transactions are valid unless someone challenges them. They post the updated state to Ethereum without posting any proof. Anyone can post a batch of transactions. To challenge it, one should execute the same transactions and submit a proof of incorrect computation called fraud-proof on the rollup smart contract. The contract will verify this. If incorrect computation is detected, that batch of transactions and subsequent batches will be reverted. The contract maintains a history of previous state root upgrades and the corresponding batch hashes. An incentive mechanism rewards the participating entities so that they are tempted to produce correct claims and challenge incorrect claims.

Zk Rollups(Zero-knowledge) submits a validity proof along with every batch of transactions. The validity proof is a cryptographic proof which proves the new root has been computed correctly from the submitted batch of transactions. This proof is checked by the contract. Zk-proof represents the mathematical certainty that whatever is posted on L1 is valid and occurred on the rollup. If the proof evaluates to true, the transaction can be considered final. StarkWare and Zksync are working on ZK-rollups in Ethereum.

Optimistic rollups are less expensive and suitable for general-purpose computations. Generally optimistic rollups are EVM-compatible. However, they have limited throughput. Though the proof computation is technically challenging and costly, zk rollups offer better data compression and faster finality. This makes zk rollups fit for financial applications. EVM compatibility of zk-rollups is an active research area.

The proofs ensure that even if the validators/operators of the rollup act wrongly, they cannot steal any funds since the ultimate security guarantees are derived from Ethereum.

How does rollup compress data?

Many fields typical to an Ethereum transaction can be omitted or represented in a storage-efficient way in rollup transactions. For example, every Ethereum transaction has a nonce value, which is incremented for every subsequent transaction of the sender. But a rollup transaction does not require a nonce value since it can be computed from the previous state. Another example is the recipient’s address. In rollups, the address is replaced by an index value much smaller.

Rollups try to replace data with computation wherever possible. They can reduce the overall size of a transaction to almost one-tenth of its Ethereum equivalent.

How can rollups reduce cost?

Batching multiple transactions together reduces overall transaction fees by

spreading fixed costs over all transactions within a given batch. The L2 operators also apply some compression techniques to minimize the data posted to Ethereum.

Rollups convey their state roots back to Ethereum using calldata for storage. Calldata is currently the cheapest form of storage on Ethereum.

Summing up

Rollups execute transactions “off-chain” from the main network (L1), batch (“rollup”) these transactions into a single block, and then send that block to the L1 as a single transaction. In short, thousands of transactions can be processed off-chain and represented by submitting a single transaction to the main network. In this way, rollups can significantly increase the scalability and throughput of the underlying L1 blockchain.

References

[1] Cosimo Sguanci, Roberto Spatafora, Andrea Mario Vergani, “Layer 2 Blockchain Scaling: a Survey”.

[2]Gangwal, Ankit & Gangavalli, Haripriya & Thirupathi, Apoorva. (2022). A Survey of Layer-Two Blockchain Protocols.

[3]https://ethereum.org/en/layer-2/

[4] https://vitalik.ca/general/2021/01/05/rollup.html

[5] https://www.preethikasireddy.com/post/a-normies-guide-to-rollups

[6] https://medium.com/blockchain-biz/a-comprehensive-guide-for-those-with-zero-knowledge-on-rollups-79a592fb96a4

(By Sumi Maria Abraham, Research and Development Engineer, Kerala Blockchain Academy)

Comments

All Comments

Recommended for you

  • Cointime May 4th News Express

    1. Hong Kong Bitcoin Spot ETF has held 4,218 BTC since its listing three days ago

  • Blockchain Asset Management announces launch of a dedicated blockchain fund for accredited investors

    Blockchain Asset Management, a cryptocurrency fund with a scale of $100 million, announced the launch of an exclusive blockchain fund for qualified investors. The specific amount of funds raised by the fund has not been disclosed yet, but it is said to have reached "eight figures", which means it is in the tens of millions of dollars. In addition, the investment threshold for the new fund is $100,000, and all investors are required to meet the approved standards (annual income exceeding $200,000, net assets exceeding $1 million).

  • Renault's BWT Alpine F1 Team announces partnership with ApeCoinDAO

    The BWT Alpine F1 team under Renault announced a partnership with ApeCoinDAO on X platform, which will introduce APE into the Alpine F1 ecosystem and collaborate with global token holders to launch peripheral products and digital assets inspired by the first ApeCoin. It is reported that according to the cooperation between the two parties, in the future, BAYC NFTs may be able to wear equipment and clothing with the Alpine team logo.

  • BTC breaks through $63,000

    The market shows BTC has broken through $63,000 and is currently trading at $63,014.9, with a daily increase of 6.11%. The market is volatile, so please exercise caution in risk management.

  • The total gas consumption on the Base chain exceeds 10,000 ETH

    According to the blockchain analysis platform Dune Analytics, the total gas consumption on the Base chain has exceeded 10,000 ETH, reaching 10,839.5062 ETH at the time of writing (equivalent to over $33.6 million at current prices). The average gas usage amount is about $0.1754 per transaction (0.000059661 ETH), and the total number of blocks has reached 13.41 million, with an average transaction volume of about 14.63 transactions per block. In addition, the data shows that the total transaction volume on the Base chain has exceeded 196.2 million, with over 8.366 million users and over 184 million user transactions at the time of writing. Furthermore, the total number of contracts created on the Base chain has exceeded 64 million, reaching 64,056,573 in the current period.

  • A wallet received 2,000 ETH from Alemeda/FTX

    As monitored by The Data Nerd, 6 hours ago, wallet 0xaEa received 2,000 ETH (approximately $6.23 million) from Alemeda/FTX. Within a week, it received a total of 8,000 ETH (approximately $24.71 million) from Alameda and deposited 6,000 ETH into Binance.

  • A single transaction with a transaction fee of up to 1.5 BTC appeared on the Bitcoin chain

    According to on-chain data tracking service monitoring , there has been a single transaction on the Bitcoin network with a transaction fee as high as 1.5 BTC, worth about $100,254. It is reported that the sender of the transaction is an address starting with "bc1p4n" and the recipient is an address starting with "bc1pqv".

  • 2 wallets deposited 211 billion SHIB into Coinbase within 10 hours

    According to The Data Nerd's monitoring, within 10 hours, 2 wallets (with the same amount of SHIB) deposited a total of 211 billion SHIB (about 5.16 million US dollars) into Coinbase. These wallets accumulated these SHIBs last week, and if sold at the current price, it would cause a small loss (about 120,000 US dollars).

  • USDT issuance on TON chain reaches $100 million

    According to official data, the issuance and circulation of USDT on the TON chain has reached 100 million US dollars, making TON the fastest-growing blockchain for Tether USDT issuance in Web3 history.

  • The 133rd Ethereum ACDC meeting: The goal is to complete the devnet within 7-10 days

    The Ethereum developers held their 133rd ACDC conference call. First, they outlined the latest research on Ethereum protocol confirmation rules. Then, they discussed Pectra updates related to EIP-7547 and CFI states, and decided to put them on hold temporarily. They also updated the v1.5.0-alpha.1 specification. Regarding the implementation updates for devnet-0, most teams are making progress, but there are also some unexpected complexities. The goal is to complete devnet within 7-10 days.