Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
LABS
Guides

Setting Up a Sequencer Committee for L2 Rollups

A technical guide for developers on implementing a decentralized sequencer committee, including practical steps for governance, security, and smart contract configuration.
Chainscore © 2026
introduction
ARCHITECTURE GUIDE

Setting Up a Sequencer Committee for L2 Rollups

A practical guide to implementing a decentralized sequencer committee, the multi-validator model that enhances security and censorship-resistance for Layer 2 rollups.

A sequencer committee is a decentralized set of nodes responsible for ordering transactions in a Layer 2 rollup. Unlike a single, centralized sequencer, a committee distributes this critical role, mitigating risks like single points of failure, censorship, and malicious ordering. This architecture is fundamental to achieving decentralized sequencing, a key milestone for rollups transitioning from training wheels to full Ethereum-level security. Popular implementations include Espresso Systems' HotShot and Astria's shared sequencer network, which provide the infrastructure for rollups to outsource this function.

The core technical setup involves several components. You need a consensus mechanism (like Tendermint or HotStuff) for the committee members to agree on transaction order. Each member runs a sequencer node that receives user transactions, participates in consensus, and batches them into blocks. A data availability layer (e.g., EigenDA, Celestia, or Ethereum blobs) is required to publish the transaction data. Finally, a bridge contract on L1 verifies the committee's work and enables trustless withdrawals. The committee's output is a stream of ordered transaction batches with corresponding cryptographic proofs.

To implement a basic committee, you first define the validator set and its governance, often managed by a smart contract. Each validator runs software that includes the consensus client, the rollup's execution engine (like an OP Stack or Arbitrum Nitro derivation), and a relayer for posting data to L1. A typical initialization command for a node might look like: sequencer-node --consensus-key <key> --l1-rpc <url> --rollup-config ./config.json. The nodes peer with each other and begin participating in rounds of consensus to propose and finalize blocks of L2 transactions.

Security considerations are paramount. The committee's fault tolerance depends on its consensus algorithm; for instance, a BFT-style consensus might require that less than one-third of validators by stake are malicious. Slashing mechanisms can penalize validators for equivocation or censorship. Key management for validators should use hardware security modules (HSMs) where possible. It's also critical to have a robust governance process for adding or removing committee members to prevent stagnation or attacks. These measures protect the liveness and safety of the rollup.

Integrating with an existing rollup stack, such as the OP Stack or Arbitrum Nitro, involves configuring the rollup's derivation pipeline to accept blocks from your committee's consensus output instead of a single sequencer. This often means implementing a custom derive module that fetches batches from the committee's data availability layer and verifies the consensus proofs. The Espresso Sequencer and Astria documentation provide concrete examples of how rollups can plug into their shared, decentralized sequencing layers.

The primary benefits of this setup are enhanced decentralization and credible neutrality. Users are not dependent on a single entity for transaction inclusion. However, trade-offs exist: latency may increase slightly due to consensus rounds, and the economic cost is higher than a single sequencer. For many rollups, especially those handling significant value, this trade-off is essential for long-term security and alignment with Ethereum's values. The setup moves the rollup closer to being a truly sovereign, user-controlled system.

prerequisites
SETTING UP A SEQUENCER COMMITTEE

Prerequisites and System Requirements

Deploying a decentralized sequencer committee requires specific hardware, software, and network configurations to ensure security and performance.

A sequencer committee is a decentralized set of nodes responsible for ordering transactions in an L2 rollup. Before deployment, you must meet core prerequisites: a foundational understanding of rollup architecture, proficiency with a command line interface, and access to a cloud provider or dedicated server. Essential software includes Docker for containerization, a modern version of Node.js (v18+), and the specific rollup client software, such as OP Stack's op-node or Arbitrum Nitro. You will also need a funded Ethereum wallet for on-chain interactions and gas fees.

The system requirements vary based on the rollup's expected transaction volume. For a production-grade mainnet sequencer, we recommend: - CPU: 8+ cores (Intel Xeon/AMD EPYC) - RAM: 32 GB minimum - Storage: 1-2 TB NVMe SSD for fast state reads/writes - Network: 1 Gbps dedicated bandwidth with low latency to both L1 and peer nodes. These specifications ensure the node can process blocks, generate proofs, and submit data to L1 without becoming a bottleneck. For a testnet or low-throughput chain, 4 cores and 16 GB RAM may suffice.

