Home/Guide/Market Insights/Hot Topic Analysis/Optimistic Rollup: A Technical Analysis

Optimistic Rollup: A Technical Analysis

2023.06.10 MEXC
Share


1. Abstract


Rollup is a scalability solution for Ethereum Layer 2, aiming to enhance the transaction throughput of Ethereum by processing transactions off-chain. Optimistic Rollup, as the name suggests, employs an optimistic mechanism. Optimistic Rollup assumes that all transactions on Layer 2 are valid and compresses multiple transactions into a single submission to Ethereum. After the submission, there is a one-week period during which any user on the chain can challenge the authenticity of transactions. If fraud is detected during the state update, the challenger can receive a reward. Undoubtedly, Optimistic Rollup is the most practical and innovative solution for Ethereum Layer 2, and its technical details deserve further exploration. This article will provide a brief analysis of the implementation details of Optimistic Rollup and delve into its technical principles.

2. How Optimistic Rollup Works


On Optimistic Rollup Layer 2, user transactions are sent to the operators of Optimistic Rollup nodes. These nodes act as "validators" and "aggregators," responsible for aggregating and validating transactions. They compress multiple transactions' data into a single transaction, which, after compression, enters the transaction pool of Ethereum Layer 1, just like any other transaction. Finally, the nodes will receive and process the transactions and publish blocks on the Ethereum blockchain. Anyone can become an Optimistic Rollup node, but similar to the Proof-of-Stake (PoS) mechanism, nodes are required to provide a security deposit to the Ethereum network as a guarantee of their integrity.

During block submission, the nodes do not verify the legitimacy of state transitions. However, they provide a one-week "fraud proof" challenge period for the block. If no node or user challenges the legitimacy of the block during this period, the block will be confirmed. If a successful "fraud proof" challenge is made, the node that published the block will lose its security deposit. To incentivize the detection of fraudulent behavior, the security deposit is rewarded to the user who successfully proves the fraud. Through this approach, Optimistic Rollup utilizes the incentive measures of cryptographic economics to ensure the honesty and reliability of nodes.

3. How Data Compression is Achieved


A regular Ethereum transaction, such as sending ETH, typically consumes around 110 bytes. However, sending ETH on Optimistic Rollup only consumes approximately 12 bytes. To achieve this, Optimistic Rollup employs simpler advanced encoding techniques.

In Optimistic Rollup Layer 2 transactions, the nonce is completely omitted and instead recovered from the pre-state. Gas-related information like Gasprice and Gas is moved out of Layer 2 transactions. The To and From fields no longer require Ethereum addresses; instead, a subtree is added to the state to store the mapping of indices to addresses. Value can be stored using scientific notation, requiring only 3 digits for transfers. As for signatures, transactions within a batch can be aggregated using BLS aggregate signatures, reducing the storage consumption for each individual transaction signature. This aggregated signature can batch-check the entire set of messages and senders. Additionally, these transaction data are stored in the Calldata field on-chain, which has a relatively low gas cost.

The uploaded data includes not only the aforementioned transaction data and content, but also the Merkle tree root before and after batch transactions (including state data such as account, balance, and contract code, thus known as the state root). It also includes data used to prove (or verify) the legitimacy of state transitions. These compression techniques are crucial for achieving scalability using Optimistic Rollup. Currently, after compression, Optimistic Rollup can provide throughput that is over 30 times higher than Ethereum.

4. Submitting Data to Ethereum


Optimistic Rollup deploys a specific smart contract called the Rollup contract on Ethereum Layer 1. This contract is responsible for managing the state of the Rollup, including tracking user balances, handling deposits, withdrawals, and dispute resolution. In Optimistic Rollup, transactions are collected and aggregated by nodes off-chain, bundling multiple transactions into a "Rollup block." This block contains transaction content and the Merkle tree root of the new account state.

Later on, nodes publish the aggregated data as calldata on Ethereum. Calldata is an unmodifiable and non-persistent area within smart contracts, similar to internal storage. As part of the history log of blockchain, calldata is not stored as part of Ethereum's state. As calldata doesn't involve any portion of Ethereum's state, it is more cost-effective to store data on-chain using calldata.

