Skip to content

Commit 07adc34

Browse files
Merge pull request #1815 from OffchainLabs/Orbit-V3
Orbit V3
2 parents 0e989f3 + 1f8b2e9 commit 07adc34

File tree

68 files changed

+989
-145
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

68 files changed

+989
-145
lines changed

arbitrum-docs/launch-orbit-chain/orbit-gentle-introduction.md renamed to arbitrum-docs/launch-orbit-chain/01-a-gentle-introduction.md

File renamed without changes.
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
title: 'Layer leap'
3+
description: 'Learn how to configure Layer Leap on your Orbit chain'
4+
author:
5+
sme:
6+
content_type: how-to
7+
---
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
title: 'Fast withdrawals'
3+
description: 'Learn how to configure fast withdrawals on your Orbit chain'
4+
author:
5+
sme:
6+
content_type: how-to
7+
---
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
title: 'AEP fee router'
3+
description: 'Learn how to configure your Orbit chain AEP fee router.'
4+
author:
5+
sme:
6+
content_type: how-to
7+
---

arbitrum-docs/launch-orbit-chain/how-tos/use-a-custom-gas-token.mdx renamed to arbitrum-docs/launch-orbit-chain/02-configure-your-chain/common-configurations/01-use-a-custom-gas-token.mdx

File renamed without changes.
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
---
2+
title: 'Customizable challenge period'
3+
description: "Learn how to customize your Orbit chain's challenge period"
4+
author: 'mahsamoosavi'
5+
sme: 'mahsamoosavi'
6+
content_type: how-to
7+
---
8+
9+
The challenge period defines the time frame during which state updates (assertions) submitted to the parent chain remain open for scrutiny and potential challenges before they are finalized. This mechanism ensures that participants in the system have the opportunity to verify the validity of state updates and raise challenges if necessary.
10+
11+
The length of the challenge period is measured based on the parent chain's notion of time, typically reflected in `block.number`. For L3s settling to Arbitrum chains, this period is determined by L1 block progression rather than Arbitrum's (L2) blocks.
12+
13+
In addition to the main challenge period, **an extra challenge period** provides a buffer to resolve any pending challenges after the main period ends. Together, these parameters help balance security and confirm the chain's state.
14+
15+
## Default challenge period and extra challenge period
16+
17+
:::info How time is measured in challenges
18+
Chains settling to Ethereum or Arbitrum chains use `block.number` for all block calculations, which corespond to the chain's view of Ethereum's block number. For example, an L3 Arbitrum chain settling to Arbitrum One, will calculate block progression based on Ethereum's (L1) block number.
19+
:::
20+
21+
By default, the challenge period lasts approximately one week, which equates to roughly 45,818 L1 blocks for chains that settle to Ethereum or an Arbitrum chain. The default duration design is to provide sufficient time for validators to detect and challenge fraudulent assertions.
22+
23+
On the other hand, the extra challenge period adds a buffer of 40 minutes by default, 200 L1 blocks for chains settling to Ethereum or an Arbitrum chain. This time ensures that any last-minute challenges or ongoing dispute resolution processes can be completed before the rollup finalizes its state.
24+
25+
These default values are selected to carefully balance security and performance for most rollup use cases. However, developers and Orbit chain owners may wish to customize these parameters to suit their specific requirements.
26+
27+
## Customizing the challenge period
28+
29+
### Challenge period blocks
30+
31+
The main challenge period configuration uses the `confirmPeriodBlocks` parameter, which specifies the duration of the challenge window based on the parent chain’s notion of `block.number`. This parameter can is customizable in two ways:
32+
33+
1. **During deployment**: Developers can specify the desired value in the `confirmPeriodBlocks` field of the RollupCreator configuration when deploying the rollup.
34+
2. **Post-deployment**: The chain owner can update this value dynamically by calling the `Rollup.setConfirmPeriodBlocks(newValue)` function.
35+
36+
For example, setting `confirmPeriodBlocks` to 30,000 blocks reduces the challenge period to approximately 4.5 days. This configuration might be suitable for applications prioritizing faster state confirmation, while increasing the value would extend the challenge period, improving security.
37+
38+
### Extra challenge period blocks
39+
40+
The extra challenge period is governable using the `extraChallengeTimeBlocks` parameter, which defines the additional buffer duration after the main challenge period. This period ensures that pending challenges are processed before the rollup state gets finalized.
41+
42+
By default, the extra challenge period is set to **200 blocks**, providing a short but sufficient buffer for most networks. However, developers can increase this value for applications requiring additional dispute resolution time or operate in environments with higher latency between the parent and child chain.
43+
44+
Like the main challenge period, this parameter is customizable in two ways:
45+
46+
1. **During deployment**: The value can be set in the `extraChallengeTimeBlocks` field of the RollupCreator configuration.
47+
2. **Post-deployment**: The chain owner can dynamically adjust the parameter using the `Rollup.setExtraChallengeTimeBlocks(newExtraTimeBlocks)` function.
48+
49+
For example, the following command can update the extra challenge period to 300 blocks based on the parent chain’s notion of `block.number`:
50+
51+
```shell
52+
cast send <ROLLUP_ADMIN_ADDRESS> "setExtraChallengeTimeBlocks(uint256)" 300 \
53+
--rpc-url <RPC_URL> \
54+
--private-key <PRIVATE_KEY>
55+
```
56+
57+
Replace:
58+
59+
`<ROLLUP_ADMIN_ADDRESS>` with the contract address of the rollup admin.
60+
`<RPC_URL>` with the appropriate RPC endpoint.
61+
`<PRIVATE_KEY>` with the private key of the authorized admin account (e.g., chain owner).
62+
63+
## Recommended values and best practices
64+
65+
For Orbit chains aligned with Arbitrum One's configuration, the recommended settings are:
66+
67+
- **Challenge period blocks**: 45,818 Ethereum blocks (approximately one week).
68+
- **Extra challenge period blocks**: 200 Ethereum blocks (approximately 40 minutes).
69+
70+
These values offer a robust and balanced setup for most rollup use cases. Developers should consider their application’s requirements when adjusting these parameters:
71+
72+
- **Shorter periods**: Suitable for applications that benefit from faster state confirmation, such as rollups prioritizing quicker exits or user withdrawals. For chains settling to Ethereum or an Arbitrum chain, this reduces challenge duration based on L1 block times.
73+
- **Longer periods**: Recommended for applications requiring higher security, such as cross-chain asset transfers or large-value transactions. The actual duration depends on the parent chain’s block intervals (e.g., Ethereum vs. other chains).
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
---
2+
title: 'Stake and validator configurations'
3+
description: 'Learn how to configure your Orbit chain with a custom stake and validator configurations'
4+
author:
5+
sme:
6+
content_type: how-to
7+
---
8+
9+
- **Base Stake**: Minimum stake required for validators.
10+
- **Stake Token**: Token used for staking.
11+
- **Loser Stake Escrow**: Address for escrowed funds from losing validators.
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
title: 'ArbOS configuration'
3+
description: 'Learn how to configure ArbOS on your Orbit chain'
4+
author: jose-franco
5+
sme: jose-franco
6+
content_type: how-to
7+
---
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
title: 'Gas Optimization Tools'
3+
description: 'Learn how to configure gas optimization tools for your Orbit chain'
4+
author:
5+
sme:
6+
content_type: how-to
7+
---
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
title: 'Fee Management'
3+
description: 'Learn how to configure fee management for your Orbit chain'
4+
author:
5+
sme:
6+
content_type: how-to
7+
---

0 commit comments

Comments
 (0)