
Sidechain vs Rollup : différences et choix entre solutions d'évolutivité
TechFlow SélectionTechFlow Sélection

Sidechain vs Rollup : différences et choix entre solutions d'évolutivité
Cet article présente un aperçu des rollups et des sidechains, et examine leurs différences en matière d'architecture, de garanties de sécurité et de performances de mise à l'échelle.
Rédaction : Emmanuel Awosika
Traduction : TechFlow
Les sidechains et les rollups sont deux solutions au problème de l'évolutivité des blockchains. L'idée centrale de ces deux approches consiste à déplacer le calcul depuis une blockchain aux ressources limitées (comme Ethereum) vers une blockchain indépendante optimisée pour la mise à l'échelle. Cette méthode offre plusieurs avantages, tels qu'une réduction du coût par transaction, une diminution de la latence et une augmentation globale du débit. Mais c'est à peu près là que s'arrêtent les similitudes.
Les sidechains et les rollups diffèrent fondamentalement dans leur méthode d'évolutivité, ainsi que dans leurs choix architecturaux et compromis. Pour les développeurs souhaitant exploiter ces deux solutions afin de construire des dapps évolutives, il est crucial de comprendre leurs différences.
Cet article présente un aperçu des rollups et des sidechains, et examine leurs différences en matière d'architecture, de garanties de sécurité et de performances d'évolutivité.
Qu'est-ce qu'une sidechain ?
Une sidechain est un réseau blockchain fonctionnant parallèlement à une autre blockchain, appelée « chaîne principale ». Généralement, une sidechain est connectée à la chaîne principale via un pont bidirectionnel permettant le transfert d'actifs entre les deux réseaux, ainsi que potentiellement des données arbitraires telles que l'état des contrats, des preuves Merkle ou les résultats de transactions spécifiques.
La plupart des sidechains possèdent leur propre mécanisme de consensus et leurs propres validateurs, indépendants de la chaîne principale. Cela leur permet de finaliser et de valider les transactions sans dépendre d'une autre blockchain. Toutefois, cela signifie également que la sécurité des fonds verrouillés sur la sidechain repose sur des incitations cryptographiques solides visant à dissuader tout comportement malveillant de la part des validateurs.
Types de sidechains
Sidechains compatibles EVM et non compatibles EVM : Les sidechains compatibles EVM utilisent une implémentation personnalisée de la Machine Virtuelle Ethereum (Ethereum Virtual Machine), qui constitue l’environnement d’exécution des contrats intelligents sur Ethereum. En pratique, la plupart de ces blockchains sont initialement créées par bifurcation (fork) de go-ethereum (également appelé Geth, l’implémentation la plus populaire du protocole Ethereum).
Bien qu’elles conservent la majorité des caractéristiques du design d’Ethereum (notamment le support des contrats intelligents), les sidechains compatibles EVM sont optimisées dans d'autres domaines, particulièrement en ce qui concerne le mécanisme de consensus, afin d'améliorer l'efficacité et le débit. Aujourd’hui, ces sidechains exécutent la majeure partie des contrats intelligents écrits dans des langages EVM comme Solidity, tout en réduisant les coûts et la latence pour les utilisateurs des applications décentralisées.
Les sidechains non compatibles EVM reposent sur une architecture de machine virtuelle différente, incapable d'exécuter nativement les dapps d'Ethereum sans refonte importante du code. Les développeurs construisant sur ces chaînes ne peuvent pas utiliser les environnements et outils de développement EVM familiers (tels que Truffle, Remix ou Hardhat) et doivent souvent apprendre d'autres langages (comme Rust ou Golang) pour créer des dapps.
Remarque : Avalanche, Fantom, Celo et Palm sont des exemples de sidechains compatibles EVM. NEAR, Solana et Algorand sont des exemples de sidechains non compatibles EVM.
Commit chains et sidechains optimistes : Toutes les sidechains ne reposent pas entièrement sur leur propre sécurité ; certaines, notamment les commit chains et les sidechains optimistes, dépendent de la chaîne principale pour certaines garanties de sécurité. Les commit chains soumettent régulièrement à une autre blockchain des engagements cryptographiques (par exemple des en-têtes de blocs) afin de mettre à jour leur état le plus récent. La chaîne principale ne peut pas vérifier ces preuves d’état car elle n’a pas accès à l’état de la sidechain, mais elle garantit qu’un participant honnête peut contester un en-tête de bloc invalide avant sa confirmation.
Cela se fait généralement via un contrat intelligent déployé sur la chaîne principale, qui gère les récompenses, le staking, la rotation et les pénalités des validateurs de la sidechain. Si un validateur commet une infraction prouvable (par exemple, signer deux blocs à la même hauteur), toute personne peut soumettre la preuve au contrat intelligent, entraînant la suppression de son stake.
Les chaînes optimistes fonctionnent de manière similaire, en exigeant que les validateurs soumettent régulièrement les en-têtes de blocs à un contrat intelligent sur la chaîne principale. Toutefois, elles n'ont pas de mécanisme de consensus distinct : les en-têtes de bloc sont simplement présumés valides jusqu'à ce qu'un défi anti-fraude soit lancé. Par conséquent, une chaîne optimiste peut fonctionner avec un seul validateur (honnête), tandis qu'une commit chain nécessite plusieurs validateurs pour fonctionner correctement.
Dans les deux cas, un participant honnête peut prouver sur la blockchain parente un comportement malveillant survenu sur la sidechain. Ainsi, même si la majorité des validateurs de la sidechain agissent de manière malveillante, les utilisateurs bénéficient encore d’un certain niveau de garantie de sécurité.
Toutefois, il convient de noter qu’un participant honnête ne peut pas prouver un comportement malveillant sans accès aux données d’état stockées dans les blocs. Or, comme la chaîne principale reçoit uniquement les en-têtes de blocs (et non les corps de blocs) provenant de la sidechain, elle ne peut pas garantir la disponibilité des données. Cela permet à un proposant de bloc malhonnête de se comporter de façon frauduleuse en cachant les données, par exemple en volant des fonds depuis le pont.
Ce problème est connu sous le nom de « problème de disponibilité des données » et constitue le cœur des différences entre les sidechains (y compris les commit chains, les sidechains optimistes et les rollups) en termes de propriétés de sécurité.
Qu'est-ce qu'un rollup ?
Un rollup améliore l’évolutivité d’une blockchain sous-jacente en traitant les transactions dans un environnement d’exécution séparé. Comme les sidechains, un rollup dispose d’un pont permettant de transférer des actifs entre la blockchain principale et lui-même. Il met également en œuvre des optimisations pour accroître la vitesse et l’efficacité des coûts pour les utilisateurs.
Toutefois, un rollup soumet régulièrement des blocs à la chaîne principale, héritant ainsi de sa sécurité et de sa décentralisation. Cela signifie que la blockchain parente fournit les garanties suivantes concernant la sécurité du rollup :
-
Disponibilité : La disponibilité des blocs du rollup est garantie, car les données sont stockées sur un réseau parent plus décentralisé et sécurisé. Par exemple, un utilisateur peut toujours prouver au contrat du pont les détails de l’état du rollup (par exemple, la possession de certains jetons) et retirer ses fonds si les validateurs du rollup cachent les données des transactions.
-
Validité : Seuls les blocs du rollup satisfaisant aux conditions de validité imposées par la chaîne principale peuvent être définitivement confirmés.
-
Vivacité : Puisque les données du rollup sont stockées sur la couche de base, toute personne peut reconstruire le dernier état valide du rollup et produire de nouveaux blocs. De plus, les utilisateurs peuvent forcer l'inclusion de leurs transactions dans le rollup en les envoyant au contrat intelligent du rollup sur la chaîne.
Types de rollups
Il existe deux types de rollups : les rollups optimistes et les rollups à connaissance nulle (zero-knowledge). Les rollups à connaissance nulle (également appelés rollups de validité) soumettent leurs blocs accompagnés d’une preuve attestant de l’exécution correcte des transactions hors chaîne. Si la preuve est validée sur la chaîne, le bloc est définitivement confirmé sur la couche de base.
Les rollups optimistes soumettent leurs blocs sans aucune preuve de validité des calculs hors chaîne. Ces blocs sont simplement présumés valides, sauf si une partie remet en cause le résultat d’une transaction via une « preuve de fraude ». Une preuve de fraude prend la forme d’un jeu de vérification, dans lequel deux parties contestent un calcul sous l’arbitrage de la chaîne principale, jusqu’à ce que la partie malhonnête soit identifiée.
Le terme « optimiste » vient de l’hypothèse selon laquelle la majorité des transitions d’état sont valides. Toutefois, cette hypothèse optimiste, combinée à des incitations cryptographiques, garantit qu’un bloc invalide ne sera jamais confirmé par la chaîne principale, à moins qu’il ne reste longtemps sans être contesté.
Remarque : Arbitrum et Optimism sont des exemples de rollups optimistes.
Un autre point de différence notable entre les rollups optimistes et ceux à connaissance nulle concerne la compatibilité EVM. Bien que les rollups optimistes soient compatibles EVM, les rollups de validité varient en matière de compatibilité. Du fait que prouver des instructions EVM natives dans un circuit de preuve est complexe et gourmand en ressources, certains rollups de validité utilisent un ensemble d’instructions personnalisé, optimisé pour des preuves plus efficaces.
Pour les ZK-Rollups compatibles EVM, on parle d’« EVM à zéro connaissance » (ZK-EVM). Un ZK-EVM peut exécuter hors chaîne des contrats intelligents Ethereum et prouver que toutes les parties du calcul ont été correctement effectuées. Ainsi, comparés aux rollups optimistes — qui dépendent des incitations cryptographiques et d’hypothèses d’honnêteté pour éviter une exécution invalide — les ZK-Rollups sont considérés comme plus sûrs.
Linea est un exemple de rollup de deuxième couche à validité complète avec prise en charge intégrale de l’EVM, permettant aux développeurs de réutiliser l’infrastructure et les outils d’Ethereum pour construire des dapps. En revanche, déployer sur un ZK-Rollup non compatible EVM (comme StarkNet) nécessite soit (a) d’utiliser une pile technologique différente pour écrire les contrats intelligents, soit (b) de modifier le code source pour qu’il fonctionne dans la machine virtuelle de StarkNet.
En quoi les sidechains diffèrent-elles des rollups ?
Débit (throughput) : Le volume moyen de transactions traitées par une sidechain est généralement supérieur à celui d’un rollup, car elle ne dépend pas du consensus ni de la disponibilité des données de la chaîne principale. Par exemple, une sidechain peut adopter des blocs plus volumineux et des temps de bloc très rapides pour atteindre un débit plus élevé, ce que les rollups ne peuvent pas faire.
Un rollup doit éviter de traiter trop de transactions, au risque que les lots ne tiennent pas dans un seul bloc de la chaîne principale. Sinon, cela réintroduirait la congestion au niveau de la couche de base et rendrait difficile le suivi des blocs générés par le rollup. Ainsi, la bande passante de données de la chaîne principale impose une limite effective au débit du rollup.
Même les sidechains partiellement dépendantes de la sécurité de la chaîne principale (telles que les commit chains et les sidechains optimistes) offrent un meilleur débit que les rollups.
Coûts : Les utilisateurs paient généralement moins cher pour effectuer des transactions sur une sidechain qu’en utilisant un rollup. Comme pour les autres différences, cela découle du fait que les rollups dépendent de la chaîne principale pour le règlement et la finalité. Voici quelques coûts opérationnels engendrés par les rollups (supportés par les utilisateurs) :
-
Stockage des données : Soumettre des blocs de rollup à la couche de base génère un coût fixe (coût d’inclusion des transactions dans un bloc) et un coût variable (selon la taille du bloc du rollup). Par conséquent, les rollups facturent aux utilisateurs des frais de calcul et de données, les transactions volumineuses payant davantage que les autres.
-
Génération et vérification des preuves : Les rollups à connaissance nulle doivent générer des preuves de validité pour la vérification sur la chaîne de base, ce qui entraîne un coût supplémentaire. La vérification d’une preuve de validité est gourmande en ressources, coûtant actuellement environ 500 000 gas sur Ethereum.
Les sidechains pures n’engendrent aucun de ces coûts, donc leur utilisation est moins chère. Les commit chains ou sidechains optimistes peuvent avoir des coûts mineurs (par exemple, soumission d’en-têtes de blocs), mais ceux-ci sont négligeables. En outre, ils peuvent être réduits en regroupant plusieurs en-têtes de blocs dans une seule transaction.
Finalité : Les sidechains entièrement responsables de leur sécurité disposent d’une finalité immédiate : dès qu’un bloc est approuvé par la majorité des validateurs, il ne peut plus être annulé. Toutefois, cette règle ne s’applique pas aux commit chains ou aux sidechains optimistes, car elles doivent tenir compte des défis pouvant retarder la finalité des en-têtes de blocs.
Généralement, les rollups ont un délai de finalité plus long que les sidechains pures, pour différentes raisons. Par exemple, les rollups optimistes retardent la confirmation des transactions afin de garantir qu’un participant honnête ait suffisamment de temps pour contester une mise à jour d’état invalide.
Les rollups de validité ont une finalité immédiate (dès validation de la preuve), mais leur délai de finalité est plus long que celui des sidechains pures. En raison du coût élevé de génération et de vérification des preuves, les séquenceurs préfèrent accumuler un grand nombre de transactions avant de générer et de soumettre un lot avec sa preuve de validité.
Sécurité : La sécurité des rollups (optimistes ou à connaissance nulle) est garantie par la blockchain sous-jacente, réduisant ainsi les hypothèses de confiance pour les utilisateurs. Comme expliqué précédemment, les rollups dépendent de la chaîne principale (sécurisée économiquement) pour le consensus et la disponibilité des données (contrairement aux sidechains). Cela diminue les risques de censure, de gel des retraits ou d’exécution invalide.
Les sidechains pures sont responsables de leur propre sécurité. Toutefois, recruter un ensemble diversifié et fiable de validateurs peut s’avérer difficile, ce qui explique pourquoi les sidechains sont généralement perçues comme moins sécurisées que les rollups.
Les commit chains et les sidechains optimistes sont légèrement plus sûres que les sidechains pures, mais les utilisateurs doivent faire confiance aux validateurs et aux propositionnaires pour la disponibilité des données. En cas d’attaque par masquage de données sans sanction possible, ces sidechains n’offriraient aucune garantie de sécurité.
Ponts (bridges) : Les rollups et les sidechains (dans la plupart des cas) utilisent le même schéma de pont d’actifs : verrouiller X jetons dans un contrat intelligent sur la chaîne principale et frapper X jetons sur la chaîne secondaire pour l’utilisateur. Leur différence réside dans la manière dont les fonds déposés dans le contrat de pont sont sécurisés.
Étant donné qu’un rollup est dédié à une blockchain de base spécifique, il existe généralement un « pont canonique » reliant les deux. Les fonds déposés dans le pont d’un rollup sont garantis par la chaîne de base :
-
Les fonds déposés dans un rollup de validité ne peuvent être retirés qu’après vérification sur la chaîne de la preuve associée au lot contenant la transaction de sortie.
-
Pour un rollup optimiste, l’utilisateur ne peut retirer ses fonds qu’après que le bloc contenant sa transaction de retrait a passé la fenêtre de contestation (environ 1 à 2 semaines) sans être défié.
Inversement, la sécurité des fonds déposés dans un pont de sidechain dépend de sa conception. Par exemple, si une sidechain dispose d’un pont canonique avec une autre blockchain, la sécurité du pont dépend de l’honnêteté des validateurs. Une autre question est de savoir si le pont est validé par l’ensemble des validateurs (par exemple, le pont Polygon PoS) ou par un petit groupe de validateurs externes (par exemple, le pont Avalanche-Ethereum).
La différence de délai de finalité entre les ponts des rollups et des sidechains explique également leurs divergences. Par exemple, les utilisateurs de rollups optimistes subissent davantage de délais lors du retour de fonds vers la chaîne principale, en raison de la fenêtre de contestation. Avec une sidechain, dès que l’en-tête de bloc est finalisé (et, si nécessaire, une preuve Merkle valide fournie), l’utilisateur peut retirer ses fonds du contrat de pont.
Choisir entre rollup et sidechain
Le choix entre un rollup et une sidechain lors du déploiement d’un contrat intelligent dépend de vos objectifs, des retours utilisateurs et des besoins du projet. Voici les avantages respectifs de chaque solution, selon les cas d’usage.
Quand utiliser un rollup :
-
Vos utilisateurs exigent les garanties de sécurité les plus élevées.
-
Vos utilisateurs acceptent des coûts légèrement plus élevés et une latence accrue / une finalité plus longue. Les rollups sont bien moins chers qu’Ethereum et plus rapides (de plusieurs ordres de grandeur), mais ne rivalisent pas avec les sidechains sur ces critères.
-
Vous (ou vos utilisateurs) souhaitez entretenir une relation étroite avec l’écosystème de la chaîne de base (par exemple, Ethereum).
-
Vous prévoyez d’améliorer l’expérience utilisateur des utilisateurs de votre DApp sur le rollup. Cela peut inclure l’utilisation de fournisseurs de liquidité pour réduire le délai de retrait des rollups optimistes, ou l’implémentation d’optimisations de code pour limiter les données transactionnelles générées lors des interactions avec votre contrat intelligent.
-
Vous souhaitez utiliser les outils et l’infrastructure EVM lors de la construction de votre DApp. La plupart des rollups sont compatibles EVM et utilisent les mêmes outils, logiciels clients et API de nœuds qu’Ethereum.
Quand utiliser une sidechain :
-
Vos utilisateurs souhaitent effectuer des transactions aux frais les plus bas possibles.
-
Vos utilisateurs veulent un traitement rapide des transactions, notamment lors du pontage de fonds.
-
Vos utilisateurs acceptent des hypothèses de confiance accrues et des garanties de sécurité moindres.
-
Vous (ou vos utilisateurs) ne considérez pas une relation étroite avec l’écosystème de la chaîne principale comme prioritaire.
-
Vous êtes prêts à apprendre un nouvel ensemble de langages, d’outils et d’infrastructures pour développer votre DApp (si vous utilisez une sidechain non EVM).
Quand utiliser à la fois sidechain et rollup :
-
Votre projet dispose déjà d’un fort effet réseau sur une blockchain donnée et est prêt à s’étendre simultanément à plusieurs écosystèmes (par exemple, pour tirer parti de la liquidité).
-
Vous souhaitez répondre à différents types d’utilisateurs et éviter d’aliéner une partie du marché.
-
Votre projet dispose de ressources suffisantes pour gérer une expansion multi-chaînes. Cela peut signifier avoir des équipes distinctes chargées du déploiement de votre DApp sur différentes plateformes blockchain.
Bienvenue dans la communauté officielle TechFlow
Groupe Telegram :https://t.me/TechFlowDaily
Compte Twitter officiel :https://x.com/TechFlowPost
Compte Twitter anglais :https://x.com/BlockFlow_News














