Layer 2 —Optimism

lunaray
2 min readJul 17, 2022

0x01 preview

Optimism is an optimistic rollup built on top of Ethereum, so what is exactly an Optimism Rollup and how does it work? let's dive into more details

0x02 what is Optimism rollup?

Optimistic rollups sit in parallel to the main Ethereum chain on layer 2. They can offer improvements in scalability because they don’t do any computation by default. Instead, after a transaction, they propose the new state to Mainnet or “notarise” the transaction.

With Optimistic rollups, transactions are written to the main Ethereum chain as calldata, optimising them further by reducing the gas cost.

As computation is the slow, expensive part of using Ethereum, Optimistic rollups can offer up to 10–100x improvements in scalability dependent on the transaction. This number will increase even more with the introduction of shared chains as more data will be available if a transaction is disputed.

There is a smart contract on Ethereum (call it RollupL1) that allows deposits/withdrawals of ETH. When your money is in RollupL1, you can consider it to be in L2. The L2 money processes much faster than L1 because L2 txns are much more efficient and faster.

There is a program that lives outside of Ethereum (call it RollupL2). It can process txns much faster because it does not have to go through Ethereum’s slow and expensive consensus mechanism. It can process a bunch of txns, combine them (roll them up) into a batch, and submit the batch to RollupL1.

By processing transactions off-chain, you can save more in 2 ways.

  1. data compression: a batch takes up less space than individual txns stacked on top of each other.
  2. you only have to go through Ethereum’s slow and expensive consensus only once.

Optimistic rollups get around this by blind trust: they simply trust the newly submitted state without doing any verification (they are very optimistic ✨). But, they lock up the newly submitted batch for a week (called the “challenge window”). Anyone can submit mathematical proof during this challenge window and receive a reward if they find a fraudulent state update. If the batch is not disputed during the week, it’s considered final.

The reward is financed by the deposit of those who submit the batch. If you want to submit a batch, you need to submit a deposit.

0x03 functions of Optimism contract

  1. a 2-way bridge to move money between L1 and L2
  2. processing transactions and rolling them up into a batch
  3. disputes/proof of invalid state update

stay tuned for the code part!

https://vitalik.ca/general/2021/01/05/rollup.html#how-does-compression-work

--

--

lunaray

Lunaray takes a leading position in smart contract auditing and consulting service for blockchain security.