Arbitrum  - Chain Breakdown | Revelo Intel

Arbitrum 

Table of Contents

Overview

Arbitrum is a suite of Layer-2 scaling solutions for Ethereum, with two live and operational Layer-2 blockchains (Arbitrum One and Arbitrum Nova), Arbitrum Orbits, and the BOLD Protocol among other scalability solutions specialized in fostering the adoption of Ethereum L2 rollups. 

Arbitrum One

Arbitrum One was introduced in 2018 as a cryptocurrency system designed to address the scalability and privacy limitations of previous systems like Ethereum. It enables smart contracts by allowing parties to create virtual machines (VMs) that execute contract functionality. The protocol incentivizes off-chain agreement on VM behavior through mechanism design, reducing the need for on-chain verification and offering scalability improvements. The system also supports the advancement of VM states on-chain for honest parties in case of off-chain disagreements.

Arbitrum contracts are designed to be managed by a set of verifiers, representing the underlying consensus mechanism. Participants are incentivized to follow the protocol’s rules, as verifiers only need to verify a few digital signatures for each contract if parties adhere to their incentives. Even if participants act counter to their incentives, the Arbitrum protocol efficiently handles disputes without extensively examining contract execution.

Arbitrum introduces the “any-trust” guarantee, enabling any honest manager to ensure that a contract behaves according to its code. Parties involved in a contract can serve as managers themselves or appoint trusted individuals to manage the contract on their behalf. The simplicity of the any-trust guarantee allows for efficient contract management.

Instead of requiring every verifier to emulate the execution of every contract, Arbitrum relies on designated managers to manage a contract’s virtual machine (VM). Verifiers track only the hash of the VM’s state, reducing the cost for verifiers significantly. This design encourages managers to agree on VM behavior off-chain, and if unanimous agreement isn’t achieved, a bisection protocol is used to resolve disagreements efficiently.

Arbitrum is designed to work with various consensus mechanisms. While it assumes the existence of a consensus mechanism for publishing transactions, its design remains adaptable to different types of consensus, including centralized publishers, quorum-based consensus systems, or Nakamoto consensus as seen in Bitcoin.

The Arbitrum Protocol

Arbitrum employs a framework that enables the creation and operation of Virtual Machines (VMs) with diverse functionalities. VMs are software programs operating within the Arbitrum Virtual Machine Architecture. The protocol distinguishes between two primary actors: “keys” and “VMs.” 

Creating a VM involves a specific transaction type that includes a cryptographic hash of the initial VM state and relevant parameters, such as challenge period duration, payment amounts, and a list of VM managers.

For each VM, the Verifier monitors the hashed state, currency holdings, and inbox hash. Changes to a VM’s state are enabled through assertions about its execution. These assertions specify executed instructions, resulting state hash, and actions taken (like payments), along with preconditions indicating the prior state, time bounds, balance, and inbox hash. The protocol dictates the conditions for accepting an assertion. Upon acceptance, the VM’s state is considered changed, and the stated actions are carried out.

Assertions come in two forms: unanimous and disputable. 

These mechanisms ensure the secure execution of VMs, even in cases where only one manager is involved or disputes arise, with a careful balance of incentives and safeguards.

System Roles

The Arbitrum protocol involves four distinct roles that play integral parts in its functioning:

Role Description
Verifier The Verifier is responsible for verifying transaction legitimacy and publishing accepted transactions. It can be a central entity, a distributed multi-party consensus system (like a quorum system or a collection of miners using Nakamoto consensus), or even a smart contract on an existing cryptocurrency platform.
Key A Key represents a participant in the protocol with currency ownership and transaction proposal capabilities. Each Key is identified by a public key or its hash. It can propose transactions by digitally signing them using its private key.
VM (Virtual Machine) A VM is a virtual participant with defined behavior according to the Arbitrum Virtual Machine (AVM) Specification. VMs can own currency, conduct transactions, send/receive messages. They are created via a dedicated transaction type.
Manager of a VM Managers supervise a specific VM’s progress and functionality. Managers are designated during VM creation and identified by the hash of their public key.

Lifecycle of a VM

The life cycle of an Arbitrum Virtual Machine (VM) involves distinct stages and interactions that ensure the VM’s integrity and execution. 

  1. Creation of VM: An Arbitrum VM comes into existence through a dedicated transaction. This transaction includes critical details such as the initial state hash of the VM, a list of managers assigned to oversee the VM, and specific parameters. The initial state hash acts as a cryptographic commitment to the VM’s state, encapsulating its code and initial data. Multiple VMs can coexist simultaneously, often with different groups of managers.
  2. State Change by Managers: Once a VM is created, its assigned managers possess the authority to initiate changes in the VM’s state. The Arbitrum protocol guarantees that a single honest manager has the power to ensure that state changes align with the VM’s code and existing state, ensuring valid execution based on the Arbitrum Virtual Machine (AVM) Specification.
  3. Assertions and State Changes: Managers can assert the execution of specific actions that alter the VM’s state, provided certain conditions are met. These assertions predict how the VM’s state will evolve if specific prerequisites are satisfied. For an assertion to be eligible, specific criteria must be met, including the assertion’s preconditions, the VM not being in a halted state, and the assertion not overspending the VM’s funds. Assertions entail details like the new state hash and the actions performed by the VM, such as sending messages or currency.
  4. Unanimous and Disputable Assertions: Unanimous assertions are endorsed by all managers linked to the VM. If an eligible unanimous assertion is made, the Verifier swiftly acknowledges it as the new VM state. In contrast, disputable assertions are backed by a solitary manager who attaches a currency deposit to the assertion. If an eligible disputable assertion is made, it becomes pending. If the assertion remains unchallenged within a designated timeframe, it is accepted by the Verifier, and the asserter retrieves their deposit. If another manager challenges the assertion, a bisection protocol is triggered. This protocol determines which party is truthful. The one found to be dishonest forfeits their deposit.
  5. Advancing State and Halted State: The VM’s state evolves following the processes described earlier, and this continues until the VM reaches a halted state. At this stage, further changes to the state are impossible. Both the Verifier and managers can consider the VM’s lifecycle complete.

The Bisection Protocol

The Bisection Protocol within Arbitrum is a vital mechanism designed to resolve disputes arising from a manager’s disputable assertion and another manager’s challenge. The protocol ensures a fair and efficient process for determining the truthfulness of assertions within the system. 

When a manager challenges an assertion, the challenging manager is required to deposit funds as a commitment. Subsequently, a game ensues between the asserter and the challenger, conducted via a public protocol to determine the incorrect party. The winner of the game recovers their deposited funds and claims half of the losing party’s deposit. The remaining half of the loser’s deposit is awarded to the Verifier as compensation for overseeing the game.

The game progresses through alternating steps. After a challenge is raised, the asserter is allotted a specific time window to bisect their preceding assertion. If the initial assertion encompassed N steps of VM execution, the two new assertions must involve bN/2c and dN/2e steps respectively, while collectively remaining equivalent to the original assertion. Failure to present a valid bisection within the stipulated time results in victory for the challenger. Once a valid bisection is offered, the challenger must challenge one of the new assertions within their designated time frame.

The two players – asserter and challenger – take turns making moves within the allotted time intervals; failure to make a move within the time limit results in a loss. Each move requires a small additional deposit, which contributes to the game’s stakes.

After a logarithmic sequence of bisections, the challenger will eventually challenge an assertion centered around a single step of execution. At this juncture, the asserter must provide a one-step proof. This proof establishes that, given the initial state and assuming the preconditions, executing a single instruction within the VM will lead to the intended final state and trigger any specified public actions. The Verifier verifies this one-step proof, sealing the game’s outcome.

  1. Initiation and Currency Deposits: The Bisection Protocol is initiated when a manager makes a disputable assertion, and another manager challenges it. Both the asserter (the one who made the assertion) and the challenger place a currency deposit as part of this process.
  2. Bisecting the Assertion: In each step of the Bisection Protocol, the asserter divides the initial assertion into two separate assertions. Each of these new assertions involves half the number of steps of computation performed by the VM. The challenger then selects one of these halves to challenge.
  3. Iterative Bisection Process: The asserter and challenger continue this bisection process iteratively. They refine the assertion by halving its complexity with each step, allowing the dispute to be focused on a smaller and more specific aspect of the original assertion.
  4. Single-Step Challenge and Proof: The bisection process ultimately reaches a point where the assertion revolves around a single step of computation executed by the VM (e.g., the execution of one instruction). At this stage, if the challenger disputes the single-step assertion, the asserter must provide a one-step proof to the Verifier for validation.
  5. Determining the Winner: If the asserter successfully provides correct proof for the one-step assertion, they win the dispute. In case of failure, the challenger emerges victorious. The winning party retrieves their deposit and takes half of the loser’s deposit, with the other half going to the Verifier.
  6. Blockchain Transactions and Time Limits: The Bisection Protocol is executed through a series of blockchain transactions made by both the asserter and the challenger. Each party has a limited timeframe to make their next move within the protocol. Failure to meet deadlines results in the losing party’s disadvantage.
  7. Verifier’s Role: The Verifier’s role is to verify the validity of each move within the protocol. They check the facial validity of moves, ensuring that assertions are correctly bisected, and the resulting assertions align with the original one.

The Verifier’s Role

In the Arbitrum protocol, the Verifier plays a pivotal role in ensuring the validity of transactions and the smooth operation of the system. Its responsibilities include:

Key Assumptions and Tradeoffs

The design of the protocol involves a set of key assumptions and tradeoffs that shape its functionality and effectiveness. These assumptions and tradeoffs contribute to the protocol’s security, efficiency, and overall feasibility. 

The design aims to strike a balance between enabling flexibility, ensuring proper behavior, and mitigating potential vulnerabilities. 

Design Benefits

VM Architecture

The Arbitrum Virtual Machine (AVM) is designed to facilitate efficient verification of one-step proofs and to enable the creation and execution of Virtual Machines with bounded space and time complexities. 

VM Types and Values

VM State

Instructions and Control Flow

Instruction Stack

Assembler and Loader

Standard Library

Interacting With Other VMs or Keys

Preconditions, Assertions, and One-Step Proofs

Messages and Inbox

Extensions

Extensions demonstrate how Arbitrum’s design can be adapted and enhanced to accommodate various scenarios and requirements, such as off-chain communication, improved privacy, and direct blockchain reading.

Off-Chain Communication

While Arbitrum significantly increases computation capacity within existing cost structures, communication between VM managers and the VM itself often relies on on-chain interactions. Off-chain progress involves using state-channel and sidechain techniques to enable managers to communicate with VMs and advance their state off-chain.

Zero-Knowledge One-Step Proofs

Despite its privacy advantages, there is a scenario where a small privacy leak might occur during the submission of one-step proofs. Managers providing a proof reveal a portion of the state as part of the proof. To enhance privacy, extensions could implement one-step proofs using zero-knowledge protocols like Bulletproofs

This involves encoding a one-step VM transition as an arithmetic circuit and proving the validity of the transition. While Bulletproofs offer benefits by not requiring a trusted setup, they may lead to linear verification time in the circuit size. However, for one-step transitions, this is expected to be manageable due to their small size and infrequent occurrence.

Blockchain Reading

The original Arbitrum VM design does not allow VMs to directly read the blockchain. For Arbitrum to be launched as a public blockchain, an extension is added to the VM instruction set to enable direct blockchain reading.

This involves encoding blocks as Arbitrum tuples, where one field of the tuple contains the representation of the previous block, allowing a VM to read earlier blocks. The precondition of an assertion would specify a recent block height, and a VM instruction pushes the associated block tuple onto the stack.

The Verifier only needs to track the hash of each block’s tuple to verify this instruction’s one-step proof. As a result, reading the blockchain does not require loading large amounts of data onto a VM’s data stack. Instead, it involves putting the top-level tuple of the specified block on the stack, allowing for lazy expansion when needed.

Arbitrum Nitro

Arbitrum Nitro is a second-generation Layer 2 blockchain protocol designed to enhance throughput, finality speed, and dispute resolution efficiency compared to previous rollup solutions. The protocol implements various design principles to achieve these properties. To achieve that, Arbitrum Nitro supports the execution of smart contracts, operating as a “Layer 2” solution built on top of the Ethereum network. It maintains compatibility with Ethereum by running smart contract applications through the Ethereum Virtual Machine (EVM) and providing a familiar API. 

