Revue

Dencun : Analyse de la mise à jour d’Ethereum et de son impact sur le réseau

0

Le 17 janvier, la mise à jour Dencun a été activée dans le réseau de test Goerli. Il s’agit de l’une des dernières étapes avant la mise en œuvre du hardfork dans le réseau central Ethereum. La mise à jour introduit, entre autres, un certain nombre de changements techniques nécessaires à la transition vers le dunksharding et à l’augmentation de la bande passante de la blockchain.

Pour la plupart des utilisateurs, Dencun est principalement associé à l’EIP-4844 ou à ce que l’on appelle le proto-dunksharding. Cependant, en plus de cela, la mise à jour comprend la mise en œuvre de sept autres propositions d’amélioration d’Ethereum (EIP) qui affectent certains aspects de la blockchain.

Qu’est-ce qu’une mise à jour Dencun ?

Dencun est une mise à niveau complète du réseau Ethereum, nécessaire pour réaliser le dunksharding et les arbres Werkle. Il s’agit de la plus importante mise à niveau depuis Shapella, déployée en avril 2023.

Comme d’autres mises à niveau importantes, Dencun affecte simultanément les couches de consensus et d’exécution, de sorte qu’il se compose essentiellement de deux grands modules qui forment son nom :

  • Deneb est un bloc d’EIP relatif au consensus du réseau. Traditionnellement, ces mises à jour sont nommées d’après une étoile particulière dans l’ordre alphabétique.
  • Cancun – comprend des innovations dans la couche d’exécution qui sont nommées d’après les villes où s’est tenue la conférence Devcon.

Si l’on superpose Dencun à la dernière version de la feuille de route d’Ethereum publiée par Vitalik Buterin le 30 décembre 2023, on s’aperçoit qu’elle touche à des étapes importantes du développement du réseau telles que The Surge et The Purge.

Ensuite, nous allons décomposer tous les EIPs inclus dans les modules Deneb et Cancun en détail pour comprendre comment le réseau Ethereum changera après la mise à jour et comment il affectera les utilisateurs réguliers.

Modifications de la couche de consensus

La couche de consensus Ethereum (chaîne de balises) est un ensemble de mécanismes d’interaction avec les validateurs qui fournissent un consensus sur l’état actuel du réseau. Cela inclut tout ce qui est lié à l’algorithme Proof-of-Stake, des files d’attente de démarrage et d’arrêt des nœuds à la finalisation des blocs et à la taille des dépôts. L’ensemble de consensus comprend trois EIP.

EIP-7044 : Signature indéfinie en cas de sortie volontaire du validateur

Ethereum permet aux validateurs (opérateurs de nœuds) et aux stakers (détenteurs d’ETH) d’utiliser le delegated staking, dans lequel un investisseur transfère ses actifs pour renflouer un nœud. Deux types de clés sont impliqués dans ce processus :

  • Les clés de signature, qui permettent au validateur de confirmer ses actions
  • Les clés de retrait, qui donnent accès aux actifs du preneur d’ordre.

En théorie, le mécanisme permet aux stakers de retirer leurs fonds à tout moment à l’aide d’une clé de révocation. Toutefois, pour ce faire, le validateur doit signer une transaction de sortie volontaire (VEM) avec sa clé.

En règle générale, cette transaction est signée par le validateur et remise au staker lors du dépôt d’ETH afin qu’il puisse effectuer un retrait à tout moment. Cependant, la configuration actuelle d’Ethereum prévoit que les signatures de retrait volontaire ne sont valables que pour le fork actuel et le fork précédent de la blockchain, ce qui annule effectivement les signatures du validateur une fois que Dencun est mis en œuvre.

L’EIP-7044 propose de supprimer la règle des deux fourches en rendant les signatures indéfinies. Cela permettra d’éliminer les situations dans lesquelles un staker devient dépendant des actions du validateur et ne peut pas retirer ses actifs sans le consentement de ce dernier. La mise à jour éliminerait également la fourniture d’une sortie volontaire signée pour plusieurs versions du réseau à la fois.

