Розробка L3/appchain на базі Arbitrum Orbit
Arbitrum Orbit — це фреймворк для запуску власної L2 або L3 мережі з використанням Arbitrum's rollup технології. Якщо ваш протокол упирається в gas costs на L2, потребує кастомної логіки виконання недоступної на EVM-сумісних мережах, або вимагає повної ізоляції від публічного mempool — Orbit appchain може бути правильним рішенням. Але це не «натиснути кнопку — отримати блокчейн». Це місяці інфраструктурної роботи з серйозними операційними вимогами в production.
Що таке Orbit та коли це має смисл
Orbit дозволяє створити AnyTrust chain або Rollup chain з вашою мережею як settlement layer:
- L2 Orbit — settles на Ethereum L1. Класичний rollup або AnyTrust DAC.
- L3 Orbit — settles на Arbitrum One/Nova (L2). Це типовий «appchain» — дешевший, швидший, але успадковує security assumptions L2.
Rollup mode — повна валідність, всі дані публікуються на parent chain. Висока безпека, вищі операційні расходи (da costs).
AnyTrust mode — дані зберігаються в Data Availability Committee (DAC) — N з M довірених нод. Набагато дешевше, але є trust assumption на членів DAC. Використовується для gaming, social, high-frequency trading додатків. Arbitrum Nova — приклад AnyTrust.
Orbit має смисл якщо:
- Потрібен кастомний gas token (нативний токен вашого протоколу замість ETH)
- Вимагається кастомний precompile (кастомна логіка на рівні EVM, недоступна через контракти)
- Потрібна приватність mempool (sequencer тільки ваш)
- Транзакційний обсяг призводить до > $50k/мес gas затрат на L2
- Потрібна гарантована пропускна спроможність та передбачуваний gas price
Orbit не має смисл якщо: ви просто хочете дешевше — Arbitrum One або Base уже достатньо дешеві для більшості випадків.
Технічні компоненти Orbit stack
Nitro node
Arbitrum Orbit використовує Nitro — переробленое ядро Arbitrum з Geth під капотом, скомпільоване в WASM (Arbitrum's WAVM). Sequencer та validator — це Nitro nodes з різними конфігураціями.
Sequencer — приймає та впорядковує транзакції, публікує батчі на parent chain. Це централізований компонент у стандартній конфігурації. Для decentralized sequencing (ще в розробці у Arbitrum) — окрема історія.
Validator/staker — верифікує утвердження sequencer, стейкує ETH як залог коректної поведінки. Важливо: хоча б один честний validator достатній для fraud proof безпеки.
Data Availability — для Rollup mode батчі публікуються в L1 calldata або через EIP-4844 blobs (Dencun). Для AnyTrust — DAS (Data Availability Server) в DAC.
Контракти на parent chain
Orbit деплоїть набір контрактів на parent chain (Ethereum або Arbitrum L2):
RollupCore ← основний контракт rollup
SequencerInbox ← отримує батчі від sequencer
Bridge ← стандартний cross-chain bridge
Inbox ← L1→L3 повідомлення
Outbox ← L3→L1 withdrawals
ChallengeManager ← fraud proof механізм
Деплой через orbit-sdk (TypeScript) або nitro-contracts:
import { createRollupPrepareConfig } from '@arbitrum/orbit-sdk';
const config = createRollupPrepareConfig({
chainId: BigInt(412346), // ваш chain ID
owner: deployer.address,
chainConfig: {
chainId: 412346,
homesteadBlock: 0,
// ... решта genesis параметрів
},
});
Кастомна конфігурація
Custom gas token. Заміна ETH на ERC-20 токен для оплати газу. Потребує деплоя CustomFeeToken контракту та настройки sequencer. Важливо: цей токен повинен мати ліквідність для оплати costs на parent chain — потребує bridge або market maker.
// У конфігу чейна
{
"nativeToken": "0x...", // адреса ERC-20 токена
}
Custom precompiles. Додання функціональності не існуючої в стандартному EVM. Приклад: вбудована верифікація ZK-доказів, VRF, кастомна криптографія. Реалізуються як Go-код у Nitro node на адресах 0x...64+. Потребує форку Nitro.
Sequencer whitelist. Дозвіл транзакцій тільки від визначених адрес — для permissioned appchains.
Bridges та cross-chain messaging
Стандартний Orbit bridge — повільний для withdrawals: 7 днів challenge period для Rollup (для AnyTrust — швидше, залежить від DAC конфігурації).
Canonical bridge (retryable tickets):
// L1 → L3 депозит
IInbox(inbox).createRetryableTicket{value: msg.value}(
to, // отримувач на L3
l2CallValue, // ETH для L3
maxSubmissionCost,
excessFeeRefundAddress,
callValueRefundAddress,
gasLimit,
maxFeePerGas,
data
);
Third-party bridges (Layerswap, Connext, Hyperlane) — для швидких withdrawals без 7-дневного очікування. Потребує окрема інтеграція.
Cross-chain messaging через Hyperlane або LayerZero — для general purpose повідомлень між вашим appchain та іншими мережами.
Sequencer та децентралізація
Це головна операційна точка уразливості. Якщо ваш sequencer падає — мережа не обробляє транзакції. Стандартна архітектура:
[Primary Sequencer]
↓
[Hot Standby Sequencer] ← failover за < 30 сек
↓
[Force Inclusion] ← користувачі можуть напрямку в SequencerInbox через L1
Force inclusion — механізм безпеки: якщо sequencer ігнорує транзакцію довше MAX_DELAY_BLOCKS (за замовчуванням 7200 блоків ≈ 24 години), користувач може включити її напрямку через L1. Це запобігає цензурі sequencer.
Для production sequencer: multi-region деплой (AWS + GCP), автоматичний failover, моніторинг latency до parent chain.
Fraud Proofs та безпека
Orbit використовує interactive fraud proofs (BOLD protocol у нових версіях) — оспорювання утверджень через bisection challenge. Складний механізм але ключова гарантія безпеки.
Challenge window. У Rollup mode: 6.4 днів (стандарт). За цей час будь-який validator може оспорити некоректне утвердження.
Вимоги до validator. Validator повинен мати доступ до full node з історією блоків, достатньо ETH для стейкинга (мінімум визначається контрактом).
Trusted setup. На початковому етапі: owner контракту має права на upgrade. Рекомендується: timelock + multisig, потім — поступова децентралізація.
DA layer вибір
| Варіант | Вартість | Безпека | Підходить для |
|---|---|---|---|
| Ethereum calldata | ~$0.01-0.1/kb | L1 security | Фінансові протоколи |
| EIP-4844 blobs | ~$0.001-0.01/kb | L1 security (з TTL) | Більшість випадків |
| AnyTrust DAC | ~$0.0001/kb | Trust у DAC | Gaming, соціальні |
| Celestia | ~$0.0001/kb | Окремий DA layer | Високий throughput |
| EigenDA | ~$0.001/kb | EigenLayer restaking | Enterprise |
Для L3 settling на Arbitrum One з використанням EIP-4844 — оптимальний баланс вартості та безпеки для більшості appchains.
Моніторинг та операційка
Обов'язкові метрики:
nitro_sequencer_batch_poster_last_sent_block # коли останній раз відправляв батч
nitro_arb_node_inbox_messages_delivered_count # черга вхідних
nitro_tx_streamer_messages_count # транзакції в обробці
nitro_sequencer_message_count # processed messages
Алерти:
- Sequencer не відправляв батч > 10 хвилин → critical
- Validator lag від head > 100 блоків → warning
- Gas balance sequencer < 0.5 ETH → critical (упаде batch posting)
- Parent chain RPC latency > 2s → warning
Технологічний стек
| Компонент | Технологія |
|---|---|
| Node software | Arbitrum Nitro (Go) |
| SDK | @arbitrum/orbit-sdk (TypeScript) |
| Смарт-контракти | nitro-contracts (Solidity) |
| Деплой інфраструктура | Kubernetes + Helm charts |
| Моніторинг | Prometheus + Grafana + Pagerduty |
| DA (AnyTrust) | DAS server + nitro das |
Сроки реалізації
Етап 1 — Проектування (2 тижні). Вибір режиму (Rollup/AnyTrust), DA layer, settlement chain, параметри chain config, токеноміка gas token.
Етап 2 — Testnet (3-4 тижні). Деплой контрактів на Arbitrum Sepolia, запуск sequencer + validator, тестування bridge, базовий моніторинг.
Етап 3 — Інтеграції (2-3 тижні). Кастомізація (precompiles, gas token, whitelist), інтеграція з block explorer (Blockscout), bridge UI.
Етап 4 — Mainnet prep (2 тижні). Security review контрактів, настройка multisig для owner, моніторинг production, runbook для операційної команди.
Етап 5 — Mainnet launch (1 тиждень). Деплой, migration liquidity, публічний запуск.
Итого: 10-12 тижнів до mainnet. Після запуску — постійна операційна навантаження: моніторинг sequencer, поповнення gas balances, оновлення node software.