As an optimistic rollup, the protocol relies on the safety and liveness of the underlying Ethereum chain, as well as on the assumption of honest participation by at least one Nitro protocol participant. The protocol’s optimistic nature emphasizes efficient execution when participants act in line with their incentives. 

Nitro has been deployed on the Arbitrum One chain since August 31, 2022.

Design Approach

Nitro’s design focuses on four distinctive features that organize its architecture and functionality:

Sequencing Followed by Deterministic Execution

The concept of “sequencing followed by deterministic execution” in Nitro refers to the two-step process of handling submitted transactions within the system. This approach ensures that transactions are processed in an orderly manner and that their execution outcomes are predictable and consistent. 

  1. The first phase involves a component known as the “Sequencer.” This component is responsible for organizing the submitted transactions into a specific order or sequence.
    1. The Sequencer arranges the transactions in the order they will be processed, essentially creating a queue of transactions.
    2. Once the transactions are arranged in the desired order, the Sequencer commits to this order. This commitment helps ensure the integrity of the chosen sequence.
  2. Deterministic State Transition Function:
    1. In the second phase, the transactions are processed one by one in the sequence established by the Sequencer.
    2. A deterministic state transition function, which defines how the system’s state evolves based on the execution of transactions, is applied to each transaction.
    3. The deterministic nature of this function means that given the same initial state and the same transaction, the outcome will always be the same. This ensures that the state transitions are predictable and consistent across all nodes in the network.

The Sequencer

In Nitro, the Sequencer plays a critical role in ordering incoming transactions honestly, based on a first-come, first-served policy. While the Sequencer’s task is central to the system’s operation, it is important to note that its role is limited and specific.

The Sequencer and Censorship Resistance

The Sequencer in the Arbitrum ecosystem plays a pivotal role in processing and ordering transactions on the layer 2 network. While the Sequencer operates with certain security assumptions, it is essential to maintain censorship resistance and trustless security within the Arbitrum Rollup protocol, even in the presence of a malfunctioning or malicious Sequencer.

The core Inbox, represented by the sequencerInboxAccs byte array in the Bridge contract, is central to the transaction processing in Arbitrum. Transactions included in the core Inbox have fixed ordering, deterministic execution, and trustless finality (see “Transaction Lifecycle”). The role of the Sequencer revolves around how transactions enter this core Inbox, while subsequent stages ensure the security and reliability of transactions.

While the force inclusion path introduces uncertainty in transaction ordering during the waiting period, it guarantees eventual inclusion in the core Inbox, ensuring trustless security. Although the force inclusion route is slow and considered an “unhappy” path, its availability ensures that Arbitrum Rollup maintains censorship resistance and security even in scenarios where the Sequencer is uncooperative.

The Delayed Inbox

The “Delayed Inbox” is a feature within the Nitro system that serves as an alternative method for submitting transactions to the Nitro chain. While most user transactions are submitted directly to the Sequencer and included in its batches, the Delayed Inbox offers a way to submit transactions for specific purposes.

Deterministic Execution

After transactions have been ordered by the Sequencer, they move into the execution phase of Nitro, where they are processed by the chain’s State Transition Function (STF). 

The STF takes two main inputs

In terms of execution, the STF is designed to be fully deterministic. This means that executing the STF on a given transaction will produce the same result every time, as long as the input state and the transaction remain the same. The execution process of the STF emulates the state changes that occur due to the transaction’s execution. It calculates how the transaction affects the account balances, contract storage, and other aspects of the state.

The STF then produces two key outputs

The deterministic nature of the STF ensures that the outcome of executing a transaction depends only on the transaction’s data and the state before the transaction was executed. This means that the result of a transaction can be calculated using the genesis state of the Nitro chain, the sequence of transactions leading up to the current one, and the transaction itself. The history and state of the chain can be determined without the need for communication or consensus among nodes because it is solely dependent on the visible transaction sequence.

While Nitro ensures determinism and maintains its own execution state, it also interacts with the Layer 1 (L1) Ethereum chain using a rollup sub-protocol. This sub-protocol confirms and records the results of transactions to the L1 Ethereum chain. However, it’s important to note that this sub-protocol does not decide the outcome of transactions but rather confirms the results that were already known to honest participants in the Nitro protocol.

Software Architecture

The software architecture of Nitro is built upon the concept of “geth at the core,” referring to the integration of the go-ethereum (geth) software, which is widely used as the execution layer node software for Ethereum. Nitro’s architecture is organized into three main layers, each serving distinct functions:

The overall architecture is often referred to as a “geth sandwich” due to the interweaving of the geth components at the bottom and top layers of the architecture, with the custom ArbOS layer situated in the middle. This structure leverages the proven capabilities of geth while enhancing its functionality to suit Nitro’s requirements.

The State Transition Function (STF), which forms a crucial part of Nitro’s operation, spans the lower geth layer and a portion of the middle ArbOS layer. 

ArbOS

ArbOS is a custom software layer within the Nitro architecture that serves as a crucial component for managing the operations and functionalities of a Layer 2 (L2) blockchain. ArbOS is responsible for implementing various features responsible for ensuring efficient bookkeeping, cross-chain communication, and L2-specific fee tracking and collection.

By including ArbOS functionality in the STF, Nitro ensures that the execution of transactions takes into account Layer 2-specific operations and requirements.

In the context of the Layer 2 Nitro chain, all the state is stored using Ethereum’s Merkle Patricia state trie data structure. This encompasses the state of ArbOS, which can be modified as part of the State Transition Function (STF).

ArbOS utilizes Ethereum’s storage slots in a specialized Ethereum account with an undisclosed private key. The selection of these specific slots is driven by several objectives:

The Nitro chain’s state representation adheres to a hierarchical structure composed of nested “spaces.” Each space is a mapping from a 256-bit index to a 256-bit value. All values within these spaces are initially set to zero. This hierarchical structure is mapped onto a single flat key-value store, which serves as the storage for the specialized Ethereum contract.

Each space is associated with a key. The key of the root space is designated as zero. For a subspace named “n” within a space with the key “k”, the key used to access it is calculated using Ethereum’s Keccak256 hash function: H(k||n).

Within a space keyed by “k,” the item with index “i” is stored at location H'(k||i) in the underlying flat storage. Here, H’ represents a locality-preserving hash function. Specifically, H'(x) takes the hash of all but the last 8 bits of “x,” truncates the result to 248 bits, and then appends the last 8 bits of “x.” This approach ensures that groups of 256 indices are kept contiguous by the hash function, thus maintaining the integrity of data even as it’s stored and retrieved.

The use of this locality-preserving hash function contributes to reducing the cost of state access and storage, especially when Ethereum adopts a state representation that rewards data contiguity in the future.

Cross-chain Interaction

Gas and Fees

Nitro handles gas fees in a way that’s similar to other blockchains. It collects fees from transactions to cover operational costs and incentivize proper resource usage. 

Gas Fees on Nitro
L2 Gas Metering and Pricing
L1 Gas Metering and Pricing

Compiling for Execution Versus Proving

In the design of a practical roll-up system like Nitro, a key challenge is finding a balance between optimizing regular execution performance and ensuring reliable results for proving purposes. Nitro addresses this challenge by utilizing the same source code for both execution and proving, but compiling it into different forms for each scenario.

Compiling for Execution

Compiling for Proving

WAVM

The wasm (WebAssembly) format possesses several advantageous characteristics that make it suitable for facilitating fraud proofs. It is portable, structured, well-defined, designed for secure execution of untrusted code, and comes with robust tooling and support. However, to fully serve its purpose, wasm requires specific adjustments. Nitro introduces a modified version of wasm known as WAVM (WebAssembly for Verifiability), achieved through a straightforward transformation process that takes wasm code from the compiler and adapts it for proving purposes.

WAVM differs from wasm in three primary ways:

Within WAVM, there’s a capability that enables the virtual machine to combine multiple wasm binaries, referred to as modules. Each module retains its own distinct code, globals, and memory. 

WAVM custom opcodes not available in WASM 

WAVM floating point implementation 

WAVM modules 

Optimistic Rollup Protocol

The optimistic roll-up protocol implemented in Nitro is the method by which the L2 (Layer 2) chain’s states and associated data are confirmed on the L1 (Layer 1) Ethereum chain. This protocol is designed to allow L2 transactions to be processed with a high degree of efficiency while maintaining the security and integrity of the system.

An RBlock is considered valid if it meets certain criteria. This validity can be achieved through confirmation by the protocol.

A valid chain of RBlocks is formed over time, with confirmed RBlocks constituting the initial section of this chain. Any party can stake on a specific RBlock, asserting its validity and the validity of its predecessor and the chain of predecessors back to the genesis RBlock.

The protocol’s design ensures that the RBlock chain remains a single chain, and the set of valid RBlocks constitutes a prefix of this chain. By staking on an RBlock, a party asserts not only the validity of that RBlock but also the validity of the entire chain leading back to the genesis RBlock.

In Nitro, the optimistic roll-up system operates in a way that encourages parties to only stake on valid RBlocks, ensuring the security and reliability of the system. Honest parties, which always make valid claims, are guaranteed to win challenges.

Honest parties engage in challenges against parties with differing claims, ultimately eliminating the parties with false claims.

As false claims are eliminated, the overall protocol can make progress and maintain the integrity of the RBlock chain.

The Base Case

Challenge Mechanisms

Challenge Resolution

The image below shows an example of what the chain state looks like if several validators are being malicious. 

  1. RBlock 100 has been confirmed.
  2. RBlock 101 claimed to be a correct successor to RBlock 100, but 101 was rejected (hence the X drawn in it).
  3. RBlock 102 was eventually confirmed as the correct successor to 100.
  4. RBlock 103 was confirmed and is now the latest confirmed RBlock.
  5. RBlock 104 was proposed as a successor to RBlock 103, and 105 was proposed as a successor to 104. 104 was rejected as incorrect, and as a consequence 105 was rejected because its predecessor was rejected.
  6. RBlock 106 is unresolved. It claims to be a correct successor to RBlock 103 but the protocol hasn’t yet decided whether to confirm or reject it. It is the first unresolved RBlock.
  7. RBlocks 107 and 108 claim to chain from 106. They are also unresolved. If 106 is rejected, they will be automatically rejected too.
  8. RBlock 109 disagrees with RBlock 106, because they both claim the same predecessor. At least one of them will eventually be rejected, but the protocol hasn’t yet resolved them.
  9. RBlock 110 claims to follow 109. It is unresolved. If 109 is rejected, 110 will be automatically rejected too.
  10. RBlock 111 claims to follow 104. 111 will inevitably be rejected because its predecessor has already been rejected. But it hasn’t been rejected yet, because the protocol resolves RBlocks in RBlock number order, so the protocol will have to resolve 106 through 110, in order, before it can resolve 111. After 110 has been resolved, 111 can be rejected immediately.

Staking

Staking ensures the integrity and security of the network. Similar to PoS networks, validators referred to as stakers deposit funds to participate in the validation process and maintain the accuracy of the chain.

This arrangement ensures that validators are invested in the validity of the RBlocks they participate in, as they have something to lose if a block is rejected.

To create a new RBlock, a validator must already be staked on the predecessor RBlock. This requirement ensures that block creators have a stake at risk, incentivizing them to propose valid and accurate RBlocks.

If a validator is staked on an RBlock, they can add their stake to any one successor RBlock of that Block. Note that this process does not require placing a new stake; the validator’s existing stake is extended to cover the successor RBlock. 

Rules for Confirming and Rejecting RBlocks

Challenges

Assuming the rollup chain shown below:

RBlocks 93 and 95 are siblings (they both have 92 as predecessor). Alice is staked on 93 and Bob is staked on 95.

Since we can see that Alice and Bob have conflicting claims about the correctness of RBlock 93, a challenge can be initiated to determine the accurate state of affairs. Alice believes RBlock 93 is correct, while Bob asserts it’s incorrect due to his stake in RBlock 95 (which implies that RBlock 93 must be wrong if RBlock 92 is the last correct block).

