シーケンサー
シーケンサーは、効率を向上させ、コストを削減するために、特にロールアップなどのレイヤー2スケーリングソリューションにおいて、ブロックチェーン内のトランザクションを順序付けし、処理する責任を持つ特殊なノードです。
シーケンサーは、ブロックチェーン技術、特にレイヤー2スケーリングソリューションにおいて重要な役割を果たします。その主な機能は、ユーザーからのトランザクションを収集し、それらを順序付けし、基盤となるレイヤー1ブロックチェーンに送信することです。このプロセスにより、トランザクションが特定の順序で処理されることが保証され、これはブロックチェーンの正しい状態にとって重要です。
シーケンサーの概念は、オプティミスティックロールアップやZKロールアップなどのロールアップの台頭とともに注目を集めています。これらのソリューションは、トランザクションをオフチェーンで実行し、トランザクションデータをメインチェーンに送信することにより、ブロックチェーンのスケーラビリティを向上させることを目的としています。シーケンサーは、これらのオフチェーンのトランザクションを処理し、それらをバンドルし、レイヤー1に提案する役割を担います。
シーケンサーの効率は、ユーザーエクスペリエンスに直接影響します。トランザクションを迅速に順序付けし処理することにより、シーケンサーはトランザクションの遅延を減らし、より速い確認時間を提供できます。シーケンサーの分散化は、単一障害点と検閲を防ぐために、より堅牢で安全なシステムを作成するための取り組みが行われている、継続的な開発分野です。
graph LR
Center["シーケンサー"]:::main
Pre_layer_2["layer-2"]:::pre --> Center
click Pre_layer_2 "/terms/layer-2"
Pre_transaction["transaction"]:::pre --> Center
click Pre_transaction "/terms/transaction"
Rel_optimistic_rollup["optimistic-rollup"]:::related -.-> Center
click Rel_optimistic_rollup "/terms/optimistic-rollup"
Rel_zk_rollup["zk-rollup"]:::related -.-> Center
click Rel_zk_rollup "/terms/zk-rollup"
Rel_mev["mev"]:::related -.-> Center
click Rel_mev "/terms/mev"
classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
linkStyle default stroke:#4b5563,stroke-width:2px;
🧠 理解度チェック
🧒 5歳でもわかるように説明
Think of a sequencer like a traffic controller for a busy highway exit ([Layer 2](/ja/terms/layer-2)). It gathers all the cars (transactions) trying to get on the highway, lines them up neatly, and sends them onto the main road ([Layer 1](/ja/terms/layer-1)) all at once, making things faster and cheaper.
🤓 Expert Deep Dive
In the context of optimistic and zero-knowledge rollups, the sequencer acts as the central orchestrator responsible for [transaction ordering](/ja/terms/transaction-ordering) and state transitions off-chain. It receives a stream of user-submitted transactions (often via an RPC endpoint), validates their basic format and signature, and enqueues them into a mempool. The sequencer then deterministically orders these transactions, typically based on arrival time or a fee-market mechanism (e.g., EIP-1559-like structures if applicable), and executes them against the current rollup state. The result of this execution is a new state root, which is then committed to the layer-1 blockchain. Crucially, the sequencer batches multiple transactions into a single state transition. This batching is what enables the significant gas cost savings and throughput increases characteristic of rollups. For optimistic rollups, the sequencer constructs a proposed state transition and submits a transaction to the L1 containing the compressed transaction data and the resulting state root. A challenge period follows, during which anyone can submit a fraud proof if they detect an invalid state transition. For ZK-rollups, the sequencer not only orders and executes transactions but also generates a validity proof (e.g., a ZK-SNARK or ZK-STARK) that mathematically guarantees the correctness of the state transition. This proof, along with the transaction data and the new state root, is submitted to the L1 verifier contract. Decentralization of the sequencer is a key research area, with proposed solutions including shared sequencers, sequencer pools, and randomized leader election to mitigate censorship and single points of failure. The sequencer's internal logic often involves managing state forks, handling reorgs, and ensuring atomicity of batches.