Monad : Pourquoi un layer 1 plutôt qu’un rollup ?
Vous avez peut-être lu nos articles précédents dans lesquels nous vous présentons le projet Monad. Il n’est pas impossible que vous vous demandiez pourquoi l’équipe a opté pour un layer 1. En effet, la mode est plutôt à la construction d’un rollup sur Ethereum. D’autant plus si l’on considère que Monad projette d’être entièrement compatible avec la machine virtuelle d’Ethereum. L’équipe aurait donc très bien pu faire le choix de profiter de la sécurité et de la popularité du réseau existant. Une option qu’aurait soutenu Ethereum qui compte sur les layers 2 pour améliorer sa scalabilité. Quelles sont les raisons qui ont poussé l’équipe à opérer ce choix ? Nous allons tenter d’y répondre.
Temps de lecture estimé : 10 minutes
Sommaire de l’article
Les ambitions de Monad
Pour ceux qui ne connaîtraient pas encore Monad, il s’agit d’une blockchain très prometteuse avec un objectif ambitieux : surpasser l’offre technologique d’Ethereum, notamment au niveau de la décentralisation et de la scalabilité.
Le réseau annonce des performances exceptionnelles. Par exemple, la possibilité d’exécuter jusqu’à 10 000 transactions par seconde avec un bloc ajouté à la chaîne chaque seconde. Pour ce faire, le projet s’appuie sur plusieurs atouts :
- Un algorithme de consensus super-scalable qui se nomme MonadBFT;
- des transactions qui s’exécutent en parallèle
- une base de données optimisée du nom de MonadDB
En plus de nouvelles possibilités induites par cette rapidité, il sera aussi possible d’y porter n’importe quelle dApp développée pour Ethereum, sans avoir à en modifier le code. D’un point de vue utilisateur, l’expérience devrait être proche de celle que propose le réseau de Vitalik. On y conserve la possibilité d’utiliser les mêmes outils (Metamask, Etherscan…), mais on y gagne la vitesse rapide et des frais de transactions divisés par 1000.
Les rollups d’Ethereum en deux mots
Les rollups sont des solutions de mise à l’échelle. Ils visent à aider Ethereum à traiter les transactions qui lui sont soumises.
Il existe actuellement deux principaux types de roller, les Optimitics roller et les ZK roller, dont les plus curieux d’entre vous pourront trouver toutes les caractéristiques ici.
Ils exécutent les transactions hors du réseau principal, les regroupent et les « compressent ». Puis ils les soumettent au réseau Ethereum pour enregistrement. Ils permettent ainsi au réseau mère de traiter beaucoup plus de transactions en un laps de temps donné. Le tout pour des frais beaucoup moins importants.
La couche d’exécution se situe donc hors du layer 1, qui désormais ne joue plus que les rôles de couche de règlement (settlement layer – SL) et de couche de disponibilité des données (data availability layer – DA).
S’ils héritent ainsi de la sécurité d’Ethereum, les rollups sont cependant totalement dépendants de performances et des possibilités offertes par ces couches. Or, les limitations qu’elles imposent sont incompatibles avec certaines des ambitions de Monad comme nous le verrons plus bas.
La décentralisation, un enjeu capital
Les séquenceurs des rollups et la décentralisation
Les séquenceurs sont des ensembles de nœuds (ou des nœuds uniques) en charge de l’organisation et de l’exécution des transactions des rollups. Après les avoir regroupées, ils soumettent une preuve de leurs exécutions au layer 1.
Or, la plupart des rollups actuels utilisent un séquenceur unique pour des raisons pratiques (plus de facilité). Cela pose hélas un réel problème de centralisation.
En effet, le séquenceur à tout pouvoir pour prioriser ou censurer des transactions sur le layer 2 selon son bon vouloir (ou de celui des entités qui ont un pouvoir dessus). Et en cas de panne de ce dernier, tout le réseau est à l’arrêt. C’est par exemple ce qui s’est produit le 17 décembre 2023 sur Arbitrum.
Pour éviter aux utilisateurs d’être définitivement prisonniers de leur réseau blockchain en cas de censure ou de panne, certains rollups ont tout de même mis en place un mécanisme pour y échapper. Ils permettent aux utilisateurs de forcer l’inclusion de leurs transactions en les soumettant directement à Ethereum. Elles souffriront cependant d’un délai de 12 heures pour éviter d’interférer avec les opérations normales. De plus, elles coûteront plus chères car non regroupées avec d’autres transactions.
Des solutions partiellement efficaces
Pour remédier à ce problème de centralisation, plusieurs solutions sont sur la table, mais toutes présentent des inconvénients :
- Les séquenceurs décentralisés : Des rollups comme Optimism, Arbitrum, Base ou Scroll travaillent sur le développement de séquenceurs décentralisés. Cela reste très complexe et aucun layer 2 d’Ethereum n’est encore parvenu à le concrétiser. Cela pourrait poser des problèmes de latence, et prendra sûrement encore plusieurs années avant d’être effectif.
- Les séquenceurs partagés et décentralisés : Expresso, Astria, ou encore Radius sont des projets qui, chacun à leur manière, ont pour ambition de devenir des séquenceurs partagés et décentralisés. Des protocoles pouvant offrir leurs services à n’importe quel rollup. Ils apporteront de nouvelles fonctionnalités pour connecter les rollups entre eux (atomics swap…). Ils ne sont néanmoins pas disponibles à cette heure.
- Utiliser le layer 1 comme séquenceur : Taiko est un « based rollup » qui a choisi d’utiliser les validateurs d’Ethereum comme séquenceurs. Ceci pour profiter de sa décentralisation et de sa résistance à la censure. Cette dernière laisse néanmoins à désirer si l’on considère qu’environ 33% des ethers sont en délégation sur le protocole Lido. Cette solution a le mérite d’apporter une plus grande confiance. Pourtant l’utilisation d’un grand nombre de séquenceurs pose pour l’instant des problèmes de latence et limite les fonctionnalités (limites du débit de données…).
En d’autres termes, les rollups doivent faire un choix entre la possibilité de gérer facilement les fonctionnalités qu’ils souhaitent implémenter sur leur réseau, et la confiance que doivent accorder les utilisateurs au séquenceur, comme le montre le schéma ci-dessous :
Monad et la décentralisation
Aucune des solutions évoquées plus haut ne convenait à l’équipe de Monad. En effet, elle ne souhaitait pas faire de compromis entre fonctionnalité et confiance nécessaire. La décentralisation est un enjeu majeur à ses yeux. Il s’agit d’offrir un réseau totalement résistant à la censure, tout en ayant la possibilité d’y implémenter toutes les fonctionnalités qu’elle désire.
La technologie sur laquelle le réseau s’appuie lui permet de le faire, sans reposer sur aucun acteur tiers.
Pour opérer un nœud complet, il faudra un CPU 16-core, 32 GO de RAM, 2 TB de SSD et une bande passante de 100 Mbit/s. Ces besoins matériels restent accessibles pour une grande partie de la population. Ils devraient donc permettre une décentralisation réelle.
Reste à voir si le coût des jetons à staker pour participer sera lui aussi abordable, ou s’il faudra être capable d’immobiliser des dizaines de milliers de dollars comme pour Ethereum (32 ETH). Ceci limiterait en effet la possibilité d’être un validateur aux gros portefeuilles, ou à ceux capables de se faire déléguer des jetons.
Les performances, le cœur de la bataille
En apparence, les rollups améliorent la rapidité d’Ethereum. Pourtant les transactions qu’ils opèrent ne sont pas réellement validées. En effet, il faut attendre qu’elles soient enregistrées sur un bloc du layer 1, et que celui-ci ne puisse plus être modifié.
Ce délai, appelé temps de finalité, dépend en partie de la technologie des rollups, mais aussi de celle du layer 1. Ainsi, ces transactions peuvent généralement être contestées pendant une période de 7 jours. Ce n’est qu’une fois passé ce délai qu’elles seront considérées comme définitives.
Les preuves zéro-knowledge, un moindre mal
Les ZK rollup ne souffrent pas de ce problème. Les preuves qu’ils fournissent permettent à Ethereum de valider instantanément les transactions qu’ils lui soumettent. Ceci reste cependant théorique, car tous ne postent pas leurs preuves immédiatement. Certains, comme Starknet, attendent de regrouper de nombreuses transactions en quelques preuves pour économiser sur les frais, augmentant ainsi le délai de finalité.
Une fois transmises à Ethereum et intégrées à un bloc, il faut ensuite attendre que celui-ci ne soit plus modifiable pour les transactions soit immuables. Bien qu’un bloc soit ajouté à la chaîne toutes les 12 secondes sur Ethereum, il faut en réalité attendre l’ajout de 64 à 95 blocs supplémentaires (soit 15 minutes en moyenne) pour qu’il ne soit techniquement plus possible de le modifier, pour diverses raisons techniques.
La plupart des utilisateurs ne sont pas cependant conscients de ce phénomène, car le solde de leur portefeuille est actualisé dès que le bloc est ajouté à la chaîne et que les transactions ne sont généralement pas contestées.
L’alternative Monad
Monad de son côté, ne dépend d’aucun réseau tiers. Son algorithme BFT basé sur Hotstuff lui permet d’obtenir une finalité de bloc unique. Il n’est donc pas nécessaire d’attendre que d’autres blocs soient ajoutés à la chaîne. Avec un temps de bloc d’une seconde, les transactions ajoutées à la blockchain deviennent ainsi presque instantanément irrévocables à l’échelle humaine.
Vous l’aurez compris, c’est pour ne pas souffrir de la « lenteur » d’Ethereum tout en proposant un réseau totalement résistant à la censure que Monad à décider d’opérer seul.
L’équipe a souhaité ne garder que le meilleur du réseau en optant pour une compatibilité complète avec l’EVM. Si elle est certaine de faire mieux en ce qui concerne les performances, reste à voir si Monad arrivera à atteindre une taille assez importante et à être assez décentralisé pour offrir un niveau de sécurité comparable à celui d’Ethereum.
Le mot de la fin
Si les résultats et les performances sont au rendez-vous, Monad aura sans aucun doute un véritable succès. L’avenir nous dira si celui-ci ne sera que passager ou s’installera sur du long terme. Car cela nécessite de continuer de travailler pour affiner le produit …
En effet, Ethereum est un réseau qui a été conçu dès le début pour évoluer et s’améliorer au fil du temps. Il en est de même pour ses rollups, qui choisissent souvent de se lancer avant d’être complètement matures. Ceci à pour but de permettre à leur écosystème de se développer en même temps que la technologie sur laquelle ils s’appuient. S’ils présentent bien souvent des points de défaillance pouvant être critiques, ils en sont néanmoins conscients et entendent les supprimer petits à petits.
La feuille de route du projet de Vitalik qui s’étale sur plusieurs années (sans donner de dates précises) prévoit même qu’il devrait être possible d’y passer jusqu’à 100 000 transactions par seconde grâce au Danksharding !
La bataille ne fait donc que commencer, pour le plus grand plaisir des utilisateurs qui devraient pouvoir profiter de blockchains toujours plus performantes !