EIP-7045 : Prolongation de la période de soumission des attestations

Ethereum utilise un algorithme hybride appelé Gasper pour fournir un consensus sur la blockchain actuelle . L’un de ses composants est LMD-GHOST (Latest Message Driven Greedy Heaviest Observed SubTree). Il s’agit du mécanisme responsable de l’évaluation des votes (attestations) pour chaque bloc et de la détermination de sa canonicité. En d’autres termes, LMD-GHOST choisit la chaîne qui sera considérée comme la chaîne principale en cas de bifurcation.

Dans la version actuelle du réseau, les validateurs peuvent soumettre leurs validations pour un bloc au cours d’une seule époque.

Une époque est une période de temps sur le réseau Ethereum qui se compose de 32 créneaux. Un slot, à son tour, représente la période de temps pendant laquelle un bloc peut être proposé ou approuvé (12 secondes).

Le problème est que pour les validateurs de vote (à l’exception du premier bloc), la période de soumission des attestations sera inférieure à une époque et diminuera au fur et à mesure que les créneaux de chaque époque seront remplis. Il en résulte que les derniers blocs d’une époque comportent moins d’attestations évaluées par LMD-GHOST que le premier bloc.

L’EIP-7045 propose d’étendre la fenêtre de soumission des attestations pour un bloc d’une époque à deux époques. Cela signifie que le dernier créneau (et donc l’ensemble de l’époque) ne pourra être finalisé qu’à la fin de l’époque suivante. Pendant ce temps, le dernier créneau pourra recueillir plus de validations qu’avec la configuration actuelle.

Cela donnera aux validateurs plus de temps pour voter et permettra en même temps à l’algorithme LMD-GHOST d’obtenir plus d’avis pour chaque bloc de l’époque, ce qui augmentera la fiabilité du consensus du réseau.

EIP-7514 : restrictions d’entrée pour les validateurs

Après la mise à jour de Shapella, qui a débloqué le retrait d’actifs du contrat de dépôt, le nombre de validateurs dans le réseau a commencé à augmenter rapidement. Cela s’explique en partie par la popularisation des services de staking liquides, et en partie par la capacité des investisseurs à gérer leur capital.

Pour éviter une augmentation ou une diminution brutale du nombre de validateurs, Ethereum fixe des limites à l’entrée et à la sortie du réseau. La base est de quatre nœuds par époque et augmente proportionnellement au nombre total de validateurs. Par conséquent, en théorie, si la demande de steaking se poursuit, la limite peut augmenter indéfiniment.

Cependant, un trop grand nombre de validateurs crée des difficultés dans le fonctionnement du réseau, notamment en compliquant la finalisation des blocs, comme nous l’avons expliqué dans l’article sur la centralisation du steaking par Ethereum.

EIP-7514 vise à limiter le taux de croissance de la pile de validateurs en fixant la limite maximale d’entrée à huit nœuds par époque, quel que soit le nombre actuel de nœuds. La formule de calcul pour la sortie restera la même.

Les développeurs estiment que cette mesure contribuera à ralentir la croissance du nombre de nœuds dans la couche de consensus et donnera à la communauté Ethereum plus de temps pour trouver une solution globale au problème.

Une autre conséquence sera une diminution du taux d’émission d’ETH, car le chiffre dépend du montant des récompenses des validateurs et donc du nombre de validateurs. Cela pourrait potentiellement intensifier les processus déflationnistes dans les tokenomics.

Innovations pour la couche d’exécution

Le deuxième service pack, Deneb, comprend des suggestions pour améliorer les performances de la couche d’exécution, c’est-à-dire la machine virtuelle Ethereum (EVM). Quatre EIP sont inclus dans ce bloc.

EIP-5656 : Ajout de la commande MCOPY