Network configuration is critical for committee consensus. Each sequencer node must have a static public IP address and open ports for P2P communication (typically TCP 30303 for OP Stack). You must configure firewall rules to allow traffic between all committee members and the L1 Ethereum endpoint. Using a service like Infura, Alchemy, or a dedicated Geth/Erigon node is required for reliable L1 data retrieval. Ensure time synchronization across all nodes using NTP to prevent consensus issues.

Security setup involves generating and managing cryptographic keys. Each sequencer node requires a BLS private key for signing batches and a separate Ethereum private key for submitting transactions to L1. These keys must be stored securely, ideally using a hardware security module (HSM) or a cloud KMS solution in production. Never commit private keys to version control. The sequencer software will also need permissions to write to its data directory and access the configured ports.

Finally, you must establish the initial committee configuration. This is defined in a genesis file or via smart contract initialization and includes: the list of authorized sequencer addresses (public keys), the threshold for consensus (e.g., 2/3 of members), and the address of the L1 rollup contract. All nodes must start with identical configuration. Tools like the op-node CLI or nitro client provide commands to generate these genesis states and synchronize the committee before going live.

key-concepts-text
CORE CONCEPTS FOR COMMITTEE DESIGN

Setting Up a Sequencer Committee for L2 Rollups

A sequencer committee is a decentralized set of nodes responsible for ordering transactions in an L2 rollup, replacing a single, centralized sequencer to enhance security and censorship resistance.

A sequencer is the primary component of an L2 rollup responsible for ordering user transactions into blocks before submitting them to the base L1 chain (like Ethereum). In a centralized model, a single operator controls this process, creating a single point of failure and potential censorship. A sequencer committee decentralizes this role by distributing block production and ordering authority across a permissioned or permissionless set of nodes. This design is critical for achieving the security guarantees of the underlying L1, as it prevents malicious or faulty sequencers from manipulating transaction order or withholding transactions.

The core mechanism for a committee is a consensus algorithm tailored for high-throughput sequencing. Unlike L1 consensus (e.g., Ethereum's Gasper), which must achieve finality for the entire global state, sequencer consensus only needs to agree on the order of transactions for a short period before data is posted to L1. Protocols often use BFT-style consensus (like Tendermint or HotStuff) or DAG-based ordering (like Narwhal & Bullshark) for this purpose. The committee's output is a finalized sequence of transactions that is then compressed and submitted as calldata to an L1 smart contract, such as a SequencerInbox on Arbitrum or a BatchInbox on Optimism.

Implementing a committee requires defining its membership logic. In a permissioned setup, members are known entities (e.g., reputable stakers) selected via governance. A permissionless model allows any node that stakes the rollup's native token to join, with slashing conditions for misbehavior. A critical smart contract on L1, often called a Manager or Staking contract, manages this membership, stakes, and slashing. The following Solidity snippet outlines a basic staking structure for committee members:

solidity
contract SequencerStaking {
    mapping(address => uint256) public stakes;
    address[] public activeSequencers;
    uint256 public minimumStake;

    function joinCommittee() external payable {
        require(msg.value >= minimumStake, "Insufficient stake");
        stakes[msg.address] = msg.value;
        activeSequencers.push(msg.address);
    }
    // Slashing and rotation logic omitted
}

The committee must be fault-tolerant, typically resisting up to one-third of Byzantine (arbitrarily malicious) members in BFT systems. To maintain liveness, the protocol needs a leader rotation scheme to select which member proposes the next block. This prevents a single member from censoring transactions and distributes load. If a leader fails to propose a block within a timeout, the protocol moves to the next leader in the rotation. The health of the committee is monitored via on-chain fraud proofs or validity proofs (ZKPs), which allow any watcher to challenge incorrect state transitions initiated by the committee's sequenced batches.

Key operational challenges include latency between members and MEV (Maximal Extractable Value) management. High latency can slow down consensus, reducing user experience. Some designs, like leaderless or DAG-based protocols, can mitigate this. For MEV, a decentralized committee can democratize value extraction but may also lead to consensus instability if members compete. Solutions involve fair ordering protocols (e.g., using threshold encryption) or committing to a pre-confirmation scheme that reveals transaction content only after ordering is agreed upon. Projects like Espresso Systems are building infrastructure specifically for shared sequencer committees.

When designing your committee, you must decide on the data availability source. While most rollups post data to Ethereum, some committees might post to alternative DA layers like Celestia or EigenDA for lower cost. The choice impacts security and the design of your bridge contracts on L1. Furthermore, the committee must integrate with the rollup's state transition function (e.g., an EVM) and prover system (if a ZK-rollup). The final architecture is a balance between decentralization, performance, and compatibility with existing rollup stacks like the OP Stack or Arbitrum Nitro, which are beginning to incorporate shared sequencer designs.

committee-design-options
L2 ROLLUP SECURITY

Committee Design and Governance Models

A sequencer committee decentralizes transaction ordering, moving beyond a single operator to enhance security and censorship resistance for Layer 2 rollups.

03

Economic Security and Slashing

Economic incentives align committee behavior with network security. Each sequencer posts a stake (e.g., 32 ETH) that can be slashed for provable faults. Slashing conditions include:

  • Double-signing: Signing two conflicting transaction blocks.
  • Censorship: Failing to include eligible transactions within a time window.
  • L1 Submission Failure: Not posting data or proofs to Ethereum on time. The total slashable value (TVS) across the committee must be high enough to deter attacks. For example, if attacking the rollup could profit $100M, the combined stake should significantly exceed that amount.
05

Decentralization Metrics and Risks

Evaluate a sequencer committee's decentralization using concrete metrics:

  • Nakamoto Coefficient: The minimum number of members needed to compromise the system. Aim for >4.
  • Stake Distribution: Gini coefficient of staked amounts; lower is better.
  • Geographic & Client Diversity: Risk of correlated failures. Primary risks include long-range attacks where past committees collude, mitigated by regular checkpointing to L1, and MEV extraction by the committee, which can be addressed with fair ordering protocols like Themis or SUAVE.
step-1-member-selection
FOUNDATION

Step 1: Defining Member Selection Criteria

The security and performance of a sequencer committee depend on its members. This step establishes the objective criteria for selecting them.

The first and most critical step in forming a sequencer committee is defining the member selection criteria. These are the objective, on-chain measurable requirements that a node operator must meet to be eligible for committee membership. Unlike subjective governance votes, these criteria are enforced by smart contract logic, ensuring the process is transparent, fair, and resistant to manipulation. Common criteria fall into three categories: technical capability, economic security, and decentralization parameters.

Technical criteria ensure members can perform the sequencer role reliably. This typically includes a minimum hardware specification (e.g., CPU, RAM, storage), proven uptime history, and geographic distribution to avoid single points of failure. For example, a protocol might require nodes to run specific client software versions and maintain a 99.5% uptime SLA over the previous 30 days, verified by a decentralized oracle network like Chainlink.

Economic security is enforced through staking mechanisms. A minimum stake amount, often in the network's native token or a liquid staking derivative, creates a slashable bond. This stake is at risk if the sequencer acts maliciously or fails to perform, aligning the member's financial incentives with the network's health. The size of this bond is a key security parameter; for a high-value rollup, it could be set in the millions of USD equivalent to deter attacks.

Decentralization parameters prevent over-concentration. Criteria here can include limits on the number of nodes operated by a single entity, requirements for independent infrastructure (banning the use of a single cloud provider like AWS for more than 33% of the committee), and mechanisms to ensure jurisdictional diversity. These rules are codified into the selection smart contract to automatically disqualify candidates that would reduce network resilience.

A practical implementation involves a registry contract where node operators register by submitting proof they meet the criteria. For technical specs, they might submit a signed attestation from a trusted verifier. For stake, they deposit funds into the contract. The selection algorithm, which we'll cover in Step 2, then queries this registry to build its candidate pool. Well-defined criteria are the bedrock of a secure and performant decentralized sequencer network.

step-2-key-generation-setup
SEQUENCER COMMITTEE

Step 2: Distributed Key Generation and Multi-Signature Setup

This step establishes the cryptographic foundation for a decentralized sequencer network, moving from a single trusted operator to a committee secured by multi-party computation.

A sequencer committee is a group of nodes responsible for ordering transactions in a rollup. To prevent a single point of failure or control, the committee's signing authority is distributed using a Distributed Key Generation (DKG) protocol. DKG allows N participants to collaboratively generate a single public key and corresponding secret key shares, where no single party ever knows the full private key. This is the basis for a threshold signature scheme (TSS), where a subset of participants (e.g., t-of-n) can collectively sign a block of transactions.

The most common approach uses a Feldman verifiable secret sharing scheme or its practical successor, Pedersen's DKG. In these protocols, each committee member generates a secret polynomial and broadcasts commitments. Participants exchange encrypted shares and verify their validity against the commitments, ensuring that even if some participants are malicious, they cannot corrupt the final key. Libraries like tss-lib or Multi-Party ECDSA provide production-ready implementations for Ed25519 or secp256k1 curves, which are compatible with most L2 smart contracts.

Once DKG completes, the committee has a shared public address (e.g., 0x...) and each member holds a secret share. To propose a batch, the sequencer assembles transactions and creates a digest. This digest is sent to the committee for signing via a multi-party computation (MPC) signing ceremony. If a threshold of members (e.g., 5 of 9) participates honestly, they produce a valid ECDSA or Ed25519 signature under the committee's shared public key. This signature is submitted to the L1 rollup contract as proof of committee approval.

Key management for secret shares is critical. Members typically run a key management service (KMS) in a secure, isolated environment like a Hardware Security Module (HSM) or a trusted execution environment (TEE). The share should never be exposed in plaintext to the sequencer software. For high availability, shares can be further split locally using techniques like Shamir's Secret Sharing, but the primary security boundary remains the DKG protocol's resilience to malicious participants.

Practical deployment requires a network layer for P2P communication between committee members during DKG and signing rounds. This is often built using libp2p or a custom WebSocket/RPC layer with authentication. Monitoring is essential: nodes must track signing participation, detect liveness failures, and have procedures for committee rotation. Rotating the committee (generating a new key) periodically or after a member change requires running the DKG protocol again, which the L1 contract must be designed to accept.

step-3-smart-contract-config
SETTING UP A SEQUENCER COMMITTEE FOR L2 ROLLUPS

Step 3: Configuring Governance Smart Contracts

This guide details the implementation of a multi-signature sequencer committee, a critical governance mechanism for decentralized rollups like Optimism and Arbitrum.

A sequencer committee is a set of trusted entities authorized to submit transaction batches to the L1 settlement layer. Unlike a single sequencer model, a committee uses a multi-signature (multisig) wallet for governance, requiring a threshold of signatures (e.g., 5-of-9) to authorize operations. This setup enhances decentralization and fault tolerance. The core smart contract is typically a Gnosis Safe or a custom MultiSigWallet that controls the sequencer's privileged functions, such as submitting state roots or upgrading contracts.

The configuration involves deploying the multisig contract with the initial committee members' addresses and a predefined threshold. For example, an Optimism-style SequencerFeeVault or a custom L2OutputOracle would have its ownership transferred to this multisig address. Key parameters to define are: the list of signer addresses, the signature threshold (like 5 out of 9), and a timelock period for critical actions. These are set in the constructor of the governance contract upon deployment.

Here is a simplified example of initializing a committee using OpenZeppelin's AccessControl and a mock multisig logic:

solidity
// Pseudocode for committee initialization
contract SequencerGovernance {
    bytes32 public constant COMMITTEE_ROLE = keccak256("COMMITTEE_ROLE");
    uint256 public approvalThreshold;

    constructor(address[] memory committeeMembers, uint256 threshold) {
        approvalThreshold = threshold;
        for (uint i = 0; i < committeeMembers.length; i++) {
            _grantRole(COMMITTEE_ROLE, committeeMembers[i]);
        }
    }

    function submitBatch(bytes32 batchRoot) public {
        require(hasRole(COMMITTEE_ROLE, msg.sender), "Not a committee member");
        // Logic to validate and forward batch to L1
    }
}

This structure ensures only authorized committee members can execute sequencer duties.

Post-deployment, governance actions such as adding/removing members or changing the threshold must also be executed through the multisig, creating a self-governing system. It's crucial to integrate this contract with the rollup's core batch submitter and state commitment contracts. Best practices include conducting a security audit on the governance setup, using a timelock controller for upgrades (like OpenZeppelin's TimelockController), and clearly documenting the upgrade and emergency response procedures for committee members.

Real-world implementations can be studied in the Optimism Bedrock protocol, where the SequencerFeeVault is owned by a 2-of-3 multisig, or in Arbitrum Nitro's governance design. The choice between a pure multisig and a more complex DAO structure (like a governor contract) depends on the desired level of decentralization and gas overhead. This configuration forms the bedrock of a rollup's security model, balancing liveness with decentralized control.

SEQUENCER COMMITTEE CONFIGURATION

Security and Performance Parameter Trade-offs

Key design decisions for a sequencer committee, showing the inherent trade-offs between decentralization, liveness, and cost.

ParameterHigh Security / DecentralizedBalanced / OptimisticHigh Performance / Centralized

Committee Size

100+ Validators

21-50 Validators

1-5 Validators

Fault Tolerance (Byzantine)

33% (e.g., 67/100 honest)

33% (e.g., 14/21 honest)

0% (Single point of failure)

Block Finality Time

2-5 minutes

12-20 seconds

< 2 seconds

Hardware Requirements

Enterprise-grade (32+ GB RAM, 8+ cores)

Standard cloud instance (16 GB RAM, 4 cores)

Consumer-grade (8 GB RAM, 2 cores)

Annual Staking Cost per Node

$10,000 - $50,000

$2,000 - $8,000

$500 - $1,500

Data Availability Layer

Ethereum Mainnet (calldata)

Validium / External DAC

Centralized Server

Censorship Resistance

Maximum Theoretical TPS

200-500

2,000-5,000

10,000+

step-4-rotation-slashing
SEQUENCER COMMITTEE OPERATIONS

Step 4: Implementing Rotation and Slashing Mechanisms

This section details the operational logic for maintaining an active, honest sequencer committee through automated member rotation and penalties for misbehavior.

A static committee is a security risk. To ensure liveness and mitigate threats from compromised or faulty nodes, the system must implement a rotation mechanism. This process periodically updates the active committee set based on a combination of stake weight, performance metrics, and a verifiable random function (VRF) for unpredictability. In practice, a smart contract on L1, such as a SequencerSetManager, handles this logic. It calls a function like rotateCommittee() at the end of each epoch (e.g., every 24 hours), which selects the next set of sequencers from the larger pool of bonded candidates.

The selection algorithm must balance fairness, security, and efficiency. A common approach is weighted random selection, where a sequencer's probability of being chosen is proportional to its staked amount, but modulated by a VRF seed to prevent gaming. This ensures that well-capitalized, honest actors are favored, but not guaranteed, maintaining decentralization. The new committee list is then finalized on-chain, and a message is relayed to the L2 rollup's consensus layer to update its active validator set, ensuring both layers are synchronized on the current authority.

Slashing is the complementary mechanism that financially penalizes malicious or negligent behavior, protecting the network's integrity. Slashing conditions must be explicitly defined in the system's protocol rules and smart contract code. Key slashable offenses for a sequencer include: - Double-signing: Producing two conflicting blocks for the same L2 height. - Liveness failure: Failing to produce blocks when selected, halting progress. - Data withholding: Not submitting transaction data or state roots to L1 within the required timeframe.

When a slashing condition is met, any network participant can submit a fraud proof or violation evidence to the L1 slashing contract. This contract, after verifying the proof, automatically slashes a portion of the offender's staked assets (e.g., 5% for liveness, up to 100% for double-signing). The slashed funds are typically burned or redistributed to the honest sequencers as a reward. This economic disincentive is crucial for aligning committee members' interests with the network's health, making attacks financially irrational.

Implementation requires careful smart contract design. Below is a simplified Solidity snippet illustrating a slashing condition check for data withholding, a critical failure mode for rollups.

solidity
function slashForWithholding(address sequencer, uint256 l2BlockNumber) external {
    require(msg.sender == fraudProver, "Unauthorized");
    DataCommitment storage dc = commitments[l2BlockNumber];
    require(dc.sequencer == sequencer, "Not the assigned sequencer");
    require(block.timestamp > dc.submissionDeadline, "Deadline not passed");
    require(!dc.submitted, "Data already submitted");
    
    uint256 slashAmount = (stake[sequencer] * SLASH_PERCENTAGE) / 100;
    stake[sequencer] -= slashAmount;
    emit SequencerSlashed(sequencer, slashAmount, "Data Withholding");
}

This function checks if a sequencer missed its deadline to post data, allowing a designated fraudProver to trigger the penalty.

Finally, rotation and slashing mechanisms must be transparent and predictable for all participants. The rules, epoch length, slash percentages, and proof formats should be immutable parts of the protocol or governable only via a lengthy, decentralized process. This setup creates a robust, self-regulating system where the committee maintains high performance through the carrot of rewards and the stick of slashing, while rotation ensures no single group can exert long-term centralized control over the rollup's transaction ordering.

SETUP AND OPERATION

Frequently Asked Questions on Sequencer Committees

Answers to common technical questions developers encounter when configuring and running a decentralized sequencer committee for Layer 2 rollups.

A sequencer committee is a decentralized set of nodes responsible for ordering transactions and producing blocks for a Layer 2 rollup. Unlike a single, centralized sequencer operated by one entity, a committee distributes this critical role across multiple independent participants.

Key differences:

  • Decentralization: No single point of failure or control. Liveness and censorship resistance are improved.
  • Fault Tolerance: The system can tolerate a subset of committee members being offline or malicious, often formalized by a Byzantine Fault Tolerance (BFT) consensus mechanism.
  • Incentive Alignment: Members are typically stakers who post bonds (e.g., in ETH or the rollup's native token) and earn fees, with slashing penalties for misbehavior.

Protocols like Arbitrum (with its upcoming permissionless validation) and StarkNet (with its decentralized sequencer roadmap) are moving towards this model from initial centralized deployments.

conclusion-next-steps
IMPLEMENTATION SUMMARY

Conclusion and Next Steps

You have configured a sequencer committee for your L2 rollup, establishing a decentralized foundation for block production and state commitment.

A properly configured sequencer committee is a critical component for any rollup aiming for credible neutrality and censorship resistance. This setup moves you beyond a single, centralized operator to a network of nodes that collectively order transactions and submit data to L1. Key operational components you have now implemented include the consensus mechanism (e.g., BFT-based), the key management system for validator signatures, and the slashing conditions that enforce honest behavior through economic penalties. The security of your rollup's state transitions now depends on this committee's correct execution.

To ensure long-term stability, you must establish robust operational practices. This includes monitoring node health and participation rates using tools like Prometheus and Grafana dashboards. You should implement automated alerts for missed blocks or liveness failures. Regular key rotation ceremonies are essential to mitigate the risk of key compromise. Furthermore, plan for committee member onboarding and offboarding processes, which may involve governance proposals and a staking/unstaking delay period to maintain network security during transitions.

The next technical evolution often involves decentralizing the sequencer role further. Research paths like shared sequencer networks (e.g., based on Espresso Systems or Astria) that can provide cross-rollup atomic composability. Alternatively, explore proof-of-stake (PoS) based sequencing where committee membership is permissionless and determined by stake. Each model presents different trade-offs in latency, throughput, and economic security. Your current permissioned committee is a vital first step, providing a controlled environment to test your core rollup logic under decentralized sequencing before progressing to more open models.

For ongoing development, engage with the broader ecosystem. Review the Optimism Bedrock and Arbitrum Nitro documentation to understand how major rollups handle fault proofs and challenge periods in their security models. Contribute to or audit open-source sequencer implementations like those in the Rollkit framework. Finally, consider implementing a sequencer failure fallback mechanism, often called "force inclusion," that allows users to submit transactions directly to L1 if the committee becomes censoring or unavailable, completing the trust-minimization guarantees of your rollup.

How to Set Up a Sequencer Committee for L2 Rollups | ChainScore Guides