The challenge process operates in two phases: dissection and one-step proof. In the dissection phase, the dispute is gradually narrowed down until it becomes a disagreement about a single execution instruction. This is achieved through a back-and-forth game played by Alice and Bob, with an Ethereum contract acting as the referee. Alice, the defender, makes the first move.

By systematically dissecting the claims and executing a challenge game, Nitro can reach a resolution and maintain the integrity of the network. The winner’s claim is validated, while the losing staker’s stake is confiscated, discouraging false claims and enhancing the overall trustworthiness of the blockchain.

The dissection protocol begins with dissection over Layer 2 blocks, narrowing the dispute down to a single Layer 2 Nitro block.  It then further dissects down to a single execution of the State Transition Function.

Instead of dividing the claim into two segments of size N/2, the K-way dissection divides it into K segments of size N/K. This reduces the number of rounds significantly. The protocol also handles cases where the AVM might halt or wait due to an exhausted inbox. Additionally, time limits are introduced for each player to ensure the game progresses and concludes in a reasonable timeframe.

Validators

Validators are nodes that actively participate in the rollup protocol and help advance the state of the chain. Offchain Labs provides open-source validator software to facilitate this process, but validators have the flexibility to choose their own strategies. There are three common validator strategies:

Under normal conditions, defensive and watchtower validators mainly observe the network. This creates uncertainty for malicious actors, as they won’t know the number of defensive and watchtower validators operating in incognito. Some validators might announce themselves, while others remain hidden, making it challenging for attackers to predict the response.

Validators can be motivated by various factors:

Full Nodes

Full nodes in Arbitrum serve a similar role to full nodes in Ethereum. They are responsible for maintaining the state of the Arbitrum chain and providing an interface for users and applications to interact with the chain. 

The Sequencer

The Sequencer helps provide faster confirmation times for transactions and enhances the user experience by allowing immediate result guarantees. 

The Role of the Sequencer

Inboxes and Transaction Ordering

Tradeoffs and Trust

Decentralized Fair Sequencing

Bridging

Bridging involves asynchronous cross-chain calls. These calls are used for contract-to-contract interactions between the L1 and the L2, allowing transactions to be submitted on one chain and that will be executed on the other chain.

L1 Contracts Submitting L2 Transactions

L2 Contracts Submitting L1 Transactions

L1 to L2 Messaging

Arbitrum uses retryable ticks for L1 to L2 messaging. This is a mechanism for creating cross-chain messages and ensuring the atomicity of the operations between the L1 and the L2.

1. Submission: Users initiate the creation of a retryable ticket by calling the createRetryableTicket function of the inbox contract on L1.

  1. Parameters need to be set carefully, including destination L2 address, L2 call value, maximum submission cost, gas limit, and more.
  2. The user’s deposit must cover the L1 submission and L2 execution costs.
  3. If successful, a new ticket with a unique TicketID is created on L2, and funds are deducted from the user and placed into escrow.

2. Automatic Redemption: If conditions are met (user’s L2 balance and gas price), the ticket is automatically redeemed on L2, executing the L2 message.

  1. If successful, the submission fee is refunded to the user, and the ticket is deleted from the retryable buffer.
  2. If unsuccessful, the submission fee remains in escrow for a future redemption attempt.

3. Manual Redemption: If the automatic redemption fails, anyone can manually redeem the ticket by calling the redeem precompile method.

  1. Redeem attempts are scheduled to be executed as soon as possible on L2, ensuring eventual redemption.
  2. If a ticket is not redeemed within a fixed period (one week), it expires and is automatically discarded unless renewed.
  3. Funds in the escrowed call value are paid out to the callValueRefundAddress specified during ticket submission.
  4. Redeeming the cost of a ticket doesn’t increase over time; it depends on the current gas price and required gas for execution.

At the end of the lifecycle, Two types of L2 transaction receipts are emitted:

L2 to L1 Messaging

Contract calls can also be initiated on the L2 for execution on the L1.

From the protocol perspective:

  1. An L2-to-L1 message is part of the L2 state in an Arbitrum chain.
  2. Upon the confirmation of an RBlock (typically about 1 week after its assertion), the Merkle root of all L2-to-L1 messages in that RBlock is posted on L1 in the Outbox contract.
  3. The Outbox contract enables users to execute their L2-to-L1 messages by validating Merkle proofs of inclusion and tracking spent messages.

From the client perspective:

  1. To initiate an L2-to-L1 message, a client calls the L2 ArbSys precompile contract’s sendTxToL1 method.
  2. After inclusion in an assertion (typically within an hour) and assertion confirmation (typically about 1 week), any client can execute the message.
  3. Clients retrieve proof data through the Arbitrum chain’s “virtual” NodeInterface contract’s constructOutboxProof method.
  4. The returned data is used in the Outbox’s executeTransaction method to perform the L1 execution.

This design ensures that the overhead for confirming nodes remains constant and that they only update the constant-sized outgoing message root hash. Unlike Retryables, L2-to-L1 messages can’t provide in-protocol automatic L1 execution due to Ethereum’s lack of scheduled execution affordances.

Lifecycle of an Arbitrum Transaction

  1. Sequencer Receives Transaction: The transaction lifecycle begins with the Sequencer, responsible for ordering transactions and receiving a transaction from a client. Transactions can be received either directly from the client or from layer 1 via the Delayed Inbox.
  2. Finality Check – Trusted / Soft Confirmation: At this point, the client relies on the Sequencer’s soft confirmation, assuming a degree of trust in the Sequencer’s transaction processing.
  3. Sequencer Orders Transaction (Off-Chain): The Sequencer orders the transaction in its off-chain Inbox and executes it using the Arbitrum Nitro VM. It provides the client with an instant transaction receipt.
  4. Finality Check – Ethereum-Equivalent Finality: The client’s transaction’s finality is now equivalent to a regular Ethereum transaction, provided there’s at least one well-behaved active Arbitrum validator.
  5. Sequencer Posts Transaction in a Batch (On-Chain): The Sequencer posts a batch of transactions, including the client’s transaction, to layer 1 as calldata. The Sequencer typically posts batches every few minutes.
  6. Finality Check –  Ethereum-Equivalent Finality: The client can treat their transaction’s finality as equivalent to an ordinary Ethereum transaction since the batch is posted on layer 1, ensuring security and reliability.
  7. Validator Asserts RBlock that Includes Transaction: An active validator executes the Arbitrum VM over the inputs in the Inbox, asserting a rollup block (RBlock) on layer 1. This process occurs approximately every 30-60 minutes.
  8. Finality Check – Still the Same Ethereum-Equivalent Finality: The transaction’s finality remains secure, even during a dispute, as the assertion process doesn’t impact the previously established Ethereum-equivalent finality.
  9. RBlock is Confirmed on L1: Once disputes are resolved and sufficient time has passed, the RBlock is confirmed on layer 1. The Outbox root on layer 1 is updated, indicating successful processing.
  10. Finality Check – L2-to-L1 Messages Executable on L1: If the transaction included L2-to-L1 messages, these messages can now be executed in the Outbox on layer 1.

The Challenge Subprotocol

The challenge subprotocol in Nitro is designed to resolve disputes between parties and determine the validity of their claims about block results and execution steps. The protocol is divided into three phases, which aim to bisectionally narrow down the dispute to a single WAVM instruction’s execution. 

The use of the Merkle tree and the witness in the verification process allows for efficient validation using a feasible amount of Ethereum gas.

AnyTrust: Nitro with External Data Availability

In the context of the Nitro roll-up system, “AnyTrust” is a variant that introduces a slight trust assumption to reduce costs. This variant leverages an external Data Availability Committee to handle data availability, which lowers the cost associated with data posting on the L1 Ethereum chain. 

AnyTrust support is included in the Nitro code base.

The feature can be enabled or disabled using a configuration switch, allowing flexibility in choosing whether to adopt the AnyTrust variant.

Availability and Trust Assumption

Data Availability Committee

Sequencer Behavior

AnyTrust Components

AnyTrust is a variant of Arbitrum Nitro technology that lowers costs by accepting a mild trust assumption.

In the AnyTrust variant of the Nitro roll-up system, several components work together to enable the efficient handling of data availability using an external Data Availability Committee.

Keysets
Data Availability Certificates (DACerts)
Data Availability Servers (DAS)
Sequencer-Committee Interaction

Data Pricing

The Assertion Tree

The Assertion Tree in the Arbitrum protocol represents the state of an Arbitrum chain and the process of confirming that state back on Ethereum through “assertions” or “disputable assertions” (DAs). 

For an assertion to be confirmed and the validator’s stake to be recovered, sufficient time for disputes must have passed, and no conflicting branches can exist in the Assertion Tree. These conditions ensure that as long as at least one honest active validator exists, the valid chain state will ultimately be confirmed.

During a dispute, validators can continue making assertions and users can continue transacting on L2. The primary delay that users experience during a dispute is related to their L2 to L1 messages, or withdrawals. However, a delay attacker attempting to cause deliberate delays will find this attack to be very costly, as each bit of delay gained requires the attacker to lose more stake. 

Arbitrum Nova

Arbitrum Nova is an Arbitrum chain that harnesses the power of AnyTrust technology. This technology stands parallel to Arbitrum One, which itself is built upon the innovative Arbitrum Rollup technology.

Drawing inspiration from Arbitrum Nitro, AnyTrust serves as a variant that harnesses a mild trust assumption to drive down costs. This calculated approach allows for a substantial reduction in transaction fees without compromising on security.

Some of the key features that differentiate Arbitrum Nova include:

On the one hand, Arbitrum Nova is poised to shine as the preferred platform for gaming and social applications. On the other hand, Arbitrum One retains its role as the hub for DeFi initiatives and numerous NFT projects.

Data Availability Committee (DAC): Fortifying Security

Built upon the foundation of AnyTrust, the Data Availability Committee (DAC) operates with a crucial assumption—out of a committee of N members, at least two must be honest. This ensures that even if a majority of members fail to provide data, the network remains functional. In the absence of sufficient committee support, data is seamlessly posted on Layer 1—reminiscent of Arbitrum Rollup’s withdrawal mechanism. Once the DAC is reinstated, the network effortlessly shifts back to its high-speed, low-cost mode.

DACert: Paving the Way for Efficiency

Sequencers, in their role of data compression and batching, submit their work to the DAC, accompanied by a data availability certificate (DACert). This certificate serves as proof of data availability, facilitating a streamlined process. The obtained certificate is then broadcasted as a data availability promise on the Ethereum network by sequencers.

In stark contrast to conventional networks, Arbitrum Nova operates on the premise of DACerts—certificates attesting to data availability—rather than transmitting full data. This strategic approach significantly curtails costs, positioning Arbitrum Nova as a frontrunner in achieving ultra-low transaction fees for users.

Posting Transaction Batches

In Arbitrum Nova, the process of posting transaction batches to L1 involves submitting a hash of transaction data, an aggregate BLS signature from DAC members, and a hashed keyset. While L1 does not directly validate BLS signatures, faulty batches with invalid signatures are challenged by Validators, leading to a dispute resolution process that involves the BLS library in the WASM code.

  1. Hash of Transaction Data: Instead of posting the complete transaction data, the Sequencer on Arbitrum Nova submits a hash of the transaction data. This hash serves as a reference to the actual transaction data stored off-chain. This approach helps save gas costs and reduce the amount of data that needs to be posted to L1.
  2. Aggregate BLS Signature: The most important aspect of the submission is the aggregate BLS signature. This signature is generated by aggregating the signatures of all members of the Data Availability Committee (DAC). The DAC members are responsible for producing and storing the off-chain data of transactions. The BLS signature serves as proof that the DAC members have collectively approved the batch of transactions.
  3. Hash of Keyset: The hash of the keyset is another crucial field that’s included in the L1 submission by the Sequencer. The keyset represents the set of public keys belonging to the DAC members who have signed the transactions. This hashed list of public keys includes additional information, such as the required quorum (the minimum number of signatures required for approval).
  4. Accessing Keyset Information: In order to verify the keyset and its associated information, a user can access the Sequencer Inbox on L1. The Rollup Owner, who manages the Sequencer, has previously set up the Sequencer Inbox and posted all the necessary keyset information. This information includes the list of public keys along with the quorum requirement.
  5. Keyset Verification: The hashed keyset information can be used to ensure that the Sequencer’s submission is valid. The keyset hash must match the information provided by the Sequencer in the Sequencer Inbox. If the keyset does not match, the submission will be rejected.
  6. Signature Validation: Interestingly, while L1 does check the keyset hash, it doesn’t directly validate the BLS signatures themselves. There is no pre-compile on Ethereum for BLS signature validation. This means that even though the signature is not checked on L1, faulty batches with invalid signatures will face challenges within the fraud-proof system.
  7. Challenge Process: If the Validators, who are responsible for off-chain validation, detect a batch with invalid signatures, they will initiate a challenge process. The faulty batch will be flagged as part of the standard fraud-proof mechanism. Validators will challenge the batch, triggering a dispute over the validity of the BLS signature.
  8. Resolution of Dispute: The challenge will eventually lead to a resolution where the disagreement over the validity of the BLS signature is addressed. Since Arbitrum Nova is built on Nitro, which uses WebAssembly (WASM) underneath, the dispute resolution will involve a BLS library included in the WASM code. This library will be utilized to determine the correctness of the signatures.

