Tutoriel·9 min de lecture·Par Solingo

Ethereum Layer 2 Scaling — Rollups, ZK et Optimistic Expliqués

Comprendre les solutions de scaling L2 : Optimistic rollups, ZK rollups, validiums. Où déployer vos contrats.

# Ethereum Layer 2 Scaling — Rollups, ZK et Optimistic Expliqués

Les solutions de scaling Layer 2 (L2) d'Ethereum ont considérablement mûri. En 2026, les L2 traitent plus de 10 millions de transactions par jour tout en maintenant les garanties de sécurité d'Ethereum. Si vous construisez sur Ethereum, comprendre les L2 est essentiel.

Ce guide explique comment fonctionnent les L2, compare les principales solutions, et vous aide à choisir où déployer vos smart contracts.

Pourquoi Layer 2 ? Le Problème du Mainnet

Ethereum Layer 1 (mainnet) a des contraintes fondamentales :

  • Débit limité : ~15-30 transactions par seconde (TPS)
  • Coûts élevés : $5-$100+ par transaction en période de congestion
  • Finalité lente : 12-15 minutes pour la finalité économique

Ces limitations rendent de nombreuses applications économiquement non viables sur le mainnet (gaming, social, micropaiements, trading fréquent).

Les L2 résolvent cela en déplaçant le calcul hors chaîne tout en héritant de la sécurité d'Ethereum.

Qu'est-ce qu'un Layer 2 ?