5. State Commitment


As mentioned before, the uploaded data includes not only the transaction content but also the Merkle tree root before and after the transaction. The Merkle tree root represents the Optimistic Rollup state at any given point in time, including accounts, balances, contract codes, etc. It is also known as the "state tree" and serves as the organizational form of the Optimistic Rollup state. The leaf nodes of the Merkle tree represent the account states, and the root node represents the final value. Changes in the Layer 2 transactions of Optimistic Rollup result in updates to the account states, which in turn affect the information of the leaf nodes, ultimately leading to changes in the root hash value. The Layer 2 operator maintains the state tree of Layer 2 accounts locally, recording the root hash values before and after the batch transactions occur, and uploads this root hash value when uploading the batch transactions.

This Merkle tree root (state root) references the latest state of the Rollup, undergoes hashing, and is stored in the Rollup contract. Each on-chain state transition generates a new Rollup state, and nodes submit this state by computing the new state root.

When nodes publish a block, they need to submit both the old state root and the new state root. If the old state root matches the existing state root in the on-chain contract, the latter is discarded and replaced with the new state root. Nodes also need to submit the Merkle tree root for the batch of transactions itself. This allows anyone to prove that the transactions are included in the block by providing a Merkle tree proof. The Merkle tree root is crucial for proving the state changes in Optimistic Rollup.

6. Fraud Proof


Optimistic Rollup allows anyone to provide transaction information and state transition information, and publish blocks without providing validity proofs. To ensure the security of the Ethereum blockchain, Optimistic Rollup has established a one-week window during which users can raise doubts about the blocks (including state transitions and other information).

If someone raises a doubt, the Optimistic Rollup protocol initiates fraud proof computation. By replaying the transactions that resulted in state transitions on the chain, a new state root is computed. This computed state root is then compared with the state root proposed by the sequencer. If other nodes or users discover a discrepancy between the final block state and the state proposed by the node, the fraud proof challenge is successful, and the state transition is canceled. At the same time, the challenging node is penalized, and their bond is confiscated and awarded to the challenger.

Re-executing transactions on Ethereum to detect fraud requires publishing state commitments for individual transactions and adding data that must be published on-chain. Replaying transactions also incurs significant gas costs. Currently, the challenge period for Optimistic Rollup is one week, but due to capital efficiency concerns, the community is actively discussing whether to shorten the challenge period.

7. OVM Virtual Machine


Optimistic Rollup not only supports the scalability of Ethereum but also incorporates the entire functionality of Ethereum smart contracts into the Layer2 framework, providing a Turing-complete OVM virtual machine for the development and deployment of dApps.

The OVM virtual machine is a feature-complete execution environment that is fully compatible with the Ethereum EVM virtual machine and designed for Layer2 systems. With the OVM virtual machine, developers can perform all Ethereum on-chain operations on the Rollup chain and interact with the blockchain through APIs. Additionally, the OVM virtual machine simplifies the process of porting dApps to Layer2. Instead of deploying various Layer2 scaling solutions, project teams can simply integrate with OVM and utilize its various Layer2 structures.

8. Conclusion


There are two Layer2 networks developed based on the Optimistic Rollup protocol: Optimism and Arbitrum. Currently, Optimism and Arbitrum are the largest Layer 2 ecosystems in the Ethereum space, with a total locked value of $4 billion and still experiencing significant growth. Many well-known projects have also joined the Optimistic Rollup camp, such as UniSwap, SushiSwap, and others.

However, Optimistic Rollup is not the only player on the field and faces competition from ZK Rollup. As mentioned earlier, Optimistic Rollup relies on fraud proofs, where the system optimistically believes in the correctness of transaction data and ensures transaction validity through the economic logic of fraud challenges. On the other hand, ZK Rollup is a scalability solution based on zero-knowledge proofs, where off-chain transactions are processed in batches and cryptographic validity proofs are generated to verify the authenticity of each batch of transactions. The superiority of one over the other requires further examination over a longer period of time.

Beginner Benefits

Sign up and easily get New User Rewards. There is up to 1,000 USDT Futures Bonus waiting for you.