Arbitrum Orbit

 Arbitrum Orbit empowers developers to seamlessly and permissionlessly inaugurate their very own Layer 3 (L3) blockchains within the Arbitrum ecosystem. Arbitrum Orbit introduces a way to create personalized chains that seamlessly integrate with Arbitrum’s Layer 2 (L2) chains: Arbitrum One, Arbitrum Nova, or Arbitrum Goerli. By establishing your Orbit chain, you gain full ownership and customization capabilities for privacy settings, permissions, governance, fee tokens, and more.

Arbitrum Orbit’s L3 chains also embrace the forthcoming release of Arbitrum Stylus, a monumental advancement enabling developers to harness the power of programming languages like C, C++, and Rust, alongside Solidity and other EVM languages, for their chains. This amalgamation of versatile languages enhances the toolkit available to developers, fostering innovation and diversification in the ecosystem.

Arbitrum Orbit offers remarkable possibilities that extend the realm of decentralized applications and protocols:

Arbitrum Orbit serves as a deployable, customizable fork of Arbitrum’s L2 Nitro technology stack. It acts as a tightly integrated extension to Arbitrum’s L2 chains, offering the potential to progressively decentralize applications and adopt Ethereum’s base layer security.

 

The categorization of Orbit chains as “app chains” hinges on individual interpretations. Although Orbit chains can certainly serve as application-specific chains, their scope goes beyond that. These chains facilitate the hosting of EVM-compatible smart contracts through self-managed infrastructure. This isolation of compute and storage resources from Arbitrum’s public L2 chains ensures a tailored experience. Here’s a glimpse of the possibilities:

All Orbit chains operate on self-managed nodes powered by Arbitrum Nitro’s node software. This software implements both AnyTrust and Rollup protocols. An Orbit chain can be configured to process and settle transactions using either protocol. This signifies that an Orbit chain isn’t isolated in its own blockchain network. By launching an Orbit chain, you’re becoming part of a network of connected chains that can communicate and exchange information.

Licensing Nuances of Orbit

Your capacity to modify and adapt the Arbitrum Nitro codebase is fully endorsed by the Orbit chain license. This license, bestowed upon Orbit Chains, is marked by two key attributes:

However, it’s important to note that the Arbitrum Orbit license doesn’t inherently extend to chains settling on non-Arbitrum-DAO-governed chains. If your intention is to launch an independent Arbitrum Nitro chain as an L2 on Ethereum, there are two avenues:

Arbitrum Orbit AnyTrust Chains

With Orbit, Offchain Labs is introducing the capability to easily launch Arbitrum Orbit AnyTrust chains. These chains offer ultra-low-cost transactions and high-speed processing, making them ideal for high-volume use cases such as gaming, social projects, and finance. 

AnyTrust chains enable significantly lower transaction costs compared to Layer 1, faster withdrawals, custom fee tokens, and strong security guarantees. This expansion in the Orbit ecosystem enhances the variety of deployment options available to developers.

Differentiating AnyTrust From Rollups

Arbitrum Rollup is a trustless and permissionless Optimistic Rollup protocol that posts all chain data on Layer 1 Ethereum. In contrast, Arbitrum AnyTrust introduces a trust assumption to achieve lower fees. Data availability is managed by a Data Availability Committee (DAC), introducing the requirement that a certain threshold of committee members are honest. If this threshold is met, data doesn’t need to be posted on Ethereum, resulting in significantly lower fees.

Chain Type General-purpose Optimistic Rollup General-purpose AnyTrust
Tech stack Nitro (fully EVM compatible) Nitro (fully EVM compatible)
Calldata storage Calldata posted to Ethereum L1 Calldata sent to the data availability committee
Gas savings 10-50x cheaper than L1 30-150x cheaper than L1
Average transaction confirmation time < 1s < 1s

Stylus

Stylus shatters the confines of Solidity exclusivity, enabling a diverse range of programming languages to coexist harmoniously within the realms of Arbitrum One and Nova. This pioneering approach paves the way for Rust, C, C++, and more to seamlessly cohabit the same blockchain alongside traditional Solidity dApps. With Stylus, developers, both newcomers and seasoned Web3 veterans, can leverage their existing skills and preferences to contribute to the Arbitrum ecosystem without the constraints of learning a new language.

Stylus ushers in an innovative model where user programs, compiled into WASM, are transmuted on-chain into a format that ensures bounded execution and enforces safety. WASM sandboxing empowers the near-native speed execution of user programs while upholding the same security guarantees leveraged by web browsers. Malicious programs are eliminated with on-chain proofs, all without necessitating EVM invocation.

Faster dApps and Lower Fees

Stylus transcends mere linguistic diversity and introduces a profound boost in performance. Building upon Arbitrum’s Nitro upgrade, which yielded a 10x performance enhancement, Stylus shatters expectations once again. 

Rust-based Arbitrum dApps achieve speeds exceeding an order of magnitude compared to their Solidity and Vyper counterparts. The result: lower fees and the ushering of a new era of high-compute blockchain applications across a spectrum of industries.

The Ethereum community’s persistent efforts to enhance the Ethereum Virtual Machine (EVM) become more profound with Stylus, allowing users to create their own specialized smart contracts known as precompiles. This flexibility enables the deployment of customized cryptography libraries, whether it’s a novel pairing curve for a zk team or a unique hashing algorithm for an alt-L1 bridge. Ethereum researchers are poised to explore, design, and iterate on EIP precompiles seamlessly through Stylus, without the need for individual testnets.

Lifecycle of a Stylus Contract

1. Coding: 

  1. Developers write smart contracts using programming languages supported by Stylus. These languages include Rust, C++, C, and others that can be compiled into WebAssembly (WASM).
  2. Contracts written in Stylus-supported languages can utilize the “Ethereum API,” allowing them to perform EVM-specific functions similar to those done in Solidity.
  3. Stylus contracts can include libraries and external dependencies as long as they are compatible with the chosen programming language.

2. Compilation:

  1. The contract code is compiled off-chain using a standard WASM compiler for the chosen programming language (e.g., Clang for C contracts).
  2. The resulting WASM bytecode is posted onto the Arbitrum chain in compressed form, defining the contract’s behavior deterministically.
  3. Users interact with the ArbWasm precompile and call the compileProgram method to generate efficient, machine-specific native assembly tailored for each Arbitrum node’s hardware. During this step, the WASM bytecode is instrumented to ensure safe execution and deterministic fraud proofs within Arbitrum’s VM.
  4. Gas metering is added to each WASM opcode, measured in “ink,” a unit similar to Ethereum’s gas but smaller. This is because WASM execution is much faster than EVM execution, and many WASM ops can be executed for each EVM op.

3. Execution:

  1. Stylus contracts are executed using Wasmer, a WASM runtime, which offers significant gas savings compared to executing equivalent operations in the EVM.
  2. Contracts written in Solidity behave the same way as they do on Ethereum and are executed in an EVM-equivalent manner.
  3. Stylus contracts are executed in parallel with EVM contracts, and both types of contracts access and modify the same state trie.

4. Proving:

  1. Similar to the Nitro stack, Stylus has a fraud-proving mechanism that relies on proving the invalidity of a state update via smart contracts on Ethereum. These “fraud proofs” are crucial for ensuring the security and safety of the chain’s state updates.
  2. The Stylus proving model extends Nitro’s fraud prover, “Arbitrator.” Validators bisect over user programs’ execution history, identifying and proving individual opcodes within the WASM program.
  3. During the compilation step, instrumentation ensures the termination and determinism of the proving process, allowing validators to identify and prove individual opcodes within the user’s WASM program.
  4. The fraud-proving mechanism guarantees the safety and validity of user-written contracts on the Arbitrum chain.

BOLD – Bounded Liquidity Delay

BOLD (Bounded Liquidity Delay) is a dispute protocol designed to facilitate permissionless validation for Arbitrum chains. BOLD aims to ensure safety and liveness of chains, minimize state settlement latency, and counter malicious parties that may raise costs for honest participants. This protocol extends to Arbitrum One and Nova chains, moving towards greater decentralization by allowing a single, honest validator to effectively challenge any number of adversaries.

Background

Optimistic Rollup chains, including Arbitrum One and Nova, utilize fraud proofs for state settlement on Ethereum. Validators post verified claims about the L2 state to a smart contract. During a 7-day period, these claims can be challenged, initiating a dispute resolution process. Once confirmed, the L2 state is deemed correct on Ethereum. This process supports bridging assets between Arbitrum chains and Ethereum L1, albeit with a 7-day delay. However, the existing validation process is vulnerable to denial-of-service attacks, impeding true permissionless validation.

The BOLD Protocol

BOLD introduces a novel approach to validation, addressing the delay attack vulnerability. It provides a fixed, upper-bound 7-day delay while remaining immune to delay attacks. This new protocol, designed by Offchain Labs, enhances the permissionless nature of validation, advancing decentralization by ensuring that a single honest validator can challenge malicious claims effectively. The protocol’s code and research specification are available on GitHub, and the codebase is also being contributed to the Arbitrum Nitro codebase for further development and testing.

Why the Project Was Created

The inception of Arbitrum was driven by a clear and compelling vision to address the fundamental challenges faced by Ethereum and the broader blockchain ecosystem. As Ethereum’s mainnet (layer 1) grappled with transaction throughput limitations, the need for layer 2 protocols emerged as a solution to enhance performance and user experiences.

The team at Offchain Labs recognized these challenges as opportunities to push the boundaries of what was possible. They saw the potential for blockchain technology to revolutionize industries, empower individuals, and reshape the digital landscape. However, to achieve this, a solution was needed that could seamlessly integrate the benefits of decentralization with the efficiency and performance demanded by real-world applications.

Offchain Labs, the company behind Arbitrum, was founded in 2018 by Ed Felten, Steven Goldfeder, and Harry Kalodner. Arbitrum was introduced as Offchain Labs’ core scalability solution on April 15, 2019. The project underwent several significant milestones:

Why Scaling Smart Contracts is Difficult

The Verifier’s Dilemma

When attempting to make smart contracts work efficiently, a common approach is to make all miners or validators within a cryptocurrency network simulate every step of the smart contract’s actions. This might seem simple, but it creates a big problem for scalability.

This problem is called the Verifier’s Dilemma. Checking transactions that involve running code inside a smart contract can be really expensive. So, the parties responsible for checking these transactions are stuck in a tricky situation. They might want to skip the thorough checks. This can lead to a situation where transactions are accepted without being carefully reviewed. This happens either because they think someone else will do the checks, or because they believe any mistakes won’t be caught due to the lack of thorough checks.

On the other hand, if all miners or validators do their checks diligently, a sneaky miner can take advantage of this. They can include a really complex computation that takes a long time to check. While others are busy verifying, this sneaky miner or validator can get ahead in mining the next block, which gives them a much better chance of getting the block reward. This whole issue happens because checking smart contract actions is very expensive.

In simple terms, this problem shows that there’s a tricky balance between how much it costs to do checks and what miners or validators want. The high cost of checking transactions can lead to situations where transactions are accepted without good checks, and it can even create opportunities for miners or validators to act smartly to get more rewards.

