Skip to content

Commit

Permalink
Merge branch 'master' into node-running-overview
Browse files Browse the repository at this point in the history
  • Loading branch information
anegg0 authored Oct 31, 2024
2 parents ad11fc1 + bdccdee commit ad02b6b
Show file tree
Hide file tree
Showing 29 changed files with 444 additions and 162 deletions.
Binary file added arbitrum-docs/bold/assets/9Pr_Image_1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added arbitrum-docs/bold/assets/BnF_Image_3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added arbitrum-docs/bold/assets/CRA_Image_4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added arbitrum-docs/bold/assets/KSf_Image_1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added arbitrum-docs/bold/assets/csI_Image_2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
229 changes: 229 additions & 0 deletions arbitrum-docs/bold/concepts/bold-technical-deep-dive.md

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@ The BoLD dispute protocol is currently deployed on a public testnet (that posts

To provide feedback, click the _Request an update_ button at the top of this document, [join the Arbitrum Discord](https://discord.gg/arbitrum), or reach out to our team directly by completing [this form](http://bit.ly/3yy6EUK).

:::
:::
8 changes: 6 additions & 2 deletions arbitrum-docs/how-arbitrum-works/inside-arbitrum-nitro.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,15 @@
---
title: 'Inside Arbitrum Nitro'
sidebar_label: 'Deep dive: Inside Arbitrum'
description: 'Learn the fundamentals of Nitro, Arbitrum stack.'
author: dzgoldman
sme: dzgoldman
user_story: As a current or prospective Arbitrum user, I need learn more about Nitros design.
content_type: get-started
---

import ImageWithCaption from '@site/src/components/ImageCaptions/';

# Inside Arbitrum Nitro

This document is a deep-dive explanation of Arbitrum Nitro’s design and the rationale for it. This isn’t API documentation, nor is it a guided tour of the code--look elsewhere for those. “Inside Arbitrum Nitro” is for people who want to understand Nitro's design.

The body of this document will describe Arbitrum Rollup, the primary use case of the Nitro technology and the one used on the Arbitrum One chain. There is a variant use case, called AnyTrust, which is used by the Arbitrum Nova chain. AnyTrust is covered by a section at the end of this document.
Expand Down
5 changes: 2 additions & 3 deletions arbitrum-docs/how-arbitrum-works/why-nitro.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
---
title: Nitro vs. Classic
author: dzgoldman
---

# Why Nitro?
Why Nitro?

Nitro represents the latest step in the evolution of Arbitrum technology; it is an upgrade from the tech stack first released on the mainnet Arbitrum One chain, which we now refer to as “Arbitrum Classic” (and several steps beyond what was described in the [initial Arbitrum whitepaper back in 2018](https://www.usenix.org/system/files/conference/usenixsecurity18/sec18-kalodner.pdf)). Here, we’ll explain the rationale behind the Nitro upgrade, and outline Nitro’s core benefits over the classic system.

### Nitro vs. Classic

Viewed from a distance, the Classic and Nitro systems do similar things: both seek to create an execution environment as close to the EVM as possible which operates as a second layer to Ethereum; i.e., safety of the L2 virtual machine’s state updates can be guaranteed and enforced via succinct fraud proofs on Ethereum itself.

In Arbitrum Classic, this was achieved via a custom-made virtual machine, which we call the Arbitrum Virtual Machine (AVM). The implementation of Arbitrum’s L2 state machine—known as [“ArbOS”](/how-arbitrum-works/arbos/introduction.md) — is effectively a program that is compiled and uploaded to the AVM; ArbOS includes (among other things) the ability to emulate EVM execution.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ content_type: get-started

## What is the Arbitrum expansion program?

The [Arbitrum Expansion Program](https://forum.arbitrum.foundation/t/the-arbitrum-expansion-program-and-developer-guild/20722) (AEP) allows Orbit chains to deploy on *any chain*permissionlessly. As part of the [AEP license](https://docs.arbitrum.foundation/assets/files/Arbitrum%20Expansion%20Program%20Jan182024-4f08b0c2cb476a55dc153380fa3e64b0.pdf), Orbit chains deployed outside of Arbitrum One and Arbitrum Nova must pay 10% of their **Net Protocol Revenue** to the Arbitrum DAO.
The [Arbitrum Expansion Program](https://forum.arbitrum.foundation/t/the-arbitrum-expansion-program-and-developer-guild/20722) (AEP) allows Orbit chains to deploy on *any chain* permissionlessly. As part of the [AEP license](https://docs.arbitrum.foundation/assets/files/Arbitrum%20Expansion%20Program%20Jan182024-4f08b0c2cb476a55dc153380fa3e64b0.pdf), Orbit chains deployed outside of Arbitrum One and Arbitrum Nova must pay 10% of their **Net Protocol Revenue** to the Arbitrum DAO.

The Arbitrum Expansion Program and Developer Guild are initiatives launched in collaboration with Offchain Labs to promote the development of customized Arbitrum chains using the Orbit framework. The Expansion Program simplifies the process for teams to create Layer 2 (L2) and Layer 3 (L3) chains, offering self-service tools and customization options.
Projects benefit from features like:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ If you are an L3 or higher chain with a custom gas token, your custom gas token

### Non-Ethereum L1

If your Orbit chain is deployed on a non-Ethereum L1 (e.g., Solana, BNB Chain), your fees must be manually transferred to a DAO-controlled address.
If your Orbit chain is deployed on a non-Ethereum L1 (e.g., Solana, BNB Chain), your fees must be manually transferred to a Foundation-controlled address.

### Novel Fee-Earning Customizations

Expand Down
2 changes: 1 addition & 1 deletion arbitrum-docs/partials/_contribute-docs-partial.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ Every document should be a specific _type_ of document. Each type of document ha
| ------------------- | ---------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Gentle introduction | Onboard a specific reader audience with tailored questions and answers | [A gentle introduction to Orbit](/launch-orbit-chain/orbit-gentle-introduction.md) |
| Quickstart | Onboard a specific reader audience with step-by-step "learn by doing" instructions | [Quickstart: Build dApps](/build-decentralized-apps/01-quickstart-solidity-hardhat.md) |
| How-to | Provide task-oriented procedural guidance | [How to run a local dev node](/run-arbitrum-node/04-run-local-dev-node.md) |
| How-to | Provide task-oriented procedural guidance | [How to run a full chain simulation](/run-arbitrum-node/04-run-local-full-chain-simulation.md) |
| Concept | Explain what things are and how they work | [Token bridging](/build-decentralized-apps/token-bridging/03-token-bridge-erc20.md) <br/>[Nodes and networks](https://docs.prylabs.network/docs/concepts/nodes-networks) |
| FAQ | Address frequently asked questions | [FAQ: Run a node](../node-running/faq.md) |
| Troubleshooting | List common troubleshooting scenarios and solutions | [Troubleshooting: Run a node](/run-arbitrum-node/06-troubleshooting.md) |
Expand Down
116 changes: 34 additions & 82 deletions arbitrum-docs/partials/_glossary-partial.mdx
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@


### 🧱 State Transition Function {#-state-transition-function}
<p>
The STF (State Transition Function) defines how new blocks are produced from input messages (i.e. transactions) in an Arbitrum chain.
</p>

### Active Validator {#active-validator}
<p>
A staked <a href="/intro/glossary#validator">Validator</a> that 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 <a href="/intro/glossary#sequencer">Sequencer</a> ).
Expand Down Expand Up @@ -95,6 +100,16 @@ Arbitrum's "operating system" that trustlessly handles system-level operations;
A staked claim by an Arbitrum <a href="/intro/glossary#validator">Validator</a>. An assertion may, e.g., propose a new <a href="/intro/glossary#rblock">RBlock</a>, or may be a step in a <a href="/intro/glossary#challenge">Challenge</a>.
</p>

### Auction Contract {#auction-contract}
<p>
A smart contract that handles the state, accounting of funds for bids, and various operations of the <a href="/intro/glossary#timeboost">Timeboost</a> auction. The contract is deployed on the target chain for which Timeboost is enabled.
</p>

### Autonomous Auctioneer {#autonomous-auctioneer}
<p>
Off chain software that receives bids from <a href="/intro/glossary#timeboost">Timeboost</a> participants, processes and validates bids, and then posts the top valid bid (or top two valid bids in the case of a tie) to the <a href="/intro/glossary#auction-contract">Auction Contract</a> to resolve the on-going Timeboost auction. The autonomous auctioneer, for a given chain, is provisioned & deployed by an entity designated by the chain's owner.
</p>

### Batch {#batch}
<p>
A group of Arbitrum transactions posted in a single transaction on the <a href="/intro/glossary#underlying-chain">Underlying Chain</a> into the <a href="/intro/glossary#fast-inbox">Fast Inbox</a> by the <a href="/intro/glossary#sequencer">Sequencer</a>.
Expand All @@ -120,15 +135,6 @@ Short for "Bounded Liquidity Delay"; latest version of the Arbitrum <a href="/in
A set of smart contracts for sending <a href="/intro/glossary#crosschain-message">Cross-chain message</a>s between blockchains. Every <a href="/intro/glossary#arbitrum-chain">Arbitrum chain</a> includes a bridge to/from its <a href="/intro/glossary#parent-chain">Parent chain</a>.
</p>

### 🧢 CAP Finance {#cap-finance}
<p>
Widely considered the most degen community on Arbitrum.
<br />

<br />
<a href="https://cap.io/">CAP</a> is a decentralized trading protocol. It's designed to be fast and easy to use by anyone.
</p>

### Chain Owner {#chain-owner}
<p>
An entity (i.e., a smart contract) with affordance to carry out critical upgrades to an Arbitrum chain's core protocol; this includes upgrading protocol contracts, setting core system parameters, and adding and removing other chain owners.
Expand Down Expand Up @@ -221,15 +227,6 @@ Web application built and maintained by <a href="/intro/glossary#offchain-labs">
A step in the <a href="/intro/glossary#challenge-protocol">Challenge protocol</a> in which two challenging parties interactively narrow down their disagreement until they reach a <a href="/intro/glossary#one-step-proof">One Step Proof</a>.
</p>

### 💎 Dopex {#dopex}
<p>
A shiny gem in the Arbitrum community.
<br />

<br />
Commonly associated with the esteemed Diamond Pepe's NFT and Dopex community. Dopex is a decentralized options exchange protocol on Arbitrum.
</p>

### ☕ Espresso {#espresso}
<p>
Project partnering with <a href="/intro/glossary#offchain-labs">Offchain Labs</a> for research and development around <a href="/intro/glossary#sequencer">Sequencer</a> transaction ordering and <a href="/intro/glossary#shared-sequencing">Shared Sequencing</a> technology.
Expand All @@ -245,6 +242,16 @@ A software application used for transacting with the Ethereum <a href="/intro/gl
The paradigm introduced by <a href="/intro/glossary#stylus">Stylus</a> in which Arbitrum's EVM compatibility is preserved while new features and improvements are introduced.
</p>

### Express Lane {#express-lane}
<p>
A component of <a href="/intro/glossary#timeboost">Timeboost</a>, the express lane is a special endpoint on the <a href="/intro/glossary#sequencer">Sequencer</a> that immediately sequences incoming, valid transactions signed by the current express lane controller.
</p>

### Express Lane Controller {#express-lane-controller}
<p>
An address, defined in the <a href="/intro/glossary#auction-contract">Auction Contract</a>, that is granted the privilege to use the <a href="/intro/glossary#express-lane">Express Lane</a>. These privileges are granted after verifying that the incoming transactions were properly signed by the express lane controller, among other checks.
</p>

### Fair Ordering Algorithm {#fair-ordering-algorithm}
<p>
BFT algorithm in which a committee comes to consensus on transaction ordering; current single-party <a href="/intro/glossary#sequencer">Sequencer</a> on Arbitrum may eventually be replaced by a fair-ordering committee.
Expand All @@ -260,6 +267,11 @@ A means by which a user can bypass an Arbitrum chain's <a href="/intro/glossary#
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 <a href="/intro/glossary#sequencer">Sequencer</a> or indirectly through the <a href="/intro/glossary#delayed-inbox">Delayed Inbox</a>.
</p>

### First Come First Serve (FCFS) {#first-come-first-serve-fcfs}
<p>
A type of <a href="/intro/glossary#transaction-ordering-policy">Transaction Ordering Policy</a> used by the sequencer in Arbitrum chains whereby incoming transactions are sequenced into a block in the order that the transactions arrived.
</p>

### Force-Inclusion {#forceinclusion}
<p>
Censorship resistant path for including a message into an Arbitrum chain via the <a href="/intro/glossary#delayed-inbox">Delayed Inbox</a> on its <a href="/intro/glossary#parent-chain">Parent chain</a>; bypasses any Sequencer involvement.
Expand Down Expand Up @@ -290,15 +302,6 @@ A particular <a href="/intro/glossary#custom-gateway">Custom gateway</a> via whi
An execution-layer client that defines the Ethereum state transition function and handles network-layer logic like transaction memory pooling. <a href="/intro/glossary#arbitrum-nitro">Arbitrum Nitro</a> utilizes a fork of Geth to implement Arbitrum's state transition function.
</p>

### 🫐 GMX {#gmx}
<p>
If you've seen some blueberries wandering around on crypto Twitter, you might wonder .. where did they come from?
<br />

<br />
The iconic blueberries come from the community of the decentralized exchange, GMX.
</p>

### Ink {#ink}
<p>
The equivalent of gas in the <a href="/intro/glossary#stylus">Stylus</a> vm. Ink is introduced for finer granularity than gas offers since Stylus's operations are considerably cheaper than their EVM analogs.
Expand Down Expand Up @@ -418,15 +421,6 @@ A protocol design space in which multiple rollups use the same entity as their <
A computer program whose operations are defined and executed within a blockchain consensus protocol.
</p>

### 🐵 Smolverse {#smolverse}
<p>
Near the core of Arbitrum community is Smolverse, a world filled with Smol Brains and Smol Bodies.
<br />

<br />
If you see any Smol's with giga brains, swole arms or hear the sound of "EEEE" in the Arbitrum community, you've encountered the Smol Brains and Smol Bodies.
</p>

### Soft Confirmation {#soft-confirmation}
<p>
A semi-trusted promise from the <a href="/intro/glossary#sequencer">Sequencer</a> to post a user's transaction in the near future; soft-confirmations happen prior to posting on the <a href="/intro/glossary#parent-chain">Parent chain</a>, and thus can be given near-instantaneously (i.e., faster than the parent chain's block times)
Expand Down Expand Up @@ -457,57 +451,24 @@ An token contract on an Arbitrum chain deployed via the <a href="/intro/glossary
Upgrade to the <a href="/intro/glossary#arbitrum-nitro">Arbitrum Nitro</a> 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 (<a href="https://docs.arbitrum.io/stylus/stylus-gentle-introduction">read more</a>).
</p>

### 🏹 Tales of Elleria {#tales-of-elleria}
<p>
The bow and arrow are commonly associated with the Hero's of Tales of Elleria.
<br />

<br />
Jump into the world of Elleria and go on adventures.
</p>

### Time boost {#time-boost}
### Timeboost {#timeboost}
<p>
A proposed (not currently live) transaction policy in which users can pay a fee to the <a href="/intro/glossary#sequencer">Sequencer</a> for a small ordering advantage. See [here](<a href="https://medium.com/offchainlabs/time-boost-a-new-transaction-ordering-policy-for-arbitrum-5b3066382d62">https://medium.com/offchainlabs/time-boost-a-new-transaction-ordering-policy-for-arbitrum-5b3066382d62</a>) for more.
</p>

### 🐸 Toadstoolz {#toadstoolz}
<p>
Hidden in the Croakshire, you will find the friendly Toadstoolz.
<br />

<br />
The iconic Toads of Arbitrum love to hunt BUGZ
<br />
and collect NFTs. !CROAK
A transaction ordering policy in which entities can bid for the right to access an express lane on the <a href="/intro/glossary#sequencer">Sequencer</a> for faster transaction inclusion. See the <a href="https://github.com/OffchainLabs/timeboost-design/tree/main">research specification</a> to learn more.
</p>

### Token Gateway {#token-gateway}
<p>
A pair of contracts in the token bridge — one on the <a href="/intro/glossary#parent-chain">Parent chain</a> , one on the <a href="/intro/glossary#child-chain">Child chain</a> — that provide a particular mechanism for handling the transfer of tokens between layers. Token gateways currently active in the bridge include the <a href="/intro/glossary#standarderc20-gateway">StandardERC20 gateway</a> , the <a href="/intro/glossary#genericcustom-gateway">Generic-Custom Gateway</a> , and the <a href="/intro/glossary#weth-gateway">WETH Gateway</a>.
</p>

### 🏡 TownStory {#townstory-}
<p>
If you see some homes along your road trip in the Arbitrum ecosystem, you've made it to TownStory.
<br />

<br />
Build a warm and prosperous town with friends in TownStory.
</p>

### Transaction {#transaction}
<p>
A user-initiated interaction with a Blockchain. Transactions are typically signed by users via wallets and are paid for via transaction fees.
</p>

### ✨ Treasure DAO {#treasure-dao}
### Transaction Ordering Policy {#transaction-ordering-policy}
<p>
While exploring the Arbitrum ecosystem, you may see some shining stars.
<br />

<br />
The iconic stars symbolize the magic of Treasure DAO. Treasure DAO is the decentralized gaming ecosystem connecting games and players on Arbitrum.
The rules and logic employed by a chain to order incoming transactions into a block.
</p>

### Trustless {#trustless}
Expand Down Expand Up @@ -555,13 +516,4 @@ A <a href="/intro/glossary#validator">Validator</a> that never stakes / never t
<a href="/intro/glossary#token-gateway">Token Gateway</a> for handing 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.
</p>

### 👺 Zeeverse {#zeeverse}
<p>
As you're exploring the Arbitrum world, you may bump into a world filled with monsters and Zee's.
<br />

<br />
Explore a mythical Spirit Realm as a young Shaman and take part in strategic turn-based battles to help protect Zeeverse from the looming corrupted forces.
</p>


Loading

0 comments on commit ad02b6b

Please sign in to comment.