Dernière modification effectuée le 10.10.2023 17:22
Ethereum et le problème de scalling
Ce n’est un secret pour personne, Ethereum rencontre de larges problèmes de congestion durant les périodes de haute activité. Ainsi, il n’est pas étonnant de voir les frais de transaction exploser et de devoir payer jusqu’à 100 $ pour interagir avec une application décentralisée.
Rencontrés dans un premier temps par Bitcoin lors du pic de 2018, les problèmes de scalabilité ont très vite touché Ethereum, notamment en parallèle de l’essor de son écosystème DeFi.
Évidemment, plusieurs solutions sont prévues ou actuellement mises en place pour résoudre ce problème de scalabilité, ou de mise à l’échelle. En pratique, nous pouvons distinguer deux grands objectifs pour résoudre ce problème de scalabilité, chacun de ces objectifs ayant ses solutions :
- Augmenter le nombre de transactions par seconde, ce qui permettrait d’augmenter la capacité de traitement de la blockchain ;
- Réduire le nombre d’interactions ayant lieu sur la chaine d’Ethereum en les déportant hors chaine.
À l’heure actuelle, la plupart des solutions pour résoudre le problème de scalabilité du réseau ne sont pas prêtes à être déployées en production sur le mainnet. Cependant, les années 2021 et 2022 laissent présager de larges modifications pour Ethereum, rapprochant un peu plus la blockchain d’une résolution de ces problèmes de scalabilité.
Ainsi, il est possible de prévoir une roadmap de l’évolution d’Ethereum par le prisme de la scalabilité. Évidemment, toutes les mises à jour n’arriveront pas en même temps et la scalabilité sera acquise par phase.
Les solutions immédiates
Les solutions de seconde couche et Rollups
Les solutions de seconde couche (Layer 2 ou L2) et notamment les Rollups, sont les solutions les plus actuelles dans la roadmap d’Ethereum.
Ces solutions s’inscrivent dans la seconde catégorie présentée précédemment, à savoir qu’elles permettent de déporter une partie des transactions hors de la blockchain principale d’Ethereum.
En pratique, des smart contracts sont déployés sur la chaine principale et font office de pont entre ETH et les solutions de seconde couche. Lorsqu’un grand nombre de transactions sont enregistrées sur le Rollup, celles-ci sont agrégées et publiées sur Ethereum sous la forme d’une seule transaction, toujours via des smart contracts.
Ainsi, dès juin 2020, Vitalik Buterin, le cofondateur d’Ethereum, annonçait que la blockchain Ethereum avait d’ores et déjà vaincu le problème de scalabilité via la multiplication des solutions de seconde couche.
En effet, celles-ci ne cessent de se multiplier. Nous pouvons notamment citer les travaux d’OMG Network, d’Arbitrum, Loopring ou encore Optimism, qui vient récemment de déployer une version d’Uniswap.
Évidemment, il est important de noter que la transition vers un écosystème composé de Rollups et solutions de seconde couche sera graduelle. Dans un premier temps, la plupart de ces solutions disposent de garde-fous pour limiter les conséquences d’un potentiel bug. Dans un second temps, ces dernières doivent convaincre les utilisateurs pour être largement adoptées.
EIP 1559
La semaine dernière, Ethereum a connu une modification d’envergure via le déploiement du hard fork London. Ainsi, parmi les modifications incluses dans ce hard fork, nous retrouvons le sulfureux EIP 1559.
En pratique, cet EIP vise à modifier le système de frais d’Ethereum et remplacer le mécanisme d’enchères par un mécanisme dans lequel les frais sont décomposés en 3 parties :
- La Base fee, représentant les frais obligatoires pour effectuer une transaction ;
- L’inclusion fee, représentant le pourboire qui est donné au mineur ;
- La Cap fee, représentant les frais maximum qu’un utilisateur est prêt à dépenser pour sa transaction.
En plus de cette modification, l’EIP 1559 introduit un mécanisme de destruction d’ETH. Ainsi, les ETH de la base fee sont détruits par le protocole, ce qui rend la crypto monnaie plus déflationniste.
Concernant la scalabilité, l’EIP 1559 agit sur deux points :
- On-chain, bien qu’il n’entraîne pas forcément une baisse des frais, son implémentation permet d’améliorer la prédictibilité de ces derniers de bloc en bloc ;
- Off-chain, cet EIP facilite le fonctionnement des solutions de seconde couche, notamment grâce à l’amélioration de la prédictibilité des frais lors de la publication des transactions depuis la seconde couche vers la couche principale d’Ethereum.
Les solutions à venir
En plus de ces solutions qui permettent de résoudre dès aujourd’hui les problèmes de scalabilité, plusieurs développements sont en cours pour mettre en place d’autres mécanismes pour améliorer la scalabilité.
The Merge
Toutes les solutions dont nous avons parlé jusqu’à présent sont appliquées à Ethereum 1.0, à savoir la version actuelle du protocole. Cependant, une mise à jour d’envergure est prévue de longue date : Ethereum 2.0.
L’une des modifications principales apportées par cette mise à jour réside dans le passage du mode de consensus en Proof of Work (POW) au Proof of Stake (POS).
Bien qu’initialement non priorisée dans la roadmap, les développeurs ont décidé d’avancer la transition dans le mécanisme de consensus, via un événement appelé The Merge.
Ainsi, actuellement il existe deux versions d’Ethereum qui fonctionnent en parallèle :
- Ethereum 1.0 en Proof of Work (POW) ;
- Ethereum 2.0 en Proof of Stake (POS), dont seule la partie consensus, à savoir la beacon chain, est fonctionnelle.
L’objectif de The Merge est de raccorder les deux réseaux, en retirant le Proof of Work et en raccordant Ethereum 1.0 au mécanisme de consensus d’Ethereum 2.0.
Initialement prévu pour fin 2021, The Merge n’arrivera probablement pas avant le premier trimestre de 2022.
D’un point de vue de la scalabilité, The Merge n’apportera qu’un gain relativement négligeable de 10% sur le nombre de transactions par seconde que peut traiter le réseau. Cela s’explique par une production de bloc plus régulière toutes les 12 secondes contre, environ 13,5 secondes pour le système actuel.
Sharding est également une solution présente dans la roadmap d’Ethereum depuis de nombreuses années. Cette phase dans la scalabilité, encore en développement est prévue pour après la sortie d’Ethereum 2.0.
Son objectif est de diviser le réseau en sous-réseaux, appelé Shards. Cette méthode devrait améliorer la scalabilité, car les validateurs n’ont pas besoin de stocker les données pour l’ensemble du réseau, mais seulement pour le shard auquel ils sont affectés.
En l’état, Ethereum 2.0 devrait avoir 64 shards, et la beacon chain (la chaine actuelle d’Ethereum 2.0) fera office de coordinateur pour les communications inter-shards.
Initialement prévus pour 2022, il est plus probable que ces derniers soient déployés sur le mainnet d’Ethereum 2.0 en 2023, comme The Merge a été priorisé.