The Participation Dilemma

When trying to scale smart contract verification, one method involves participation games, encouraging a set number of parties to verify each contract’s execution. This faces the Participation Dilemma, which deals with preventing Sybil attacks. In a Sybil attack, a single party pretends to be multiple parties, potentially driving out real participants. It’s like someone faking multiple votes in a contest. The challenge is finding the right participation balance to prevent manipulation while ensuring genuine involvement.

The objective is to design a reward function (denoted as f(·)) that creates a scenario where no player has an incentive to Sybil (pretend to be multiple parties), and a desired number of players participate. In a blockchain context, the goal is to ensure that the apparent number of verifiers matches the actual number of distinct players who verified the computation.

However, the promise of participation games is complicated by the nature of smart contract verification being a repeated game. Repeated games introduce dynamics where players make decisions over multiple rounds, enabling strategies that may not project onto the Nash equilibrium of their one-shot counterparts.

Consider the analogy of the prisoner’s dilemma, wherein a single round, both players might defect. But in a repeated prisoner’s dilemma, revenge strategies come into play.

Repeated games enable players to sacrifice present gains for future benefits. This dynamic can lead to unique equilibria that diverge from the equilibria of one-shot games. Players may adopt strategies that evolve over rounds based on prior outcomes, introducing intricate decision-making patterns.

Why Nitro

Nitro is the culmination of the evolution of Arbitrum technology, building upon the initial release on the mainnet known as “Arbitrum Classic.” 

A defining feature of Nitro is its integration of WebAssembly (Wasm) and the Geth Ethereum implementation. In Arbitrum Classic, a custom virtual machine, the Arbitrum Virtual Machine (AVM), was used to emulate EVM execution. In Nitro, the Go code used for Arbitrum’s L2 state transitions is compiled into Wasm, and the Geth Ethereum implementation is incorporated as a sub-module. This architecture enables Nitro to natively execute Geth’s EVM implementation.

Sector Outlook

Ethereum Layer 2 solutions like Arbitrum aim to address the scalability and high transaction fees of the Ethereum mainnet by offloading some of the computational load and transaction processing to secondary chains or networks. These solutions provide faster and more cost-effective transactions while maintaining the security and decentralization of the Ethereum network.

More specifically, Arbitbrum is an Optimistic Rollup. Optimistic Rollups are a specific type of Layer 2 scaling solution that aims to improve Ethereum’s scalability by batching transactions off-chain and then submitting compressed proofs of these transactions to the Ethereum mainnet. This approach benefits from the security guarantees of the Ethereum mainnet while significantly increasing transaction throughput and reducing gas fees. 

Why Use Arbitrum and Nitro

Arbitrum, along with its enhanced version Nitro, offers a compelling set of advantages that make it a promising solution for Ethereum scalability and efficiency:

Key Design Innovations

Using the Protocol

Bridge Funds Using the Arbitrum Bridge

Bridging funds requires users to have a Web3 wallet installed (e.g. Metamask). There are 3 steps involved in Depositing.

Deposit $ETH or ERC-20 Tokens (From Parent Chain to Child Chain)

Step 1: Get Some Native Currency

You’ll need the native currency of the parent chain to be able to bridge your assets from it to the destination chain. For example, if you want to bridge assets from Ethereum to Arbitrum One, you’ll need ETH on Ethereum to initiate the process.

There are several ways to obtain the native currency:

Step 2: Add the Preferred Network to Your Wallet

You’ll also need to add the desired chain’s RPC endpoint to your wallet. Here we provide an example for doing this using MetaMask, although the process should be similar for other wallets. 

You need to first click on the MetaMask extension on your browser, click the network selector dropdown on the top-left corner, and then click the Add Network button at the bottom. Click “Add a network manually” and then provide the information corresponding to the chain you want to send your assets to.

You can find a list of common Arbitrum chains in this list.

Step 3: Initiate the Deposit

To bridge your ETH or ERC-20 tokens to a different chain, start by visiting bridge.arbitrum.io. Log in to the bridge with your wallet and make sure you are connected to the source network (from where you want to deposit your assets) at the top of the page. Then, select the destination network (where you want your assets to go), e.g., Arbitrum One or Arbitrum Nova.

Note that testnets like Arbitrum Sepolia or Arbitrum Goerli only appear if you are connected to the appropriate parent testnet network (Ethereum Sepolia or Ethereum Goerli).

Select the token you want to bridge in the token drop-down menu. You can also enable/disable the token lists by clicking the Manage token lists button on the bottom right corner of the drop-down menu.

Enter the amount of ETH or ERC-20 tokens you want to bridge over in the From box and then press Move funds. Follow the prompts on your web3 wallet.

After you submit the transaction through your web3 wallet you can expect your funds to arrive on the destination chain within roughly 15-30 minutes (depending on the chain congestion).

Also, make sure your wallet is set to the destination chain so you can see your funds when they arrive.

Withdraw ETH or ERC-20 Tokens (From Child Chain to Parent Chain)

To bridge your funds back to the parent chain, you’ll need to be logged in to the Arbitrum bridge with your wallet and make sure you are connected to the source network (from where you want to withdraw assets) at the top of the page. Then, select the destination network (where you want your assets to go), e.g., Ethereum mainnet.

Note that testnets like Ethereum Sepolia or Ethereum Goerli only appear if you are connected to the appropriate child testnet network (Arbitrum Sepolia or Arbitrum Goerli).

Select the token you want to bridge in the token drop-down menu. You can also enable/disable the token lists by clicking the Manage token lists button on the bottom right corner of the drop-down menu. Enter the amount of ETH or ERC-20 tokens you want to bridge over in the form box and then press Move funds. Follow the prompts on your web3 wallet.

A countdown will pop up stating that you’ll get your funds in 7-8 days.

You can check the status of your withdrawal by clicking on your profile on the top right, opening the Transactions tab, and claiming it there when it’s ready.

Once the countdown is done, switch to the destination network on your wallet and press the Claim button, which has now turned blue, to receive your funds.

Running an Arbitrum Full Node

Running an Arbitrum Archive Node

Running an Arbitrum Classic Node

Running a Feed Relay

Economics

Fee Breakdown

When a user submits a transaction in the Arbitrum ecosystem, there are two main parties involved that the user needs to pay:

Pricing L1 Costs

The L1 Pricing mechanism in Arbitrum is designed to ensure that the fees collected for L1 gas usage are adjusted dynamically over time to align with the actual costs that need to be covered by the network. This mechanism helps maintain fairness and efficiency in the pricing of L1 gas fees. 

L1 gas fees are charged only for transactions that are included in sequencer batches. A transaction is subject to L1 gas fees if it arrives as part of a sequencer batch, indicating that someone has already paid for L1 gas to post the transaction on the L1 chain.

The L1 gas fees collected from transactions are transferred to a specific account known as the L1PricerFundsPool account. The balance of this account represents the funds collected from L1 gas fees that are available to cover costs.

Estimated costs calculation
Breaking Down Transaction Fees

Transaction fees (TXFEES) = L2 Gas Price (P) * Gas Limit (G)

This Gas Limit includes the gas of the L2 computation and an additional buffer to cover the L1 gas to be paid by the Sequencer when posting the batch including this transaction on L1.

Gas Limit (G) = Gas used on L2 (L2G) + Extra Buffer for L1 cost (B)

This buffer takes into account the cost of posting the transaction, batched and compressed, on L1. The L1 estimated posting cost is calculated by multiplying these two values:

L1 Estimated Cost (L1C) = L1 price per byte of data (L1P) * Size of data in bytes (L1S)

To calculate the buffer, that estimated cost is divided by the L2 Gas Price.

Extra Buffer (B) = L1 Estimated Cost (L1C) / L2 Gas Price (P)

Finally, that results in the following: TXFEES = P * (L2G + ((L1P*L1S)/ P))

This information can be accessed at NodeInterface.

For Arbitrum Nova (AnyTrust), the size of the data is a fixed value, as only the Data Availability Certificate is posted on L1.

It’s important to note that these calculations involve interactions with the NodeInterface contract on the Arbitrum network and rely on the values returned from these contract calls. These formulas allow you to estimate the fees and costs associated with different aspects of using the Arbitrum network for transactions and data posting.

Operating Expenses

There are two types of L1 costs: batch posting costs and rewards.

When processing a batch posting report at the L2, the pricer allocates collected funds to cover costs. The allocation considers timestamps such as currentTime, updateTime (time of batch submission), and lastUpdateTime (time of previous batch submission).

The pricer computes an allocation fraction F and allocates a portion of the funds in the L1PricerFundsPool to the current report. The allocation accounts for the time interval between lastUpdateTime and currentTime.

The pricer then pays out allocated funds to cover rewards and amounts due to batch posters. If the allocated funds are insufficient to cover all dues, some dues will remain.

After allocating funds and making payments, the L1 Pricer adjusts the L1 Gas Basefee to ensure collected amounts match dues over time.

The algorithm computes a surplus (funds in L1PricerFundsPool minus total funds due) and adjusts the Basefee based on this surplus.

A second term is added to the L1 Gas Basefee, taking into account the derivative of the surplus to further stabilize the adjustments.

Tokenomics – The $ARB Token

The $ARB token is an ERC-20 governance token that grants its holders the authority to participate in voting on on-chain proposals that impact the direction and development of the Arbitrum DAO and its associated technologies. By holding $ARB tokens, you have the opportunity to democratically shape the future of the Arbitrum ecosystem in collaboration with other token holders who share aligned values and incentives.

When you participate in voting on an on-chain proposal, your $ARB tokens are used to indicate your support or opposition. The weight of your vote is token-weighted, meaning the more $ARB tokens you hold, the more influence your vote carries.

The smart contracts governing the Arbitrum DAO are structured so that a vote’s power is determined directly by the number of tokens held by the voter’s wallet. However, token holders can delegate their voting power to other wallets. This implies that you can utilize your own $ARB tokens for voting, or you can use someone else’s tokens if they have delegated their voting authority to you.

Token Distribution

$ARB has a total supply of 10B. 

The token was distributed according to the table below:

Percentage of initial supply Number of tokens Allocated to
42.78% 4.278 billion Arbitrum DAO treasury
26.94% 2.694 billion Offchain Labs Team and Future Team + Advisors
17.53% 1.753 billion Offchain Labs investors
11.62% 1.162 Billion Users of the Arbitrum platform (via airdrop to user wallet addresses)
1.13% 113 million DAOs building apps on Arbitrum (via airdrop to DAO treasury addresses)

Token Airdrop

The ArbERC-20 $ARB token is used to incentivize and reward various participants within the network. 

Regarding the ArbERC-20 ARB tokens on Ethereum and the ERC-20 Equivalent ARB tokens on Arbitrum Nova, there were no intended features identified for these tokens. 

It’s important to note that the features of these $ARB token contracts can be adjusted and modified as deemed appropriate through the Arbitrum DAO governance process. This flexibility allows the ecosystem to adapt and evolve based on changing needs and requirements.

Governance

The following parties play a critical role in Arbitrum Governance.

The Arbitrum DAO

The Constitution of the Arbitrum DAO

The original Constitution of the ArbitrumDAO took effect on the date upon which AIP-1 was posted, located here. 

The Amended Constitution of the Arbitrum DAO establishes the governance framework and procedures for decision-making within the ArbitrumDAO ecosystem. It outlines the rules, procedures, and guidelines for proposing, voting on, and implementing Arbitrum Improvement Proposals (AIPs), as well as the roles and responsibilities of various entities within the ecosystem. 

 Here’s a breakdown of the key sections and concepts outlined in the document:

Section 1 – Chain “Ownership”:

Section 2 – DAO Proposals and Voting Procedures:

Section 3 – The Security Council:

Section 4 – Security Council Elections:

Section 5 – Data Availability Committee:

Section 6 – Community Values:

Arbitrum DAO Votes

The Arbitrum DAO’s governance structure is designed to empower $ARB token holders to actively participate in shaping the direction of the ecosystem. 

There are two types of votes:

The voting power you wield corresponds to the number of $ARB tokens you possess. Additionally, delegation is an option that lets you transfer your voting power to a delegate who votes on your behalf. This is beneficial for token holders who cannot actively engage in governance discussions. 

