Séquenceur

Un sequencer est un nœud spécialisé chargé d'ordonner et de traiter les transactions dans une blockchain, en particulier dans les solutions de mise à l'échelle de couche 2 comme les rollups, afin d'améliorer l'efficacité et de réduire les coûts.

Un sequencer joue un rôle essentiel dans la technologie blockchain, notamment dans les solutions de mise à l'échelle de couche 2. Sa fonction principale est de collecter les transactions des utilisateurs, de les ordonner, puis de les soumettre à la blockchain de couche 1 sous-jacente. Ce processus garantit que les transactions sont traitées dans une séquence spécifique, ce qui est crucial pour l'état correct de la blockchain.

Le concept de sequencer a gagné en importance avec l'essor des rollups, tels que les optimistic et ZK-rollups. Ces solutions visent à améliorer l'évolutivité des blockchains en exécutant les transactions hors chaîne, puis en soumettant les données de transaction à la chaîne principale. Le sequencer est responsable de la gestion de ces transactions hors chaîne, de leur regroupement et de leur proposition à la couche 1.

L'efficacité d'un sequencer a un impact direct sur l'expérience utilisateur. En ordonnant et en traitant rapidement les transactions, un sequencer peut réduire la latence des transactions et fournir des temps de confirmation plus rapides. La décentralisation des sequencers est un domaine de développement en cours, avec des efforts pour créer des systèmes plus robustes et sécurisés afin d'éviter les points de défaillance uniques et la censure.

        graph LR
  Center["Séquenceur"]:::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;

      

🧠 Test de connaissances

1 / 3

🧒 Explique-moi comme si j'avais 5 ans

Think of a sequencer like a traffic controller for a busy highway exit ([Layer 2](/fr/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](/fr/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](/fr/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.

🔗 Termes associés

Prérequis:

📚 Sources