Après de longs atermoiements, le déploiement de la mise à jour Pectra est prévu pour le 7 mai 2025. Elle était très attendue par les développeurs et les validateurs. Retour sur son contenu, son historique mouvementé et son probable impact.

Une mise à jour technique

Pectra vise à répondre à plusieurs besoins techniques et préparer de futures évolutions significatives. Les 4 principaux objectifs de cette mise à jour sont :

1. Permettre aux comptes utilisateurs d’envoyer des transactions plus complexes et sécurisées (EIP-7702). Les comptes externes (« EOA ») pourront dorénavant se comporter « comme si » ils étaient des smart contracts grâce à une forme d’« abstraction de compte temporaire ». Il s’agit d’une autorisation accordée par un utilisateur à un smart-contract pour lui permettre d’exécuter du code en son nom dans certaines conditions. Ces EOA exécuterons des opérations complexes sans devoir déployer un smart-contract spécifique à chaque transaction. En pratique, cela devrait permettre de combiner des transactions, faire payer le gas d’une transaction par un service extérieur, mettre en place des limites de dépense ou des mécanismes de récupération de compte… et sans doute d’autres cas de figure non encore imaginés.

A ce titre, la question de l’adoption de EIP-7702 se pose pour les principaux portefeuilles Ethereum. Le seul wallet dont l’équipe s’est clairement exprimée sur le sujet est Metamask, qui prévoit une intégration native de l’EIP-7702. D’autres wallets populaires comme Rabby n’ont pas dévoilé de projets. Citons également Rainbow Wallet qui a déclaré dans une séance récente de questions-réponses sur Reddit être “très intéressé” mais ne pas avoir de plan de développement précis à partager. Dans un premier temps, l’EIP-7702 restera donc sans doute destinée aux utilisateurs avancés. Cette fonction nécessite une compréhension approfondie des implications de sécurité liées à la délégation de contrôle à des smart-contrats.

Pour en savoir plus sur les types de comptes sur Ethereum et l’abstraction de compte, voir :

2. Améliorer l’expérience des validateurs de multiples manières (EIP-7251, 6110, 7002 et 7549). Augmentation du solde effectif des validateurs jusqu’à 2048 ETH par validateur (contre 32 ETH aujourd’hui), enregistrement des dépôts sur la chaîne de consensus, retraits programmables, optimisation des mécanismes d’entrée et de sortie de validation… des modifications techniques qui intéressent surtout les gros validateurs professionnels. Cela ne devrait pas concerner les utilisateurs ni les développeurs, mais devrait faciliter la création future (et anticipée) d’ETFs Ethereum américains permettant le staking.

3. Ajouter des fonctions pour les développeurs (EIP 2537, 2935, 7623, 7685, 7840). Il s’agit de changements extrêmement techniques dont l’impact n’est pas forcément évident à anticiper. En détail : un nouveau précompile (opération complexe préprogrammée dans l’EVM permettant de l’exécuter à moindre coût), la sauvegarde onchain des hash de bloc historiques accessibles par les smart-contract directement pour vérifier des preuves plus facilement, une couche de communication flexible entre la chaîne d’exécution et la chaîne de consensus et une augmentation du coût de l’opération « calldata » visant à rationaliser son utilisation. Dans l’ensemble, cela devrait faciliter la vie des développeurs ayant recours à des opérations complexes ou de bas niveau.

4. Permettre plus de flexibilité pour la scalabilité (EIP 7691 et 7840). Ces modifications concernent les blobs, ces blocs de données additionnels introduits par la mise à jour Dencun et permettant aux Layer 2 de poster leurs preuves de façon plus efficace.  Il s’agit d’ajuster légèrement les paramètres de débit et blobs et de permettre d’adapter la future politique de blobs par un simple changement de configuration de client. Il s’agit de modifications techniques et à la marge, à l’impact limité.

Une mise à jour problématique

La mise à jour a rencontré plusieurs obstacles lors de son déploiement sur les testnets, mettant en lumière les défis techniques et organisationnels inhérents aux évolutions majeures du réseau.

La première étape du déploiement, sur le testnet Holesky le 24 février 2025, s’est très mal déroulée. Des erreurs de configuration, notamment une adresse incorrecte du contrat de dépôt, ont entraîné une perte de finalité pendant près de deux semaines. Cette situation a provoqué une accumulation d’état sur les nœuds, mettant à rude épreuve les ressources mémoire et nécessitant une coordination intense entre les équipes de développement pour restaurer la stabilité du réseau. La situation est tellement critique que le réseau Holesky va être progressivement abandonné et ne sera plus supporté en septembre 2025.

Le 5 mars 2025, Pectra a été déployée sur le testnet Sepolia. Bien que le lancement initial ait semblé prometteur, des instabilités sont rapidement apparues, exacerbées par une attaque exploitant un cas limite envoyant des messages incorrects à la chaîne de consensus, qui a conduit à la production de blocs vides. Le réseau a depuis récupéré de ces attaques. Un compte-rendu détaillé de l’incident a été publié par le développeur Marius Van Der Wijden sur son blog.

Suite à ces difficultés, les développeurs ont lancé un nouveau testnet, Hoodi, le 17 mars 2025. Conçu spécifiquement pour tester Pectra, Hoodi a permis une activation réussie de la mise à jour le 26 mars, avec une finalisation obtenue environ 30 minutes après l’activation. Cette réussite a ouvert la voie à une planification plus sereine du déploiement sur le mainnet. 

Les problèmes rencontrés ont mis en évidence certaines limites des processus de développement et déploiement actuels. La complexité croissante des mises à jour, combinée à la diversité des clients et des configurations, complique la coordination et la fiabilité des tests. Or, les dégâts quasi-irréversibles causés par le bug sur Holesky ont rappelé que ces mises à jour ne sont pas anodines. Un tel bug sur le mainnet aurait été catastrophique pour Ethereum et toutes les blockchains de Layer 2. Sur une note plus positive, on soulignera que la fonction des testnet, tester les cas marginaux en production, a été pleinement remplie. Mais nul doute que le déploiement de Pectra sur le mainnet sera suivi avec un peu d’appréhension…

Quel impact pour Ethereum ?

Pectra est essentiellement une mise à jour de rationalisation et de transition. Elle comble des lacunes laissées par les hard forks précédents (Shanghai, Dencun) tout en préparant l’infrastructure aux ambitions futures (unification des rollups, abstraction de compte généralisée, staking efficient). L’impact de la mise à jour devrait donc être relativement limité pour les utilisateurs d’Ethereum, sauf si l’EIP 7702 rencontre un fort succès.

Cette mise à jour semble aussi entériner certaines tendances structurelles comme la concentration des validateurs et la complexification du protocole. Il semble que l’équilibre entre décentralisation, efficacité et simplicité devient de plus en plus difficile à maintenir. Ces tendances lourdes sont aujourd’hui fortement remises en question par une partie de la communauté et font l’objet d’intenses débats dans le contexte des prochaines mises à jour Fusaka et Glamsterdam, qui devraient davantage se concentrer sur de nouvelles fonctionnalités et une forte augmentation de la capacité. En tout état de cause, le développement et le déploiement de Pectra auront fait couler beaucoup d’encre.


Pour en savoir plus :