La création de contrats intelligents dans Ethereum implique souvent l’opération de copie de mémoire de base à l’aide des commandes MSTORE ou MLOAD. Cependant, dans l’EVM, ces commandes nécessitent une quantité relativement importante de gaz pour être exécutées, c’est pourquoi l’EIP-5656 propose une nouvelle commande MCOPY avec une structure de données optimisée.

MCOPY est une combinaison de MSTORE et MLOAD et permet d’effectuer des copies de mémoire plusieurs fois moins coûteuses que le mécanisme existant. Cela aura un impact positif sur les utilisateurs car cela peut réduire les coûts de gaz lors de l’appel de certains contrats intelligents.

En même temps, MCOPY ne remplace pas les anciennes commandes, c’est-à-dire qu’il n’affecte en rien les contrats intelligents déjà déployés, et les développeurs peuvent utiliser l’opcode comme ils le souhaitent lorsqu’ils écrivent de nouveaux contrats.

EIP-1153 : Installations de stockage temporaire

En ce qui concerne l’optimisation du stockage des données, l’EIP-1153 propose d’introduire dans Ethereum le concept de magasins temporaires et deux commandes correspondantes, TLOAD et TSTORE.

Les magasins de données temporaires fonctionnent de la même manière que les magasins de données ordinaires, mais sont effacés après chaque transaction. Les développeurs pensent qu’en utilisant le stockage temporaire, il est possible d’optimiser les étapes intermédiaires de l’exécution des contrats intelligents. Par exemple, lorsqu’une transaction appelle un contrat, qui à son tour appelle un autre contrat.

Cela permettrait d’éliminer l’échange relativement peu sûr de données entre les contrats via les E/S ou l’utilisation coûteuse du stockage principal pour enregistrer les données intermédiaires. Tout comme la proposition précédente, l’EIP-1153 pourrait réduire la consommation de gaz pour certains contrats, ce qui aurait un certain impact sur les frais d’utilisation.

EIP-6780 : refonte de la commande SELFDESTRUCT

Ethereum dispose d’une fonction appelée SELFDESTRUCT qui, lorsqu’elle est appelée, supprime un extrait de code et son stockage de la base de données de la blockchain. Cet opcode a été introduit pour nettoyer l’état du réseau des informations obsolètes ou inutiles, mais dans la pratique, il a causé plus de problèmes que d’avantages.

Dans de nombreux cas, l’utilisation de SELFDESTRUCT a des conséquences imprévisibles et peut rompre les interconnexions dans plusieurs smart contracts à la fois. Le préjudice causé par le faible déterminisme des opcodes ne fera qu’augmenter après la mise en œuvre de l’arbre Verklem, c’est pourquoi la suppression de la commande est marquée comme un élément distinct sur la feuille de route d’Ethereum.

Cependant, le blocage et la suppression complète de la fonction pourraient également avoir des conséquences négatives pour les contrats intelligents déjà existants, c’est pourquoi l’EIP-6780 propose d' »affaiblir » SELFDESTRUCT en ne l’autorisant à être exécutée que dans la même transaction que celle dans laquelle le contrat est créé. Toutes les autres invocations de la commande entraîneront le transfert des actifs du solde détruit, mais pas la suppression des données et du stockage.

Les développeurs espèrent que cette solution permettra de minimiser progressivement l’impact de SELFDESTRUCT sans provoquer de défaillances dans les contrats existants qui utilisent déjà cette fonction.

EIP-4788 : Affichage du statut du consensus dans l’EVM

Comme nous l’avons déjà mentionné, Ethereum se compose de deux couches : l’exécution (EVM) et le consensus (Beacon Chain). Lorsqu’un nouveau bloc est créé, d’un point de vue purement technique, il est créé dans chaque couche, ce qui signifie que chaque bloc dans l’EVM correspond à un bloc avec des informations dans la chaîne de balises.

Au moment de la rédaction du présent document, la communication entre les couches s’effectue par l’intermédiaire de ce que l’on appelle l’API du moteur. Elle est utilisée par le client de consensus pour recevoir de la couche d’exécution les données nécessaires à la construction et à la proposition d’un nouveau bloc, et renvoie des informations sur le bloc valide précédent, sur la base desquelles l’EVM peut effectuer d’autres opérations.

