Ethereum : Après Cancun Deneb, place à Prague Electra – Que nous réserve le prochain hard fork ?
Le 13 mars prochain, Ethereum subira une mise à jour de taille avec le déploiement du hard fork Cancun-Deneb sur le mainnet. Selon les développeurs, cette mise à jour pourrait réduire par 10 les frais de transactions sur les L2. Alors que les derniers ajustements pour le déploiement sur le mainnet sont en cours, certains développeurs ont déjà les yeux rivés sur l’étape suivante : le hard fork Prague-Electra. Explorons les prochains développements à venir sur Ethereum.
Cancun-Deneb : la scalabilité pour les rollups
Avant d’entrer dans le vif du sujet, rappelons rapidement le programme des prochaines semaines sur Ethereum. Comme nous l’avons vu en introduction, le hard fork Cancun-Deneb sera déployé sur le mainnet d’Ethereum mercredi 13 mars.
Parmi les modifications qu’il apporte, le hard fork introduit une évolution majeure : l’EIP 4844 – Proto-Danksharding. Sans trop entrer dans les détails, cet EIP introduit une nouvelle manière de stocker les données sur Ethereum.
Cette nouvelle solution offre un stockage de données volumineuses à faible coût, et représente une alternative aux calldata traditionnellement utilisés. Elle se révèle particulièrement adaptée pour les transactions sur les L2, notamment pour les rollups.
En effet, les rollups doivent publier l’ensemble des données relatives aux transactions sur le L1. Cela permet ensuite à n’importe qui de vérifier la validité de la preuve d’état, elle aussi publiée sur le L1.
Selon les estimations, cette mise à jour permettrait de réduire jusqu’à un facteur 10 les frais de transactions sur les L2. Il faut avoir à l’esprit que les frais qui sont payés sur les L2, sont intrinsèquement lié au coût de la publication de la preuve et des données de transactions par le rollup. De ce fait, si les frais de publication baissent, ceux sur les rollups baissent également.
Hard Fork Prague-Electra : la prochaine étape pour Ethereum
Une fois le hard fork Cancun Deneb déployé sur le mainnet, les développeurs vont poursuivre la feuille de route, avec comme prochaine étape : le hard fork Prague-Electra.
Mais avant d’entrer dans son détail, il faut comprendre dans quel contexte il s’inscrit. Et plus particulièrement, comprendre le problème grandissant du nombre de validateurs sur Ethereum.
Le problème du set de validateur sur Ethereum
Le 15 septembre 2022, Ethereum a abandonné le Proof of Work au profit du Proof of Stake dans une mise à jour connue sous le nom de The Merge.
Depuis, ce ne sont plus les mineurs qui valident les transactions, mais des nœuds validateurs. En réalité, la beacon chain, à savoir la couche qui gère le consensus sur Ethereum avait été déployée bien avant The Merge, en décembre 2020.
Ainsi, depuis 2020, des validateurs rejoignent le réseau et collatéralement 32 ETH pour participer au processus de validation.
Et en 4 ans, cela en fait des validateurs. Cela en fait précisément 978 000, pour un total de 31 millions d’ETH déposés en staking.
Malheureusement, cela n’est pas sans causer quelques problèmes. En l’état actuel, vous devez disposer de 32 ETH pour créer un validateur.
Si vous veniez à déposer plus de 32 ETH, par exemple 50, cela n’impacterait pas votre rendement et vous gagnerez toujours vos récompenses pour les 32 ETH. Ainsi, le réseau pousse à la multiplication des nœuds. Une fois 32 nouveaux ETH acquis on relance un nouveau nœud, etc.
Une limite bientôt atteinte
C’est pour cela que le réseau compte près d’un million de nœuds. Cela pose le problème suivant : à partir d’un certain seuil le réseau n’est plus en mesure de gérer tous ces nœuds.
Par exemple, des essais réalisés en amont du lancement d’Holesky ont montré qu’avec 2,1 millions de validateurs le réseau avait du mal à finaliser. En cause, le nombre excessif de messages d’attestations émis par les nœuds dans le réseau.
« Il y avait trop de tâches de validation [et] certains blocs arrivaient en retard, ce qui faisait qu’il n’y avait pas assez d’attestations propagées dans le réseau. Ainsi, même si les propositions [de blocs] atteignaient environ 80 %, nous ne voyions que 40 à 45 % des attestations sur le réseau. »
De ce fait, le testnet a finalement été lancé avec deux fois la capacité, soit 1,4 million de validateurs. Désormais, celui-ci culmine à 1,5 million de validateurs.
Toutefois, au rythme où va l’évolution du staking sur Ethereum, il est important d’anticiper les problèmes liés au set de validateurs. Et ça tombe bien, car des développeurs se sont déjà penchés sur le sujet !
EIP-7251 : Maxeb
En effet, 6 développeurs se sont penchés sur ce problème de set de validateur et ont trouvé une solution. Il s’agit de mike (@michaelneuder), Francesco (@fradamt), dapplion (@dapplion), Mikhail (@mkalinin), Aditya (@adiasg) et Justin (@justindrake).
Via l’EIP-7251, intitulé Increase the MAX_EFFECTIVE_BALANCE mais abrégé MaxEB, nos 6 développeurs souhaitent augmenter la limite haute des validateurs.
Ainsi, l’EIP-7251 vise à augmenter la limite haute des 32 ETH et permettre de stake une plus grande quantité d’ETH sur un nœud. Cela augmenterait la limite maximum à 2048 ETH, bien que le minimum de 32 ETH soit quant à lui conservé.
« Augmente la constante MAX_EFFECTIVE_BALANCE, tout en conservant la balance de mise minimale de 32 ETH. Cela permet aux larges opérateurs de nœuds de se consolider avec moins de validateurs tout en permettant aux solos de gagner des récompenses composées et de miser dans des incréments plus flexibles. »
Par conséquent, cela sert aussi bien les gros opérateurs qui pourront réduire le nombre de nœuds qu’ils opèrent en créant des « super-nœuds ». Et cela sert aussi les solo-stakers, qui pourront stake des montants autres que des multiples de 32.
En plus de cela, les nouvelles récompenses acquises via le staking seront automatiquement composées. Avec évidemment, la possibilité de ne pas le faire pour ceux qui souhaite retirer les récompenses.
En faisant cela, les développeurs souhaitent endiguer l’évolution du set de validateur. De nombreux opérateurs, ou solo-stakers auront tout à gagner en termes de logistiques et de ressources pour réduire leur nombre de nœuds.
Cet EIP a été ajouté à la liste des EIP qui seront potentiellement présents dans le hard fork Prague-Electra.
Les autres EIP du hard fork Prague-Electra
En plus de l’EIP-7251, d’autres EIP ont été proposés pour le hard fork Prague-Electra. D’une part, les EIP 6110, 7002 et 7549 apportent des modifications pour améliorer l’expérience utilisateur des validateurs et les communications entre execution et consensus layer.
Trois autres EIP fascinants ont également été proposés pour Prague-Electra.
EIP-7594 (PeerDAS)
L’EIP-7594, connu sous le nom de PeerDAS (Peer Data Availability Sampling), vise à améliorer l’échelle de disponibilité des données sur Ethereum au-delà des capacités offertes par l’EIP-4844. Il s’agit là d’optimiser les améliorations apportées par Proto-Danksharding, qui arrive avec Cancun Deneb.
Il propose une méthode permettant aux nœuds de faire un échantillonnage des données de blob au lieu de télécharger les blobs en entier.
Cette approche vise à augmenter significativement la capacité et l’efficacité de la disponibilité des données sur le réseau Ethereum. En d’autres termes, cet EIP pourrait lui aussi réduire le coût des transactions sur Ethereum.
EIP-3074 (AUTH et AUTHCALL)
L’EIP-3074 introduit deux nouveaux opcodes, AUTH et AUTHCALL, qui permettent aux comptes externes possédés (EOA) de déléguer le contrôle à un contrat. Pour rappel, les EOA sont vos adresses MetaMask ou Rabby classiques.
Cela permet aux adresses d’agir comme des smart contracts wallets sans avoir besoin de déployer un contrat. Cette fonctionnalité vise à améliorer les interactions des utilisateurs avec Ethereum, en permettant des modèles de garde plus avancés et en offrant la possibilité d’opérations plus complexes et sécurisées directement par les EOAs.
EIP-7547 (Listes d’inclusion)
L’EIP-7547 crée un mécanisme permettant aux validateurs d’inclure de force certaines transactions dans un bloc.
Cet EIP a pour principal objectif d’améliorer la résistance à la censure sur Ethereum. Le besoin de ce mécanisme est exacerbé par les pratiques de la plupart des constructeurs de blocs. En effet, ces derniers censurent déjà certaines transactions. Un problème de taille lorsqu’on sait que la plupart des validateurs reçoivent leurs blocs de constructeurs tiers.
Toutefois, l’EIP-7547 est actuellement considéré comme complexe par les développeurs, ce qui a suscité des discussions sur sa priorisation pour les prochaines mises à niveau.
L’ensemble des EIP que nous avons abordés sont en cours de discussion et d’évaluation par la communauté Ethereum. Leur inclusion future dépendra de l’équilibre entre les avantages qu’ils apportent et la complexité de leur mise en œuvre. Notamment dans le contexte des autres EIP proposés pour le hard fork. Néanmoins, ils nous donnent un bon aperçu de la direction que prend Ethereum pour les mois et années à venir.