Arbitrum’s Approach to Progressive Decentralization

Arbitrum’s approach to progressive decentralization involves gradually increasing the decentralization of its ecosystem over time. This decentralization process includes various aspects, such as chain ownership, validator ownership, sequencer ownership, and ownership of the Data Availability Committee (DAC), which applies specifically to Arbitrum AnyTrust chains like Arbitrum Nova.

Chain Ownership

Chain ownership refers to the ability to make changes to the protocol, upgrade core smart contracts, set system parameters, and pause the system.

Validator Ownership

Validators confirm the valid state of Arbitrum chains back on L1.

List of allowlisted validators

Sequencer Ownership

The Sequencer collects and orders users’ transactions.

Data Availability Committee (DAC) Ownership

This applies only to Arbitrum AnyTrust chains like Arbitrum Nova.

Creating New Arbitrum Chains

Multiple chains are essential to address scalability challenges by segregating activities into separate environments with independent resource management. This way, different chains can experiment with diverse security models and execution environments to achieve various trade-offs.

How to Submit a DAO Proposal

This section will guide you along the steps of submitting a DAO proposal, involving the following:

Prerequisites

To submit a temperature check using a Snapshot poll, you must have an Ethereum wallet address that represents at least 0.01% of votable tokens; to submit a proposal on-chain using Tally, you must have an Ethereum wallet address that represents at least 1,000,000 tokens (about 0.1% of votable tokens).

If you don’t have enough voting power, consider delegating your votes to a delegate who can create a proposal on your behalf.

Proposal Types

There are two types of AIPs: Constitutional and non-Constitutional:

Proposal Structure

The Constitution of the Arbitrum DAO encourages proposers to include the following sections within Arbitrum Improvement Proposals:

Sometimes, AIPs aren’t passed on the first try. If an AIP is not passed, the proposer may resubmit the AIP after addressing the concerns of the community. The proposer should include the following additional sections in the resubmitted AIP:

Pre-Proposal Development

Proposals that require code changes should include the code that will be executed when the proposal is passed. This code should handle the data structures, logic, executable data, and execution of the proposal.

Step 1: Conduct a Formal Temperature Check With a Snapshot Poll

The DAO governance forum facilitates discussions about Arbitrum DAO and governance proposals that are submitted by eligible token delegates. To submit your proposal:

Go to the DAO governance forum.

If your proposal doesn’t pass the temperature check, you shouldn’t submit it for an on-chain vote. Instead, head back to your forum post and engage with the community to address any concerns that they have.

If your proposal passes the temperature check, then you can move to the second and final step: an on-chain vote facilitated by Tally. Ensure that you’ve incorporated feedback brought up during relevant forum discussions and temperature checks before proceeding.

Step 2: Submit Your On-Chain Proposal Using Tally

If your wallet can represent at least 1,000,000 tokens (about 0.1% of votable $ARB tokens), you can create an on-chain proposal using Tally.

To submit your proposal on Tally:

A proposal passes if two conditions are met:

If the proposal passes, congratulations! After a delay, the proposal’s actions will be executed on-chain.

If the proposal doesn’t pass, but there’s interest in improving and resubmitting it, you can resubmit a proposal.

How to Delegate Voting Power

Delegating your voting power is an essential part of participating in the Arbitrum DAO. As a token holder, you have the ability to vote on governance proposals and to elect members of the Security Council.

If you don’t have the time or resources to actively participate in the DAO’s governance, you can still make your voice heard by delegating your voting power to a delegate. This how-to will walk you through the process of evaluating and selecting a delegate.

Before you delegate your voting power, it’s important to understand that by delegating your voting power, you’re entrusting someone else to vote on your behalf. So it’s really important to choose a delegate who aligns with your values and who you trust to make decisions in the best interest of the Arbitrum DAO and its community.

To delegate your voting power, you’ll need an Ethereum wallet that holds $ARB tokens, such as MetaMask. Once you have your wallet set up, you can follow these steps:

When selecting a delegate, it’s important to consider the following:

By following these steps and considering these factors, you can ensure that you’re delegating your voting power to a trustworthy and competent delegate who will work to further the goals of the Arbitrum DAO and its community.

How to Become a Delegate

To become a delegate, create a profile on Tally and begin building your delegate platform. To make it easy for voters to learn more about you, submit a delegate statement using the template on the Arbitrum DAO governance forum.

Best Practices

Before deciding to become a delegate, it’s important to understand the responsibilities and expectations of the role. Review the following guidelines to ensure that you’re prepared to become a delegate for the Arbitrum DAO:

Becoming a delegate is a significant responsibility and should not be taken lightly. Delegates should have a solid foundational technical understanding of the Arbitrum protocol, a sense of the Ethereum ecosystem at large, and a desire to continuously engage with the Arbitrum community as it grows and evolves.

How to Build a Strong Delegate Platform

As a delegate of the Arbitrum DAO, you play a vital role in the governance and decision-making process used to govern both the DAO’s protocol and its technologies. Your role is to represent the interests of token holders who have delegated their voting power to you and to make informed decisions on their behalf. Whether you’re a first-time delegate or a seasoned pro, building a strong delegate platform that’s aligned with the interests and values of Ethereum at large is of critical importance. 

The following tips will help you build a strong, incentives-aligned delegate platform:

Tip 1: Understand the Constitution

The first step in building a strong delegate platform is to develop a thorough understanding of The Constitution of the Arbitrum DAO. The Constitution outlines the governance structure of the DAO, including the roles and responsibilities of delegates, as well as the decision-making process. Review the comprehension check to test your knowledge of the Constitution.

Tip 2: Communicate with Token Holders

As a delegate, it’s important to maintain an open and transparent line of communication with the token holders you represent. This can include creating a website or social media presence where you can provide updates on your activities, answer questions, and solicit feedback. Ensure that your voters are informed of any important developments or changes related to the DAO by staying tuned in to the Arbitrum DAO governance forum and Discord. Continuously relaying important information to the token holders that you represent can help you build trust and credibility while positioning yourself as a valuable representative of the Arbitrum DAO community.

Tip 3: Stay Active in the Community

Another key aspect of building a strong delegate platform is staying active in the community. This can include participating in discussions on the Arbitrum DAO governance forum, attending community events, participating in online discussions wherever relevant conversations are happening on social media, and contributing to the development of the DAO.

Tip 4: Be Transparent and Accountable

Transparency and accountability are crucial for building a strong delegate platform. As a delegate, you have a responsibility to be transparent about your motivations and decisions, and to be accountable to the token holders you represent. This can include being open to feedback and criticism and being willing to answer questions and address concerns.

Tip 5: Build a Strong Support System

Building a strong support system is essential for success as a delegate. This can include building relationships with key members of the community and developing a team to assist you with research, analysis, and decision-making. A strong support system can help you stay informed, make better decisions, and build a more effective delegate platform.

How to Vote on Arbitrum DAO Governance Proposals

As a member of the Arbitrum DAO, it’s important to be an active participant in the DAO’s decision-making process by voting on governance proposals that other DAO members submit. The voting process can vary depending on the given proposal’s stage; in this how-to, you’ll learn how to locate, evaluate, and vote on proposals at each of the possible stages.

Proposals in the “Temperature Check” Stage

Proposals are first submitted to the Arbitrum DAO governance forum for community discussion and debate. These forum submissions are usually accompanied by a Snapshot poll that gauges the community’s interest in the proposal. As an $ARB token holder (or delegate) you can participate in these Snapshot polls and “temperature check” discussions:

The forum submission for any given proposal will usually include a link to a Snapshot poll that allows you to vote on the proposal:

Proposals in the “On-Chain Vote” Stage

If the proposal passes the temperature check, it will move on to an on-chain vote facilitated by Tally. To pass this stage, the proposal must meet two thresholds:

To vote on proposals in the “on-chain vote” stage:

On Proposal Evaluation

It’s important to evaluate proposals based on their alignment with the values and goals of the Arbitrum DAO as outlined in the Constitution. Remember that the ultimate goal of the DAO is to create a decentralized and transparent platform that benefits all members, including those who aren’t yet members.

On Delegation

You can grant your voting power to a delegate if you don’t have the time to actively participate in the governance process. If you decide to delegate your voting power to someone else, be sure to select a delegate who demonstrates the values enshrined within the Constitution. If you’re looking for guidance on how to delegate, or how to select a delegate, refer to How to delegate your voting power.

Lifecycle and Anatomy of an Arbitrum Improvement Proposal

Overview

The proposal submission process has the following structure:

Each AIP must be labeled as Constitutional or non-constitutional, and must also clearly specify which Arbitrum DAO-governed chain(s) it will affect. If the AIP passes, it moves through a series of phases that include L2 and L1 waiting periods, and eventually, the implementation of the proposal. This process typically takes 34 days for a Constitutional AIP or 21 days for a Non-Constitutional AIP but may take longer if specified by the AIP.

There are 7 phases involved in the process, which are:

Phase 1: Temperature check (Optional But Recommended)

This is the first phase of the Arbitrum Improvement Proposal (AIP) process:

This is an optional step, but it’s recommended as a due diligence governance best practice. If an AIP fails this temperature check, the original AIP author is encouraged to refrain from proceeding, and voters are encouraged to reject it if the author proceeds. If an AIP proposer decides to skip this step, voters should consider this as a factor in their vote.

Phase 2: Formal AIP and Call for Voting

In this phase, the AIP is officially submitted via governance smart contracts on the Arbitrum One chain. The proposer of the AIP must have an address that can represent at least 1,000,000 votable tokens. After the AIP is submitted, there’s a 3-day period for interested parties to discuss the proposal and gather votes before a voter distribution snapshot is taken. During this phase, the AIP must be labeled as either Constitutional or Non-Constitutional. Additionally, the AIP must clearly specify which Arbitrum DAO-governed chain(s) it will affect. This phase is important as it defines a clear, formal protocol for proposing and voting on AIPs.

Phase 3: On-chain DAO Vote

During this phase, members of the Arbitrum DAO can vote directly on-chain for (or against) a submitted AIP. For the AIP to pass, more Votable Tokens must vote in favor than against, and a certain percentage of all Votable Tokens must vote in favor. This percentage is 5% for Constitutional AIPs and 3% for Non-Constitutional AIPs and is referred to as “Threshold 2” within the Constitution.

The voting period for an AIP ends 14 days after it starts. However, if Threshold 2 is reached within the last 2 days of the voting period, the voting period is extended by 2 days. If the AIP fails to pass, the process ends after Phase 3. If it does pass, Constitutional AIPs move on to Phases 4 through 7, while Non-Constitutional AIPs skip Phases 4 through 6 and go straight to Phase 7.

Phase 4: L2 Waiting Period

After an AIP passes Phase 3 of the voting process, there is a 3-day waiting period known as Phase 4. During this time, people who do not agree with the AIP have the chance to withdraw their funds or take other action on L2. This period is meant to give everyone time to consider the decision and make any necessary adjustments to their investments or actions.

Once the 3-day waiting period is over, the AIP will move on to the next phase of the voting process, as long as no major issues arise. This waiting period is important because it ensures that everyone has an opportunity to voice their concerns and recalibrate their participation before the AIP is finalized.

Phase 5: L2-to-L1 Message

Once the 3-day waiting period of Phase 4 has passed and an AIP has been approved, Phase 5 of the voting process begins. In this phase, an L2-to-L1 message is sent indicating that the AIP has passed. This message is sent to L1, which is the main Ethereum blockchain. Once the message is finalized on L1 (this takes at least 1 week), anyone can redeem it to complete this step and move on to the next step of the process. This ensures that the completion of the L2 waiting period will be recognized on L1 after any withdrawals initiated during or soon after the voting period have been recognized on L1.

This phase is important because it connects the Arbitrum blockchain, which is a Layer 2 (or L2) blockchain, to the main Ethereum blockchain, which is the L1 chain. This connection gives DAO members a guarantee that the DAO’s decision (and its members’ votes) is immutably recorded. This is an important step in the process of decentralized decision-making because it ensures that everyone can trust-but-verify the outcome of the voting process.

Phase 6: L1 Waiting Period

After Phase 5 of the voting process, where the decision is recorded on the Ethereum mainnet, the process enters Phase 6, which is a 3-day waiting period. This waiting period ensures that in-progress transactions have enough time to finalize on mainnet before the AIP is implemented.