Le problème est qu’il s’agit d’un mode d’échange d’informations à sens unique, le client de consensus pouvant demander des données au client d’exécution, mais pas l’inverse. De ce fait, les nœuds EVM n’ont pas accès, par défaut, aux informations provenant de la couche de consensus, telles que les soldes des validateurs.

Les initiateurs de l’EIP-4788 proposent de remédier à ce problème en plaçant un hachage racine du bloc précédent de la couche de consensus dans chaque bloc de la couche d’exécution. Un ensemble spécifique de ces hachages de racines est stocké dans un contrat intelligent Ethereum autonettoyant. La taille du contrat intelligent est conçue pour conserver les données de la chaîne Beacon pendant environ 24 heures, après quoi elles sont écrasées.

Cela crée effectivement une sorte d’oracle au niveau de la blockchain qui communique des informations sur la couche d’exécution à l’EVM, ce qui n’était pas le cas auparavant.

Vers Danksharding : EIP-4844

Le composant le plus attendu de Dencun est l’EIP-4844 ou proto-dunksharding. Il introduit des changements dans l’architecture de la blockchain nécessaires à la poursuite de la mise en œuvre du dunksharding, en particulier, il intègre ce que l’on appelle les grands objets binaires (blobs ou blobs).

Les blobs permettent d’attacher à chaque bloc du réseau Ethereum jusqu’à trois grands paquets (128 ko) d’informations sur les transactions. Ces informations ne seront stockées par les nœuds de la chaîne Beacon que pour une durée limitée (~18 jours) et n’iront pas dans l’EVM, de sorte que l’espace de stockage pour les blobs est beaucoup moins coûteux que l’écriture des données onchain sous-jacentes. La couche d’exécution elle-même ne recevra qu’une référence aux données sous la forme d’engagements KZG.

Les réseaux de couche 2 devraient utiliser de grands objets binaires pour enregistrer le paquet de transactions, au lieu de calldata, qui est utilisé à cette fin aujourd’hui. Ainsi, les blobs moins chers permettront de réduire les frais de la couche 2 de 40 à 100 fois par rapport à la blockchain principale.

D’autres aspects des couches de consensus et d’exécution seront également modifiés. En particulier :

  • un mécanisme de vérification des objets binaires de grande taille et des preuves KZG apparaîtra ;
  • un marché de commission pour les blobs sera lancé ;
  • les validateurs auront probablement besoin d’un espace de stockage supplémentaire pour les données temporaires ;
  • une cérémonie KZG sera organisée pour créer une défense cryptographique de preuve de concept.

Conclusion

Ainsi, Dencun est l’une des mises à jour les plus complètes et les plus importantes pour le réseau Ethereum, comparable à The Merge. Bien que la plupart des innovations soient principalement destinées aux développeurs et aux validateurs, l’EIP-4844 aura également un impact sur les utilisateurs ordinaires de l’écosystème. En particulier ceux qui interagissent avec L2.

Il est important de réaliser que Dencun est également une étape importante vers la mise en œuvre du dunksharding, qui remettra complètement en question l’architecture de la blockchain et permettra probablement à Ethereum de surmonter le problème de la faible bande passante sans sacrifier la sécurité. Cela aidera le projet à renforcer sa position sur le marché en concurrençant efficacement des réseaux plus performants comme Solana.

Arthur K
Auteur du site cryptomonde.info depuis 2018, je partage ma passion pour le monde de la Crypto-monnaie en rédigeant des articles de l'actualité du Bitcoin et Blockchain.

    La police allemande saisit des bitcoins d’une valeur de 2,2 milliards de dollars dans une affaire de piratage

    Article précédent

    L’application Coinbase est classée 45e dans le classement de l’App Store

    Article suivant

    Autres actualités

    Commentaires

    Laisser une réponse

    Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *