Arbitrum

Summary
Arbitrum (opens in a new tab) is an EVM compatible Optimistic rollup.
- Arbiscan (opens in a new tab) is its chain explorer.
- The deployment addresses for its smart contract are found here (opens in a new tab).
- The gateway and verifier solution developed for the mainnet (Arbitrum One) chain can also be used for other Nitro stack chains (including AnyTrust and Orbit (opens in a new tab) chains).
High level overview
Arbitrum utilizes its BoLD dispute protocol (opens in a new tab) to allow for anyone to participate in the validation of Arbitrum's chain state. It further decentralizes Arbitrum whilst maintaining the requirement for only a single honest party to maintain the chain's integrity.
BoLD implements a disection based dispute resolution process refereed by an L1 contract. Parties go back-and-forth until an individual instruction that they disagree upon is discerned. Challenge periods are time constrained to 6.4 days, as is the length of a dispute. As such there is an upper bound of 12.8 days for finalization of Arbitrum chain state.
Verification
The Unruggable gateway Typescript prover implementation used for Arbitrum chains implementing BoLD is EthProver.ts
.
The on-chain verification of generated proofs is handled by ArbitrumVerifier.sol
which can be deployed with the _isBoLD
constructor argument set.
Arbitrum utilises the same Patricia Merkle Trie structure as Layer 1 Ethereum for its storage and account tries. As such proof verification utilises SecureMerkleTrie.sol
by proxy of our EthTrieHooks.sol
library.