This waiting period is important because it minimizes the risk of an AIP negatively impacting transactions that were initiated prior to the DAO’s approval of the AIP. Once this waiting period is over, the AIP takes effect.

Phase 7: Implementation

Phase 7 is the final step in the voting process in which an approved AIP is fully executed and implemented. An AIPs implementation can happen in one of two ways. It can happen directly on Ethereum mainnet, or via a transaction sent from L1 to one or more of the Layer 2 chains that are governed by the Arbitrum DAO. This L1-to-L2 mechanism ensures that changes made by an approved AIP are recognized and supported on both L1 and L2 chains. Once the AIP has been fully executed and implemented, its changes will be active until another AIP is passed to make further changes.

Additional Waiting Periods (Optional)

When an AIP is passed, it means that changes are going to be made to the Arbitrum DAO’s governance system. These changes can be “breaking changes” – changes that cause other parts of the governance system (or third-party systems) to stop working or behave differently.

To ensure that the owners of these downstream dependencies have enough time to adjust to these types of changes, proposal submitters may optionally specify an extra waiting period that needs to be honored before the AIP’s changes take effect. This is recommended for AIPs that require Arbitrum DAO’s stakeholders to spend some time preparing for the AIP’s proposed changes. This mechanism helps ensure that both Arbitrum DAO’s systems and third-party systems can remain available and stable during and after any given AIP’s implementation.

Conclusion

The entire AIP voting process, including all seven phases, typically takes 34 days to complete for Constitutional AIPs, or 21 days for Non-Constitutional AIPs, from the start of the temperature check in Phase 1. This process is designed to allow for thorough consideration and voting, ensuring that everyone has a fair chance to voice their opinions and concerns.

Risks

Security

Security Council

The Security Council is tasked with addressing urgent risks and threats to the Arbitrum protocol and its wider ecosystem. This involves making swift decisions through both emergency and non-emergency actions to safeguard the interests of the DAO, its members, and the broader Arbitrum community. It operates under the oversight of the DAO’s members, who retain the authority to remove Security Council members if their actions don’t align with the best interests of the DAO.

Security Council elections are pivotal as they democratically select individuals entrusted with safeguarding the Arbitrum DAO’s security. Regular elections ensure the Council is composed of representatives aligned with the DAO’s values.

Moreover, elections allow for the dismissal of Council members not acting in the DAO’s best interests, ensuring continuous vigilance.

Election Process

Criteria for Council Members

Modifications and Removals

Audits

The following audits have been completed:

Bug Bounty

Arbitrum has an existing bug bounty program with Immunefi.

The bug bounty program is focused on the mainnet Arbitrum chains, Arbitrum One, and Arbitrum Nova and their underlying technologies, Arbitrum Rollup and Arbitrum AnyTrust respectively.

Rewards include:

Team

Offchain Labs

Core Team Members

The Arbitrum Foundation

The establishment of The Arbitrum Foundation, a Cayman Islands foundation company, was a critical first step in the establishment of the DAO. The Arbitrum Foundation serves the ArbitrumDAO community and is governed by it, aiming to foster the growth and development of the Arbitrum ecosystem while remaining accountable to the community.

Arbitrum Foundation Directors

As a Cayman Islands foundation, The Arbitrum Foundation is required to have at least 1 director responsible for the management and operation of The Arbitrum Foundation, in particular approving and entering into contractual arrangements on behalf of The Arbitrum Foundation (i.e., the parties actually approving and signing agreements). These directors were required to be appointed as part of the initial set-up of the Foundation.

The directors are as follows:

Initial Set-up Costs and Operating Funds

The Arbitrum Foundation incurred pre-launch costs to set up the Arbitrum DAO and governance. The work included careful consideration and guidance of legal structures and technical expertise and development. This was done in the spirit of providing a safe, legal and technical framework to allow the DAO to self-govern on a trusted platform, and to allow for the safe transfer of the Arbitrum One and Arbitrum Nova networks to the DAO from both a technical and legal perspective.

With the launch of the ArbitrumDAO, the responsibility for the operation of the Arbitrum network was transferred to the ArbitrumDAO. As part of its responsibilities to the DAO, the Foundation has assumed the costs of paying for operations, blockchain operation, infrastructure, service contracts, and ongoing improvements to the Arbitrum ecosystem. In addition, the net on-chain fee revenue (the net difference between fees collected by on-chain operations and L1 fees paid by the Sequencer) from the Arbitrum One and Arbitrum Nova chains is now being sent to the ArbitrumDAO treasury. As such, the ArbitrumDAO will need to ensure The Arbitrum Foundation is adequately funded going forward to continue operating core infrastructure for the Arbitrum network including the Sequencer and public RPC interface.

In total, 7.5% of the token supply was distributed to the Foundation when the token supply was generated. 0.5% of $ARB tokens were needed to complete the initiation of the DAO. Of the 0.5%, 0.4% of $ARB tokens were provided as a loan as previously disclosed. The other 0.1% was sold to meet the obligations of initial governance setup and initial and near-term operating funds. This has been distributed to the Foundation in order to satisfy these upfront and near-term costs on behalf of the DAO.

These tokens were intended to fund the following expenses:

Aside from the distribution to the Administrative Budget Wallet, 35.27% of the token supply was distributed to the on-chain DAO treasury, 11.62% to individual wallets, and 1.13% have been allocated to DAOs in the Arbitrum ecosystem.

The Arbitrum DAO

The Arbitrum DAO is a decentralized autonomous organization (DAO) built on the Ethereum blockchain. At its core, the Arbitrum DAO is a community-driven governance mechanism that allows $ARB token holders to propose and vote on changes to the organization and the technologies it governs.

The worldwide community of $ARB token holders and delegates governs the Arbitrum One chain, the Arbitrum Nova chain, The Constitution of the Arbitrum DAO, and the Security Council.

The Arbitrum DAO’s governance smart contracts are implemented on the Arbitrum One rollup chain, which is a Layer 2 scaling solution for the Ethereum blockchain. These smart contracts include the DAO’s governance token, $ARB. DAO members use $ARB tokens to vote on Arbitrum DAO proposals (AIPs). The weight of any given voter’s vote is proportional to the amount of $ARB they hold (or represent).

The Arbitrum DAO has a built-in treasury system (implemented as a smart contract); the DAO’s treasury is used to fund ongoing development and maintenance of the organization and its technologies. Token holders can propose and vote on how to use the treasury’s funds.

The Arbitrum DAO also has a built-in security mechanism called the Security Council. The Security Council is a group of entities that are responsible for ensuring the security and integrity of the DAO and its chains. The council can bypass the slow voting process and take fast action in the case of security emergency, as outlined in the Constitution. The members of the Security Council are elected by the DAO via semiannual elections.

Overall, the Arbitrum DAO is a powerful tool that facilitates decentralized governance and community-driven management of the Arbitrum ecosystem. By holding $ARB tokens and participating in the governance process, individuals can have a direct impact on the future of Arbitrum and, by extension, Ethereum.

Project Investors

Arbitrum raised funds through its supporting centralized entity, Offchain Labs. In total, ~$123.7M was raised across three separate rounds.

Additionally, a notable allocation of approximately 1.753 billion ArbERC-20 ARB tokens, equivalent to around 17.53% of the total token supply, was allocated to “Offchain Labs Investors.” This allocation is subject to a four-year monthly vesting schedule, with the first monthly unlocking event set to take place on March 23, 2024. While this allocation was disclosed, the breakdown of this token distribution across the different funding rounds has not been publicly specified.

Seed Round

Offchain Labs conducted a seed round on April 3, 2019, securing approximately $3.7 million in funding. The round was led by Pantera Capital and included participation from Compound VC, Raphael Ouzan, Jake Seid, as well as other undisclosed investors. However, the information regarding whether equity or tokens were exchanged in this round has not been publicly disclosed.

Series A Round

Offchain Labs successfully completed a Series A funding round in April 2021, raising around $20M. However, as of available information, Offchain Labs has not publicly revealed the list of participants who contributed to this round, nor has it disclosed whether the exchange involved equity or tokens.

Series B Round

Offchain Labs announced the completion of a Series B funding round on August 31, 2021, amassing approximately $10M. Lightspeed Venture Partners led this round, and other notable participants included Polychain Capital, Ribbit Capital, Redpoint Ventures, Pantera Capital, Alameda Research, and Mark Cuban. Similar to the previous rounds, it has not been made clear whether this funding involved equity or tokens.

Additional Information

Glossary of Arbitrum terms

Active Validator

A staked Validator makes disputable assertions to advance the state of an Arbitrum chain or to challenge the validity of others’ assertions. (Not to be confused with the Sequencer ).

Address Alias

An address deterministically generated from an L1 contract address is used on L2 to safely identify the source of an L1 to L2 message.

Arb Token Bridge

A series of contracts on an Arbitrum chain and its underlying chain facilitate trustless movement of ERC-20 tokens between the two layers.

Arbitrum

A suite of Ethereum layer-2 scaling technologies built with the Arbitrum Nitro tech stack that includes Arbitrum One (a live implementation of the Arbitrum Rollup Protocol) and Arbitrum Nova (a live implementation of the Arbitrum AnyTrust Protocol).

Arbitrum AnyTrust Chain

An Arbitrum chain that implements the Arbitrum AnyTrust Protocol.

Arbitrum AnyTrust Protocol

An Arbitrum protocol that manages data availability with a permissioned set of parties known as the Data Availability Committee (DAC). This protocol reduces transaction fees by introducing an additional trust assumption for data availability in lieu of Ethereum’s Trustless data availability mechanism. Arbitrum Nova is an example of an AnyTrust chain; Arbitrum One is an alternative chain that implements the purely trustless (and more L1-gas intensive) Arbitrum Rollup Protocol.

Arbitrum Chain

A blockchain that runs on the Arbitrum protocol. Arbitrum chains are EVM compatible and use an underlying EVM chain (e.g., Ethereum) for settlement and for succinct fraud-proofs (as needed). Arbitrum chains come in two forms: Arbitrum Rollup Chains and Arbitrum AnyTrust Chains.

Arbitrum Classic

Old Arbitrum stack that used a custom virtual machine (“AVM”); no public Arbitrum chain uses the classic stack as of 8/31/2022 (they instead use Arbitrum Nitro ).

Arbitrum Full Node

A party who keeps track of the state of an Arbitrum chain and receives remote procedure calls (RPCs) from clients. Analogous to a non-staking L1 Ethereum node.

Arbitrum Nitro

Current Arbitrum tech stack; runs a fork of Geth and uses WebAssembly as its underlying VM for fraud proofs.

Arbitrum Nova

The first Arbitrum AnyTrust Chain running on Ethereum mainnet. Introduces cheaper transactions; great for gaming and social use cases. Implements the Arbitrum AnyTrust Protocol, not the Arbitrum Rollup Protocol protocol.

Arbitrum One

The first Arbitrum Rollup Chain running on Ethereum mainnet. Fully trustless; inherits Ethereum’s base-layer security guarantees without introducing additional trust assumptions; great for decentralized finance and other use-cases that demand L1-level trustlessness.

Arbitrum Orbit

Arbitrum Orbit refers to the ability for anyone to permissionlessly deploy Layer 3 (L3) chains on top of Arbitrum Layer 2 (L2) chains.

Arbitrum Rollup Chain

An Arbitrum chain that implements the Arbitrum Rollup Protocol.

Arbitrum Rollup Protocol

A trustless, permissionless Arbitrum protocol that uses its underlying base layer for data availability and inherits its security. This protocol is implemented by our Arbitrum One chain.

ArbOS

Arbitrum’s “operating system” that trustlessly handles system-level operations; includes the ability to emulate the EVM.

Assertion

A staked claim by an Arbitrum Validator. An assertion may, e.g., propose a new RBlock, or may be a step in a Challenge.

Batch

A group of Arbitrum transactions posted in a single transaction on the Underlying Chain into the Fast Inbox by the Sequencer.

Blockchain

A distributed digital ledger that is used to record transactions and store data in a secure, transparent, and tamper-resistant way, notably in cryptocurrency protocols.

BOLD

