5 minutes de lecture
Aperçu
Ethereum, la blockchain la plus populaire, est confrontée depuis un certain temps déjà à des problèmes d'évolutivité. Les frais de gaz élevés dus à la congestion constituent le principal point sensible. Face à l'augmentation du coût d'utilisation du réseau, une multitude de solutions d'évolutivité ont vu le jour. Aujourd'hui, dans ce guide, nous allons passer en revue certaines de ces solutions et nous intéresser de plus près aux « rollups ».
Vous préférez un tutoriel vidéo ? Suivez Radek et découvrez les rollups Ethereum en 6 minutes.
Solutions d'évolutivité pour Ethereum
L'objectif principal de toutes les solutions d'évolutivité d'Ethereum est d'augmenter la vitesse des transactions et le débit sans compromettre la nature décentralisée de la blockchain.
L'exploration de ces solutions d'évolutivité s'articule autour de deux axes principaux :
- Évolutivité sur la chaîne.
- Évolutivité hors chaîne.
Évolutivité sur la chaîne
Les solutions de scalabilité « on-chain » ou de « couche 1 » consistent à augmenter la capacité de la couche centrale de la blockchain, généralement en augmentant le nombre de transactions pouvant être intégrées dans un bloc. Dans le cas d’Ethereum, la scalabilité « on-chain » impliquerait de modifier le protocole du réseau principal d’Ethereum. L'augmentation de la quantité de données ou de transactions pouvant être contenues dans un bloc Ethereum entraînerait également une hausse des exigences matérielles pour l'exploitation d'un nœud, ce qui suscite certaines critiques à l'égard de cette solution de scalabilité. Elle peut limiter le nombre de nœuds et nuire à la décentralisation. Cependant, Ethereum 2 introduit le concept de « sharding »; le sharding est le processus de partitionnement de l'infrastructure ou de la base de données d'Ethereum. Cela permettra de réduire la charge des nœuds en répartissant la charge de travail ; il s'agit d'un concept beaucoup plus large.
Mise à l'échelle hors chaîne
Les solutions de scalabilité hors chaîne visent à faire évoluer indirectement la blockchain de couche 1 principale en ajoutant des couches supplémentaires pour traiter les transactions sans recourir à la blockchain centrale proprement dite. La scalabilité hors chaîne utilise la couche principale de la blockchain comme couche de confiance et d’arbitrage. Elle est souvent appelée « scalabilité de couche 2 », car elle ajoute une couche supplémentaire au-dessus de la couche principale d’Ethereum.
L'évolutivité de couche 2 est considérée comme une solution immédiate au problème d'évolutivité d'Ethereum, car elle préserve la décentralisation, qui est la valeur la plus précieuse pour la communauté Ethereum. Les solutions de couche 2 nécessitent toutefois la mise en place de matériel supplémentaire ou de logiciels complexes, ce qui retarde l'apparition de leurs effets sur les réseaux. Ces solutions tirent leur sécurité d'Ethereum et peuvent être développées et exploitées sur mesure par un particulier, une organisation ou une communauté, en fonction des cas d'utilisation.
Voici les différents types de solutions :
-
Sidechains: les sidechains sont des blockchains compatibles EVM reliées à Ethereum via des ponts. Elles disposent de leur propre protocole de consensus et de leurs propres paramètres de bloc.
-
Rollups: les rollups exécutent les transactions en dehors de la blockchain principale d'Ethereum, puis renvoient les données de ces transactions vers le réseau principal d'Ethereum.
-
Canaux d'état: les canaux d'état utilisent des canaux multisignature pour régler les transactions hors de la chaîne principale entre les parties et transmettre l'état à la blockchain principale. Ils sont très sécurisés, mais leur utilisation se limite à des cas particuliers.
-
Plasma: Plasma est un framework dans lequel des chaînes secondaires sont ancrées à la blockchain principale d'Ethereum ; elles sont reliées à cette dernière via un contrat racine, qui enregistre l'état actuel et définit les règles applicables aux chaînes secondaires.
Rollups
D'une part, il existe des solutions de couche 2, telles que les canaux, qui bénéficient pleinement de la sécurité d'Ethereum mais ne fonctionnent bien que pour un ensemble spécifique d'applications ; d'autre part, les sidechains sont généralement compatibles avec l'EVM et permettent de faire évoluer des applications à usage général, mais leur principal inconvénient est qu'elles ne s'appuient pas sur Ethereum pour leur sécurité et disposent au contraire de leur propre modèle de consensus.
Les rollups cherchent à concilier le meilleur de ces deux mondes en proposant une solution polyvalente tout en conservant la sécurité d’Ethereum. Les rollups règlent les transactions en dehors du réseau principal d’Ethereum, mais renvoient les données de transaction vers ce dernier et tirent toujours leur sécurité du protocole Ethereum. Chaque rollup dispose de ses propres contrats déployés sur le réseau principal d’Ethereum. Les rollups exécutent les transactions hors chaîne, principalement sur une chaîne spécifique au rollup, puis regroupent les données de transaction par lots, les compressent et les envoient à la chaîne principale d’Ethereum ; cela réduit la charge pesant sur le réseau principal d’Ethereum, qui n’a plus à traiter ces transactions.
Cela contribue à réduire les frais et à favoriser l'adoption de la blockchain en augmentant la participation. Les rollups permettent également de redéployer tous les contrats intelligents Ethereum existants vers un rollup, avec peu ou pas de modifications.
Types de rollups
Les rollups semblent être une solution prometteuse au problème d'évolutivité d'Ethereum, mais comment s'assurer que les données de transaction publiées sur Ethereum par les rollups sont valides ? Les différents types de rollups gèrent cette question de manière différente. On distingue ainsi deux types de rollups : les rollups optimistes et les rollups ZK.
Rollups optimistes :
Les « rollups optimistes », comme leur nom l’indique à première vue, partent du principe que les données de transaction soumises au réseau Ethereum sont correctes et valides. En cas de transaction invalide, un mécanisme de résolution des litiges est mis en place. Une partie soumet un lot de données de transaction à Ethereum, et dès que quelqu’un détecte une transaction frauduleuse, il peut présenter une preuve de fraude à l’encontre de cette transaction. Dans ce cas, les deux parties – celle qui soumet le lot de données de transaction et celle qui présente la preuve de fraude – ont leurs ETH mis en jeu. Cela signifie que tout comportement répréhensible de la part de l’une ou l’autre des parties entraînerait la perte de leurs ETH. Chaque fois qu’une preuve de fraude est soumise, la transaction suspecte est réexécutée, cette fois-ci sur le réseau principal d’Ethereum. Afin de garantir que la transaction soit réexécutée dans l’état exact où elle se trouvait lors de son exécution initiale sur la chaîne de rollup, un contrat gestionnaire est créé pour remplacer certains appels de fonction par un état provenant du rollup.
Exemples : Optimism, Arbitrum.
Rollups ZK :
Les ZK-rollups, ou « rollups à connaissance nulle », contrairement aux rollups optimistes, ne disposent d’aucun mécanisme de résolution des litiges. Ils s’appuient sur une technique cryptographique ingénieuse : les preuves à connaissance nulle. Dans ce modèle, chaque lot de transactions soumis à Ethereum comprend une preuve cryptographique appelée SNARK (Succinct Non-Interactive Argument of Knowledge), vérifiée par un contrat déployé sur le réseau principal d’Ethereum. Ce contrat conserve l'état de tous les transferts sur la chaîne des rollups, et cet état ne peut être mis à jour qu'à l'aide d'une preuve de validité. Cela signifie que seule la preuve de validité doit être stockée sur le réseau principal d'Ethereum, au lieu de données de transaction volumineuses, ce qui rend les zk-rollups comparativement plus rapides et moins coûteux.
Exemples : Loopring, STARKWARE, zkSync.
Conclusion
Si vous êtes arrivé jusqu'ici, vous en savez désormais un peu plus sur les solutions de scalabilité d'Ethereum et beaucoup plus sur les rollups.
Abonnez-vous à notre newsletter pour découvrir d'autres articles et guides sur Ethereum. Si vous avez des commentaires, n'hésitez pas à nous contacter sur Twitter. Vous pouvez également discuter avec nous sur notre serveur Discord, où vous rencontrerez certains des développeurs les plus géniaux qui soient :)
Nous ❤️ les commentaires !
Faites-nous savoir si vous avez des commentaires ou des suggestions de nouveaux sujets. Nous serions ravis de vous entendre.
