All about optimistic rollups and Arbitrum
Optimistic rollups like Arbitrum, Optimism, and Base dominate the L2 space - and our own Lumio Optimism is an optimistic L2, as well. In this blog, we’ll dig into how these rollups work, as well as take a close look at Arbitrum and its emerging L2 network, Orbits.
Basic definitions: L1 vs L2 vs a rollup
Think of a blockchain. You’re probably thinking of a Layer 1, like Ethereum, Solana, or Aptos. Layer 1s are blockchains which can validate and finalize transactions on their own, the base levels of blockchain ecosystems. Layer 2s function on top of them as scaling solutions that improve transaction speed and throughput.
Ethereum in particular has numerous Layer 2s, as it has significant scaling challenges for such a popular blockchain. Even after The Merge, in which Ethereum was upgraded from a Proof-of-Work consensus mechanism to cheaper, greener Proof-of-Stake, it is still only seeing throughput of 20 to 30 transactions per second.
L2s come in different shapes - for example, Bitcoin has Lightning Network, an L2 for faster payments . However, the best-known type of L2s are rollups - scaling solutions that process transactions off-chain, then bundle (“roll up”) the results and submit them to Ethereum.
A word on the “off-chain” vs. “on-chain” terminology. A rollup is itself a blockchain that processes transactions using its own consensus algorithm. Relative to the rollup itself, transactions are executed on-chain - but relative to the L1 (Ethereum), they are processed off-chain (i.e. not on Ethereum mainnet itself). So, when you read that a rollup executions transactions off-chain, don’t get confused!
Optimistic rollups vs. ZK rollups
There are two main types of Ethereum rollups: optimistic and zero-knowledge (ZK). They differ in the way they verify the validity of the transaction batches they submit to Ethereum.
- Optimistic rollups are so called because they optimistically assume that nobody is trying to lie, double-spend, and so on. They submit all of the transactions to Ethereum without full proofs. But if an interested party (a validator) suspects that a certain transaction is fraudulent, they can contest it and trigger an on-chain “investigation” (called a dispute resolution protocol). For this purpose, Arbitrum, Optimism etc. have a special challenge window - usually it’s 7 days from the moment a transaction was submitted to Ethereum as part of a bundle.
To be able to challenge a transaction, one needs to have ETH staked in the rollup’s contract on Ethereum. If a staker is caught submitting an invalid block or incorrectly contesting a valid one, they lose their staked ETH.
The 7-day challenge window is often quoted as a big disadvantage of Arbitrum and other optimistic rollups. But in reality, the only situation where it affects regular users is when they send ETH from the L2 to Ethereum via the official Arbitrum bridge - in which case they have to wait 7 days before being able to withdraw (claim) their ETH. And even this issue can be solved by using a faster third-party bridge.
- Zero-knowledge rollups, in contrast, use a special type of mathematical proof to verify the transactions independently. (We discussed these in detail in our Zero Knowledge 101 article, so check that out if you haven’t already.) They don’t need challenge windows, because all transactions they submit have already been proven valid using these ZK proofs.
ZK proofs take a lot of resources to compute, so a ZK rollup is usually more expensive to run. Plus, ZK transaction batches are very heavy, as they contain those bulky proofs. But on the other hand, ZK rollups offer better privacy, and as the number of people using them grows, the cost of individual transactions will decrease, since the cost of building a proof is divided between all the transactions included in it.
How did Ethereum’s Dencun upgrade affect rollup fees?
The recent Dencun (Deneb + Cancun) fork had a huge positive impact on rollups: fees on Arbitrum, Ethereum, etc. fell by as much as 99%. How did this become possible?
As we explain in our detailed article about the Cancun upgrade, Ethereum has completely changed the way rollup transactions are written onto the mainnet. Before, rollups used calldata - a type of data passed together with the transaction in the Data field. The problem was that writing to that field is really expensive: calldata costs accounted for over 90% of rollup transaction fees.
Dencun introduced a new kind of data object, called a blob, which can hold a lot of rollup transaction data. Instead of being written as calldata, data is stuffed into the blob and a small header with the proposer’s signature is attached to it. The blob is sent to Ethereum using a brand-new type of transaction - a blob-carrying transaction.
The trick with a blob is that Ethereum mainnet can verify that it contains all the data that the header says it contains - but cannot actually read the contents of the blob. It’s said to be opaque to the EVM. The rollup can read everything that’s in a blob, and various interested parties can, too. Thanks to this ‘opacity’, blobs can be constructed in a resource-efficient way using JavaScript, Python, and other formats.
This new system of storing rollup data on Ethereum is called proto-danksharding, and both optimistic and ZK rollups can use it. Once major rollups turned on blob support, their transaction fees dropped by as much as 99% - for example, it now costs only $0.01 to send ETH or swap tokens on Arbitrum.
What is Arbitrum?
With over $18 billion in TVL, Arbitrum is one of the biggest blockchains out there - and the largest L2 ecosystem. But did you know that Arbitrum is building a whole network of rollups, called Orbit chains? Or that there’s a second Arbitrum mainnet, called Nova, which uses a different technology? In the rest of the article, we will explore these and many other aspects of Arbitrum.
Arbitrum is a Layer 2 optimistic rollup for Ethereum, launched on mainnet in September 2021, a few months after Optimism. Currently, Arbitrum is the most popular L2: according to L2Beat, it had a TVL of $18.8 billion in late May 2024. This includes all the tokens natively minted on and bridged to Arbtrum. This gives Arbitrum a rollup market share of over 40%.
Meanwhile, Arbitrum’s DeFi TVL approaches $3.1 billion, according to DeFiLlama. This puts it in the 5th position among all L1 and L2 blockchains, after Ethereum, Tron, BNB Chain, and Solana.
Arbitrum has 7.6 million monthly active addresses - far ahead of the nearest competitor, Base, with its 3.88 million.
Arbitrum is developed by Offchain Labs, led by former White House CTO Ed Felten and his PhD students Steven Goldfeder and Harry Kalodner. Since March 2023, governance is controlled by the Arbitrum DAO.
In March 2023, Arbitrum announced the launch of a new governance DAO, as well as a corresponding governance token: ARB. 56% of the total ARB supply was designated for the community, with the other 44% reserved for Offchain Labs team and investors.
In terms of price action, ARB today is more or less where it was a year ago.
How Arbitrum processes transactions
A single Arbitrum transaction can be analyzed into five steps. (This process should be fairly similar for other optimistic rollups.)
- A user initiates a transaction - for example, interacts with a dApp on Arbitrum or send crypto to another Arbitrum wallet.
- The transaction is submitted to the Sequencer - an entity responsible for ordering transactions.
- The Sequencer places the transaction in its Inbox queue, executes it using Arbitrum’s Nitro VM, and issues a receipt to the user. This is known as a “soft confirmation” - in the sense that the transaction has been confirmed only by the Sequencer but not on Ethereum mainnet. The user has to trust the Sequencer to eventually post the transaction to the L1.
- The Sequencer eventually includes the transaction into a rollup batch that is submitted to Ethereum as a blob transaction. A new Arbitrum batch is normally posted every few minutes and contains around 5,000-6,000 transactions.
- A few Ethereum blocks later, the transaction can be considered final on the L1. Meanwhile, an Arbitrum validator that has ETH staked on Ethereum checks the rollup transactions posted on the L1 and asserts that the new rollup block (RBlock) is valid. It is this assertion that can be challenged by another validator by means of asserting a different block.
To challenge the authenticity of the assertion, a validator needs to post a fraud proof if necessary. Successful challengers receive a large reward, which is taken from the validator’s stake. This is the incentive for both parties. Only one honest validator is needed to prove fraudulent assertions.
- If the RBlock goes unchallenged for 7 days (or once the dispute is resolved), the block is confirmed on the L1. For users whose transactions featured bridging ETH to the L1, this is the moment when they can finally withdraw their funds.
Arbitrum One vs. Arbitrum Nova
When people talk about Arbitrum, they mean Aribtrum One - and few know about Arbitrum Nova, a parallel mainnet chain. Arbitrum Nova was introduced in August ‘22, using a newer rollup technology called AnyTrust.
The main objective of Nova and AnyTrust was to lower the costs associated with posting transactions as calldata on Ethereum while preserving security. At the heart of AnyTrust is a Data Availability Committee, which stores all transaction data and makes it available on demand.
The Committee consists of relatively few members that include Infura, Offchain Labs, Google Cloud and Reddit. This makes Nova a more centralized option compared to Arbitrum One - but at the same time, as long as at least two of the Committee members are honest, the system requires very little trust from users.
Nova (and any other chain using AnyTrust) is not a rollup, because instead of posting rolled-up batches of transactions to the L1, the Sequencer posts a so-called data availability certificate (DACert). The certificate includes a data hash and the signatures of the Committee members.
As we now know, the issue of high rollup costs was solved with the introduction of blobs. Does this mean that AnyTrust and Nova have lost their relevance?
On the one hand, Arbitrum Nova handles just 6.4 transactions per second, while Arbitrum One processes over 20 TPS, so the rollup solution is definitely more popular.
But on the other hand, as rollups now need to find reliable data availability solutions (as Ethereum will now store their data only for short periods, remember?), AnyTrust becomes an interesting alternative to DA layers like Celestia.
Arbitrum Nitro
Nitro is Arbitrum’s new tech stack, released in August 2022. The original stack, which powered Arbitrum One for the first year of its existence, is now known as Arbitrum Classic.
Classic used a custom-built virtual machine called AVM, which differed from EVM in some ways, creating inconveniences for developers. Part of the Classic stack was ArbOS - an operating system (basically a program) that allows Arbitrum nodes to execute smart contracts, produce blocks, manage costs, etc. The code for ArbOS had to be written in a special language, called mini.
By contrast, Nitro does away with AVM and uses WebAssembly (WASM) instead. WASM is a binary code format and virtual machine specification that is platform-agnostic, fast, and efficient.
To unpack this definition, let’s remember what a blockchain virtual machine does. It takes smart contract code written in a language like Solidity, Move, or Rust, and converts (compiles) it into low-level binary code that a machine can read. In the case of Ethereum, this low-level code is EVM opcodes, such as “STOP”, “ADD”, or “GASPRICE”.
EVM can compile only Solidity, but WASM supports different languages, including Go. It’s Go that Arbitrum uses for the new version of ArbOS, included in the Nitro software stack.
Within ArbOS, there is an implementation of Geth, or Go Ethereum - the most popular Ethereum execution client that contains EVM inside it. Geth comes in the form of a command interface in the Go language and is the fruit of countless hours of work by the best Ethereum developers.
If you’re feeling completely confused, think of a Russian doll: Nitro is a software package for nodes that includes ArbOS. Packed into ArbOS is Geth, which contains EVM. The important takeaways are these:
- The use of WASM means you can use Go;
- The possibility to use Go means that Nitro can implement EVM directly with Geth (Go Ethereum);
- Also, the Nitro stack can include all kinds of modules written in Go;
- Developers can enjoy a high level of Ethereum compatibility, the high quality of Geth code, and at the same time the variety of modules in Go.
What is Arbitrum Orbit?
Arbitrum Orbit is a set of tools for launching new L2 and L3 chains using the Nitro tech stack. Instead of building a rollup from scratch, developers can pick and customize the elements they need and deploy a L2 much faster and cheaper.
An L2 created with Orbit would be a rollup settling on Ethereum mainnet, but you can also create an L3 - a rollup that settles on a L2 like Arbitrum One itself. Developers can also choose between the rollup format and AnyTrust.
Developers can choose what the maximum TPS should be, how governance should work, which data availability (DA) layer to use, and so on. They can even decide which token to use for gas fees: it can be any ERC-20 asset, not just ETH. (This feature is currently supported only for AnyTrust chains.)
Each Orbit chain is fully independent from Arbitrum, with its own validators and as much decentralization as its creators wish, but at the same time it benefits from all the upgrades to the Nitro stack.
Arbitrum’s grand vision is a “universe of chains” - an interlinked network of Orbit chains. For example, the creators of a DEX may deploy a dedicated Orbit chain for it, so that it doesn’t have to compete for resources with other dApps, and use the DEX’s native token for all gas fees on the new chain.
In the near future, Orbit chains should become natively interoperable. This makes the concept of Orbit chains similar to Optimism’s OP Stack and Superchain - a collection of L2s that our own Lumio L2 is also part of.
In terms of practical implementation and ecosystem-building, Orbit is a bit behind SuperChain, but there are already projects building on it. For example, Injective ($INJ) is planning an Orbit L3 settling on Arbitrum, while Xai is building an L3 for gaming, and Polkadot parachain ParallelFi is working on an omni-chain L2 - all on Orbit.
Meanwhile, we are working hard on our own rollup collective, Lumio. Apart from SuperLumio and xLumio, which settle on Ethereum, you will soon see soLumio, a unique rollup for Solana that supports multiple execution layers. For the latest updates on Lumio, follow Pontem on Telegram, Pontem & Lumio on Twitter, and Discord!