Un Layer 2 est une blockchain séparée qui :

  • Exécute les transactions hors du mainnet Ethereum (plus rapide, moins cher)
  • Groupe les transactions en données compressées
  • Poste ces données sur Ethereum L1 (pour la disponibilité des données)
  • Prouve la validité via des fraud proofs (optimistic) ou des validity proofs (ZK)
  • Insight clé : Les L2 ne remplacent pas Ethereum — ils l'étendent. Vos actifs sont sécurisés par Ethereum, mais les transactions ont lieu sur L2.

    Types de Solutions Layer 2

    1. Optimistic Rollups

    Fonctionnement :

    • Supposent que les transactions sont valides par défaut ("optimistic")
    • N'importe qui peut contester les transitions d'état invalides pendant une période de contestation (7 jours)
    • Si contesté, une fraud proof est soumise au L1 pour vérification
    • Si la fraude est prouvée, le séquenceur malveillant est slashé

    Architecture :

    Transaction Utilisateur → Séquenceur L2 → State Root Posté sur L1
    

    Période de Contestation (7 jours)

    Fraud Proof (si contesté)

    L1 Vérifie → Finalisé ou Revert

    Implémentations principales :

    • Arbitrum One : Plus grand L2 par TVL (~$15B en 2026)
    • Optimism (OP Mainnet) : Pionnier des optimistic rollups (~$8B TVL)
    • Base : L2 de Coinbase construit sur la stack Optimism

    Avantages :

    • EVM-équivalent (déployez vos contrats Solidity sans changement)
    • Coûts gas plus bas que le mainnet (10-50x moins cher)
    • Écosystème mature et outillage
    • Migration facile depuis L1

    Inconvénients :

    • Délai de retrait de 7 jours (période de contestation)
    • Coûts plus élevés que les ZK rollups
    • Empreinte de données L1 plus large

    Exemple de déploiement sur Arbitrum :

    // hardhat.config.ts
    

    export default {

    networks: {

    arbitrum: {

    url: "https://arb1.arbitrum.io/rpc",

    chainId: 42161,

    accounts: [process.env.PRIVATE_KEY]

    }

    }

    };

    npx hardhat run scripts/deploy.ts --network arbitrum

    Aucun changement de code nécessaire — les mêmes contrats Solidity fonctionnent sur Arbitrum.

    2. Zero-Knowledge (ZK) Rollups

    Fonctionnement :

    • Exécutent les transactions hors chaîne
    • Génèrent une preuve cryptographique (validity proof) que l'exécution était correcte
    • Postent la preuve + état compressé sur L1
    • L1 vérifie la preuve mathématiquement (pas de confiance requise)

    Architecture :

    Transaction Utilisateur → Prouveur L2 → Preuve ZK + State Diff
    

    Posté sur L1 (petites données)

    L1 Vérifie la Preuve (finalité instantanée)

    Implémentations principales :

    • zkSync Era : ZK rollup EVM-compatible (~$600M TVL)
    • StarkNet : Utilise le langage Cairo (VM custom) (~$1.2B TVL)
    • Polygon zkEVM : EVM-équivalent via ZK-SNARKs (~$800M TVL)
    • Scroll : Autre ZK rollup EVM-équivalent

    Avantages :

    • Retraits plus rapides (pas d'attente de 7 jours)
    • Coûts plus bas (compression de données plus efficace)
    • Sécurité mathématiquement prouvée (pas de risque de fraude)
    • Pérenne (options résistantes au quantique existent)

    Inconvénients :

    • Complexité plus élevée pour les développeurs
    • Le temps de génération de preuve ajoute de la latence (secondes à minutes)
    • Compatibilité EVM encore en maturation (certains opcodes non supportés)
    • Moins d'auditeurs familiers avec les systèmes ZK

    Exemple de déploiement sur zkSync :

    // hardhat.config.ts
    

    import "@matterlabs/hardhat-zksync-deploy";

    import "@matterlabs/hardhat-zksync-solc";

    export default {

    zksolc: {

    version: "1.3.14",

    compilerSource: "binary"

    },

    networks: {

    zkSyncMainnet: {

    url: "https://mainnet.era.zksync.io",

    ethNetwork: "mainnet",

    zksync: true,

    verifyURL: 'https://zksync2-mainnet-explorer.zksync.io/contract_verification'

    }

    }

    };

    Note : zkSync utilise un compilateur modifié. La plupart du Solidity fonctionne, mais certaines features diffèrent.

    3. Validiums

    Qu'est-ce que c'est :

    Les validiums utilisent des preuves ZK comme les ZK rollups, mais stockent les données hors chaîne au lieu de sur L1.

    Compromis :

    • Avantage : Encore moins cher (pas de coûts de données L1)
    • Inconvénient : Sécurité moindre (hypothèse de disponibilité des données)

    Cas d'usage :

    • Gaming (haut débit, valeur plus faible)
    • Applications privées/entreprise
    • Carnets d'ordres d'exchange

    Exemples : ImmutableX (gaming NFT), Sorare, dYdX v3 (migré vers Cosmos)

    4. Plasma

    Statut : Largement déprécié en faveur des rollups.

    Les chaînes Plasma ne postaient que des engagements sur L1, pas les données complètes. Cela rendait les retraits complexes et nécessitait une surveillance active de la chaîne par les utilisateurs (le problème du "mass exit").

    Note historique : Plasma était un tremplin vers les rollups. La plupart des chaînes Plasma ont migré.

    Tableau Comparatif

    | Caractéristique | Optimistic Rollups | ZK Rollups | Validiums | Mainnet |

    |---------|-------------------|------------|-----------|---------|

    | TPS | 2,000-4,000 | 2,000-20,000 | 10,000+ | 15-30 |

    | Coût Tx | $0.10-$1 | $0.05-$0.50 | $0.01-$0.10 | $5-$100 |

    | Temps de Retrait | 7 jours | Minutes-heures | Minutes-heures | Instantané |

    | Compatibilité EVM | Complète | Bonne (amélioration) | Variable | Native |

    | Sécurité | Niveau L1 (fraud proofs) | Niveau L1 (validity proofs) | Moindre (données hors chaîne) | Native |

    | Maturité | Élevée | Moyenne | Moyenne | Élevée |

    | Exemples | Arbitrum, Optimism | zkSync, StarkNet | ImmutableX | Ethereum |

    Fonctionnement des Rollups : Analyse Approfondie

    Flux de Données

  • L'utilisateur soumet une transaction au séquenceur L2
  • Le séquenceur exécute la transaction (met à jour l'état L2)
  • Groupe les transactions (100-10,000 par batch)
  • Compresse le batch en utilisant la compression calldata
  • Poste sur L1 :
  • - Optimistic : State root + calldata compressée

    - ZK : State root + preuve + données minimales

  • L1 stocke les données (assurant la disponibilité)
  • Finalisation :
  • - Optimistic : Après la période de contestation de 7 jours

    - ZK : Immédiatement après vérification de la preuve

    Bridge d'Actifs

    Pour utiliser un L2, vous devez bridger des actifs depuis L1 :

    L1 → L2 (Dépôt) :

    // Sur L1 (Ethereum mainnet)
    

    L1Bridge.depositETH{value: 1 ether}(/* destinataire L2 */);

    Les actifs sont verrouillés sur L1 et mintés sur L2 (généralement en quelques minutes).

    L2 → L1 (Retrait) :

    // Sur L2
    

    L2Bridge.withdraw(1 ether);

    • Optimistic : Attendre 7 jours, puis finaliser sur L1
    • ZK : Attendre le prochain batch + preuve (minutes à heures), puis finaliser

    Retraits rapides : Des services comme Hop Protocol et Across fournissent des transferts L2→L1 instantanés moyennant frais (ils avancent la liquidité).

    Déploiement sur Layer 2 : Expérience Développeur

    Même Solidity, Réseau Différent

    Bonne nouvelle : Vos contrats Solidity existants fonctionnent sur la plupart des L2 avec des changements minimes.

    // Même script de déploiement pour L1, Arbitrum, Optimism, Polygon, zkSync
    

    const MyContract = await ethers.getContractFactory("MyContract");

    const contract = await MyContract.deploy(/* args constructeur */);

    await contract.deployed();

    console.log("Déployé sur:", contract.address);

    Différences Mineures à Connaître

    1. Temps de bloc :

    • L1 : 12 secondes
    • Arbitrum : ~250ms
    • Optimism : ~2 secondes
    • zkSync : ~1 seconde

    Impact : block.timestamp se met à jour plus fréquemment sur L2.

    2. Coûts gas :

    • Le prix du gas L2 est beaucoup plus bas
    • Mais le posting de données L1 ajoute un coût de base par transaction

    3. Precompiles :

    • Certains precompiles L1 non disponibles sur L2
    • De nouveaux precompiles spécifiques L2 existent (ex : ArbSys sur Arbitrum)

    4. Messagerie cross-layer :

    • Contrats spéciaux pour la communication L1↔L2
    • Délais impliqués (minutes à jours)

    Exemple : Message Cross-Layer

    De L1 vers L2 (Arbitrum) :

    // Sur L1
    

    import "@arbitrum/nitro-contracts/src/bridge/IInbox.sol";

    contract L1Contract {

    IInbox public inbox = IInbox(0x4Dbd4fc535Ac27206064B68FfCf827b0A60BAB3f);

    function sendMessageToL2(address l2Target, bytes memory data) external payable {

    inbox.createRetryableTicket(

    l2Target, // destination sur L2

    0, // valeur d'appel L2

    0, // coût max de soumission

    msg.sender, // adresse de remboursement

    msg.sender, // bénéficiaire

    1000000, // limite de gas sur L2

    0, // enchère de prix gas

    data // calldata

    );

    }

    }

    De L2 vers L1 (Arbitrum) :

    // Sur L2
    

    import "@arbitrum/nitro-contracts/src/precompiles/ArbSys.sol";

    contract L2Contract {

    ArbSys constant arbSys = ArbSys(0x0000000000000000000000000000000000000064);

    function sendMessageToL1(address l1Target, bytes memory data) external {

    arbSys.sendTxToL1(l1Target, data);

    // Message disponible sur L1 après ~1 semaine (période de contestation)

    }

    }

    Comparaison de Coûts : Exemples Réels

    Swap Uniswap V3 :

    • Ethereum L1 : $15-$50
    • Arbitrum : $0.50-$2
    • Optimism : $0.30-$1.50
    • zkSync : $0.20-$1
    • Polygon zkEVM : $0.15-$0.80

    Transfer ERC-20 :

    • Ethereum L1 : $5-$20
    • Arbitrum : $0.10-$0.50
    • Optimism : $0.08-$0.40
    • zkSync : $0.05-$0.30

    Mint NFT :

    • Ethereum L1 : $20-$100
    • Arbitrum : $1-$5
    • Optimism : $0.80-$4
    • zkSync : $0.50-$3

    Économies : 10-100x moins cher sur L2.

    Quel L2 Devriez-vous Choisir ?

    Choisissez Arbitrum si :

    • Vous voulez une compatibilité maximale (EVM-équivalent)
    • Vous construisez de la DeFi (plus de TVL et de liquidité)
    • Vous avez besoin d'un écosystème mature (tooling, bridges, oracles)
    • Vous voulez migrer des contrats L1 sans aucun changement

    Idéal pour : Protocoles DeFi, DAOs, projets établis en migration

    Choisissez Optimism/Base si :

    • Vous voulez construire sur l'OP Stack (vision superchain)
    • Vous intégrez avec Coinbase (Base)
    • Vous valorisez le financement rétroactif des biens publics
    • Vous construisez des apps sociales ou grand public

    Idéal pour : Apps grand public, projets écosystème Base, membres OP collective

    Choisissez zkSync si :

    • Vous voulez les coûts les plus bas long terme
    • Les retraits rapides sont importants
    • Vous êtes OK avec des différences EVM mineures
    • Vous croyez au futur des ZK (résistance quantique)

    Idéal pour : Gaming, micropaiements, trading fréquent, nouveaux projets

    Choisissez StarkNet si :

    • Vous avez besoin d'une personnalisation maximale (langage Cairo)
    • Vous construisez des applications ZK-natives
    • Vous voulez des features ZK de pointe
    • Vous êtes prêt à apprendre un nouveau langage

    Idéal pour : Développeurs avancés, chercheurs ZK, logique VM custom

    Choisissez Polygon zkEVM si :

    • Vous êtes déjà dans l'écosystème Polygon
    • Vous voulez l'équivalence EVM + bénéfices ZK
    • Vous avez besoin d'un fort support institutionnel

    Idéal pour : Entreprises, projets écosystème Polygon

    Stratégie Multi-Chain

    Bonne pratique : Déployez sur plusieurs L2.

    Bénéfices :

    • Atteignez plus d'utilisateurs (certains préfèrent des chaînes spécifiques)
    • Diversifiez le risque (si une chaîne a des problèmes)
    • Capturez la liquidité de différents écosystèmes

    Outils multi-chain :

    • LayerZero : Messagerie cross-chain
    • Axelar : Passage de messages général
    • Chainlink CCIP : Protocole d'interopérabilité cross-chain

    Le Futur des L2

    Tendances 2026 :

    • Émergence des L3 : L3 construits sur L2 (encore moins cher, spécifiques aux apps)
    • Séquençage partagé : Plusieurs L2 partageant des séquenceurs pour une meilleure UX
    • Based rollups : Utilisation des validateurs L1 comme séquenceurs L2
    • Équivalence ZK-EVM : Compatibilité EVM parfaite avec preuves ZK
    • Account abstraction native : Meilleure UX sur les L2

    La roadmap Ethereum (The Surge) vise 100,000+ TPS à travers les L2.

    Conclusion

    Les Layer 2 ont rendu Ethereum scalable. Points clés :

    • Optimistic rollups (Arbitrum, Optimism) : EVM-équivalent, retraits 7 jours, mature
    • ZK rollups (zkSync, StarkNet, Polygon zkEVM) : Coûts plus bas, retraits rapides, amélioration
    • Validiums : Le moins cher mais garanties de sécurité moindres
    • Économies de coûts 10-100x vs mainnet
    • Même code Solidity fonctionne sur la plupart des L2
    • Déployez multi-chain pour maximiser la portée

    Par où commencer : Déployez sur Arbitrum ou Optimism pour la DeFi, zkSync ou Polygon zkEVM pour les apps grand public. Testez minutieusement — les L2 ont des différences subtiles.

    Le parcours Développement L2 de Solingo vous apprend à construire et déployer sur tous les L2 majeurs, gérer la messagerie cross-layer, optimiser les coûts gas L2, et architecturer des applications multi-chain. Scalez vos dApps — commencez votre apprentissage aujourd'hui.

    Prêt à mettre en pratique ?

    Applique ces concepts avec des exercices interactifs sur Solingo.

    Commencer gratuitement