Short for “Bounded Liquidity Delay”; the latest version of the Arbitrum Challenge protocol designed to eliminate delay attack vectors (see here for more). BOLD is not currently on mainnet.

CAP Finance

Widely considered the most degen community on Arbitrum.

CAP is a decentralized trading protocol. It’s designed to be fast and easy to use by anyone.

Chain State

A particular point in the history of an Arbitrum chain. A chain’s state is determined by applying the Arbitrum state-transition function to the sequence of transactions (i.e., the chain’s history).

Challenge

When two Stakers disagree about the correct verdict on an Assertion, those stakers can be put in a challenge. The challenge is referred to by the contracts on the underlying chain. Eventually, one staker wins the challenge. The protocol guarantees that an honest party will always win a challenge; the loser forfeits their stake.

Challenge Period

Window of time (1 week on Arbitrum One) over which an asserted RBlock can be challenged, and after which the RBlock can be confirmed.

Challenge Protocol

The protocol by which RBlocks are submitted, disputed, and ultimately confirmed. The Challenge Protocol guarantees that only valid RBlocks will be confirmed provided that there is at least one honest Active Validator.

Child Chain

An Arbitrum Chain that settles to an underlying Parent Chain. For example, Arbitrum One and Arbitrum Nova are child chains of Ethereum.

Client

A program running on a user’s machine, often in the user’s browser, interacts with contracts on an Arbitrum chain and provides a user interface.

Confirmation

The decision by an Arbitrum chain to finalize an RBlock as part of the chain’s history. Once an RBlock is confirmed its L2 to L1 Messages (e.g., withdrawals) can be executed.

Cross-Chain Message

An action taken on some chain A which asynchronously initiates an additional action on chain B.

Custom Arb-Token

Any L2 token contract registered to the Arb Token Bridge that isn’t a standard arb-token (i.e., a token that uses any gateway other than the StandardERC20 gateway ).

Custom Gateway

Any Token Gateway that isn’t the StandardERC20 gateway.

dApp

Short for “decentralized application.” A dApp typically consists of smart contracts as well as a user interface for interacting with them.

Data Availability Certificate

Signed promise from a Data Availability Committee (DAC) attesting to the availability of a batch of data for an Arbitrum AnyTrust Chain.

Data Availability Committee (DAC)

A permissioned set of parties responsible for enforcing data availability in an Arbitrum AnyTrust Protocol chain. See Introducing AnyTrust Chains: Cheaper, Faster L2 Chains with Minimal Trust Assumptions to learn more.

Defensive Validator

A Validator that watches an Arbitrum chain and takes action (i.e., stakes and challenges) only when and if an invalid Assertion occurs.

Delayed Inbox

A contract that holds Parent chain initiated messages to be eventually included in the Fast Inbox. Inclusion of messages doesn’t depend on the Sequencer.

Dissection

A step in the Challenge protocol in which two challenging parties interactively narrow down their disagreement until they reach a One Step Proof.

Ethereum Wallet

A software application used for transacting with the Ethereum Blockchain.

Fair Ordering Algorithm

BFT algorithm in which a committee comes to consensus on transaction ordering; current single-party Sequencer on Arbitrum may eventually be replaced by a fair-ordering committee.

Fast Exit / Liquidity Exit

A means by which a user can bypass an Arbitrum chain’s Challenge Period when withdrawing fungible assets (or more generally, executing some “fungible” L2 to L1 operation); for trustless fast exits, a liquidity provider facilitates an atomic swap of the asset on L2 directly to L1.

Fast Inbox

Contract that holds a sequence of messages sent by clients to an Arbitrum Chain; a message can be put into the fast Inbox directly by the Sequencer or indirectly through the Delayed Inbox.

Force-Inclusion

Censorship resistant path for including a message into an Arbitrum chain via the Delayed Inbox on its Parent chain; bypasses any Sequencer involvement.

Fraud proof

The means by which an Active Validator proves to its underlying chain that an invalid state transition has taken place.

Gas Price Floor

Protocol-enforced minimum gas price on an Arbitrum chain; currently 0.1 gwei on Arbitrum One and 0.01 gwei on Arbitrum Nova.

Gateway Router

Contracts in the Arb Token Bridge responsible for mapping tokens to their appropriate Token Gateway.

Generic-Custom Gateway

A particular Custom gateway via which an L1 token contract can be registered to a token contract deployed to L2. A useful alternative to the StandardERC20 gateway for projects that wish to control the address of their L2 token contract, maintain L2 token contract upgradability, and for various other use cases.

Geth

An execution-layer client that defines the Ethereum state transition function and handles network-layer logic like transaction memory pooling. Arbitrum Nitro utilizes a fork of Geth to implement Arbitrum’s state transition function.

L2 Block

Data structure that represents a group of L2 transactions (analogous to L1 blocks).

L2 to L1 Message

A message initiated from within an Arbitrum chain to be eventually executed on Layer 1 (L1) (e.g., token or Ether withdrawals). On Rollup chains like Arbitrum One, the Challenge Period must pass before an L2 to L1 message is executed.

Layer 1 (L1)

The base protocol and underlying blockchain of the Ethereum network. Responsible for maintaining the integrity of the distributed ledger and executing smart contracts. Contains both Ethereum’s execution layer and consensus layer.

Layer 2 (L2)

Trustless scaling solutions built on top of Ethereum’s Layer 1 (L1) base protocol, such as state channels, plasma chains, optimistic rollups, and ZK-rollups. Layer 2 solutions aim to increase scalability and reduce the cost of transactions on Ethereum’s Layer 1 without introducing additional trust assumptions.

Layer 3 (L3)

An Arbitrum chain whose core contract resides on an Arbitrum Layer 2 (L2) chain.

One-Step Proof

Final step in a challenge; a single operation of the Arbitrum VM (WASM ) is executed on the underlying chain, and the validity of its state transition is verified.

Outbox

An L1 contract responsible for tracking L2 to L1 Messages, including withdrawals, which can be executed once they are confirmed. The outbox stores a Merkle Root of all outgoing messages.

Parent Chain

EVM compatible chain that acts as the settlement layer for one or more Arbitrum Chains (aka Child chain ). E.g., Ethereum is the parent chain of both Arbitrum One and Arbitrum Nova. Parent chain is synonymous with “underlying chain.”

RBlock

An assertion by an Arbitrum Validator that represents a claim about an Arbitrum chain’s state.

Retryable Autoredeem

The “automatic” (i.e., requiring no additional user action) execution of a Retryable Ticket on an Arbitrum chain.

Retryable Redeem

The execution of a Retryable Ticket on L2; can be automatic (see Retryable Autoredeem) or manual via a user-initiated L2 transaction.

Retryable Ticket

An L1 to L2 cross-chain message initiated by an L1 transaction sent to an Arbitrum chain for execution (e.g., a token deposit).

Reverse Token Gateway

A Token Gateway in which the Child chain gateway contract escrows and releases tokens, which the Parent chain Gateway contract mints and burns tokens. This is the inverse to how “typical” gateways work.

Sequencer

An entity (currently a single-party on Arbitrum One) given rights to reorder transactions in the Fast Inbox over a fixed window of time, who can thus give clients sub-blocktime Soft Confirmations. (Not to be confused with a Validator).

Sequencer Feed

Off chain data feed published by the Sequencer which clients can subscribe to for Soft Confirmations of transactions before they are posted in Batches.

Smart Contract

A computer program whose operations are defined and executed within a blockchain consensus protocol.

Soft Confirmation

A semi-trusted promise from the Sequencer to post a user’s transaction in the near future; soft-confirmations happen prior to posting on the Parent chain, and thus can be given near-instantaneously (i.e., faster than the parent chain’s block times)

Speed Limit

Target computation limit for an Arbitrum chain. Arbitrum One and Arbitrum Nova currently target 7,000,000 gas / second. When computation exceeds this limit, fees rise, ala EIP-1559.

Staker

A Validator who deposits a stake (in Ether on Arbitrum One and Arbitrum Nova ) to vouch for a particular RBlock in an Arbitrum Chain. A validator who stakes on a false RBlock can expect to lose their stake. An honest staker can recover their stake once the RBlock they are staked on has been confirmed.

Standard Arb-Token

A token contract on an Arbitrum chain deployed via the StandardERC20 gateway; offers basic ERC20 functionality in addition to deposit/withdrawal affordances.

StandardERC20 Gateway

Token Gateway via which any underlying chain’s ERC20 token can permissionlessly bridge; the StandrardERC20 gateway contracts deploy a Standard Arb-Token on the Child chain for each bridged token.

Stylus

Upgrade to the Arbitrum Nitro virtual machine that allows smart contract support for languages like Rust and C++ by taking advantage of Nitro’s use of WASM. Currently on testnet (read more).

Time Boost

A proposed (not currently live) transaction policy in which users can pay a fee to the Sequencer for a small ordering advantage. See [here](https://medium.com/offchainlabs/time-boost-a-new-transaction-ordering-policy-for-arbitrum-5b3066382d62) for more.

Token Gateway

A pair of contracts in the token bridge — one on the Parent chain, one on the Child chain — that provide a particular mechanism for handling the transfer of tokens between layers. Token gateways currently active in the bridge include the StandardERC20 gateway, the Generic-Custom Gateway, and the WETH Gateway.

Transaction

A user-initiated interaction with a Blockchain. Transactions are typically signed by users via wallets and are paid for via transaction fees.

Trustless

In the context of Ethereum, trustless refers to the ability of a system to operate without reliance on a central authority or intermediary. Instead, users place their trust in math and protocols.

This is achieved through the use of cryptographic techniques and decentralized consensus mechanisms that let users verify the integrity of network transactions using open-source software. Trustless systems are considered to be more secure and resistant to fraud or tampering because they don’t rely on a single point of failure that can be exploited by attackers.

Underlying Chain

Synonymous with the Parent chain.

Validator

An Arbitrum Full Node that tracks the status of the chains’ Assertions. A validator may be a Watchtower Validator, a Defensive Validator, or an Active Validator.

WASM

Widely supported binary code format for executable programs. Used by Arbitrum Nitro for Fraud proofs , and more broadly used by Stylus to support performant smart contracts in a wide variety of languages.

Watchtower Validator

A Validator that never stakes / never takes on chain action, who raises the alarm (by whatever off-chain means it chooses) if it witnesses an invalid assertion.

WETH Gateway

Token Gateway for handling the bridging of wrapped Ether (WETH). WETH is unwrapped on L1 and rewrapped on L1 upon depositing (and vice-versa upon withdrawing), ensuring WETH on L2 always remains collateralized.

FAQ

Why does Ethereum need help to “scale”? Is there something wrong with Ethereum?

Why does Ethereum have such low TPS?

How does Arbitrum and Rollup fix this?

Can we be sure to prove fraud on Arbitrum?

Who checks for fraud and how?

How does the dispute game work?

Does the dispute game cause delays?

So Arbitrum offers low fees through optimistic execution?

Is Arbitrum Rollup a universal solution?

What’s an AnyTrust chain?

There’s more than one Arbitrum chain?

What’s the difference between Arbitrum Rollup and Arbitrum AnyTrust?

Is the project sponsored or supported by a centralized entity?

Do users or token holders earn fees, additional tokens, or any form of compensation by interacting with the network or in relation to holding the token (such as dividends, interest, liquidity rewards, or similar distributions)?

Are there contributors outside of the project team who are compensated for working on the project? If so, how are they compensated (from a central entity, grant programs, on-chain treasury spends, etc.)? Are there any contributors that are not compensated for their work?

Did the project team allocate a share of tokens to themselves? Are employees, directors, or advisors compensated in whole or in part with tokens or based on the price of tokens?

Do I need to pay a tip/Priority fee for my Arbitrum transactions?

What happens if I send my funds to an exchange that does not support Arbitrum?

Does Arbitrum have a mempool?

If there is a dispute, can my L2 transaction get re-orged/thrown out/”yeeted”?

…okay but if there’s a dispute, will my transaction get delayed?

Why was “one week” chosen for Arbitrum One’s dispute window?

Will transactions with a higher “gas price bid” be confirmed first?

Where can I find a list of the current validators of the Arbitrum chains?

Where can I find the current Data Availability Committee members?

Community Links