Dans Ethereum, chaque nouvelle fonctionnalité ou amélioration est proposée sous forme d'EIP, qui sera mise en œuvre par tous les mineurs. Cet article vous permettra de comprendre en profondeur ce qu'est un EIP et quel rôle les EIP jouent dans le développement d'Ethereum.
L'écosystème Ethereum a attiré un grand nombre d'utilisateurs. Bien que ses frais de gaz élevés et son réseau encombré soient souvent critiqués, elle a toujours été la chaîne publique préférée des Dapps en raison de son système sûr, stable et innovant. Rome ne s'est pas construite en un jour. De même, Ethereum a subi diverses mises à niveau depuis sa création. Ces propositions de mise à niveau et d'amélioration doivent faire l'objet d'un consensus général au sein de la communauté Ethereum sous la forme d'EIP avant de pouvoir être définitivement mises en œuvre.
Les propositions d'amélioration d'Ethereum (EIP) décrivent les normes de la plateforme Ethereum. Certains EIP prévoient l'ajout de nouvelles fonctionnalités sur Ethereum tandis que d'autres visent à optimiser certains processus sur Ethereum.
Le référentiel de gestion du projet Ethereum a été créé en octobre 2015. Toutes les mises à niveau d'Ethereum peuvent être retracées à EIPs.
Tous les EIP ont pour objectif d'améliorer le réseau Ethereum actuel. Les auteurs d'EIP doivent fournir la justification et les normes techniques de mise en œuvre. L'adoption finale d'une proposition nécessite un examen par les pairs et un consensus au sein de la communauté.
Le modèle EIP d'Ethereum suit l'exemple du modèle BIP (Bitcoin Improvements Proposals) de Bitcoin, qui est utilisé pour répondre efficacement aux besoins de mises à niveau et d'améliorations dans le cadre d'une gouvernance décentralisée, et pour promouvoir la convivialité en introduisant de nouvelles applications.
Les EIP peuvent être divisés en 3 catégories principales, à savoir Standard Track, Meta, et Informational.
Voie standard
Les EIP de la voie standard sont ceux qui auront un impact sur la plupart ou la totalité des implémentations d'Ethereum, comme un changement du protocole de réseau, un changement des règles de validité des blocs ou des transactions, des normes/conventions d'application proposées, ou tout changement ou ajout qui affecte l'interopérabilité des applications utilisant Ethereum. En outre, les EIP standard peuvent être répartis dans les catégories suivantes.
Core : Améliorations nécessitant une fourche de consensus (par ex. EIP-5, EIP-101), ainsi que des changements qui ne sont pas nécessairement critiques mais qui peuvent être pertinents pour le "core dev", par exemple, EIP-1559 qui vise à améliorer la structure des frais de gaz et nécessite un hard fork pour y parvenir.
Mise en réseau : Améliorations autour de devp2p et du sous-protocole Ethereum léger, ainsi que des améliorations proposées aux spécifications du protocole réseau de whisper et swarm. Par exemple, l'EIP-2124 vise à réduire les coûts générés par l'utilisation des données de transaction.
Interface : Améliorations autour des spécifications et des normes API/RPC des clients, ainsi que certaines normes au niveau du langage (noms de méthodes et ABI des contrats), par exemple, EIP-695 qui a défini la méthode eth_chainId.
ERC : Normes et conventions au niveau de l'application, y compris les normes de contrat (telles que les normes de jetons), les registres de noms, les schémas URI, les formats de bibliothèque/paquet et les formats de porte-monnaie, tels que les célèbres ERC-20 et ERC-721.
Meta
Les Meta EIP décrivent un processus entourant Ethereum ou proposent un changement à (ou un événement dans) un processus. Les EIP de processus sont comme les EIP de suivi des normes mais s'appliquent à des domaines autres que le protocole Ethereum lui-même. Ils peuvent proposer une implémentation, mais pas au codebase d'Ethereum
Les méta-propositions nécessitent souvent un consensus communautaire et sont plus que de simples recommandations. Par conséquent, les utilisateurs ne sont généralement pas libres de les ignorer. Il s'agit par exemple de procédures, de disintives, de modifications du processus de prise de décision et de modifications des outils ou de l'environnement utilisés dans le développement d'Ethereum. Tout méta-EIP est également considéré comme un processus EIP.
Informatif
Les EIP informatifs décrivent des questions de conception d'Ethereum, ou fournissent des disintives ou des informations générales à la communauté Ethereum, mais ne proposent pas de nouvelle fonctionnalité. Les EIP informatifs ne représentent pas nécessairement un consensus de la communauté ou une recommandation. Les utilisateurs et les responsables de la mise en œuvre sont donc libres d'ignorer les EIP informatifs ou de suivre leurs conseils.
Tout le monde peut initier un EIP. Avant de mettre une idée en œuvre, l'auteur doit d'abord en discuter au sein de la communauté Ethereum pour éviter de créer une proposition qui existe déjà.
Après qu'une idée a été discutée et approuvée par la communauté, l'auteur peut commencer à créer le projet. Ensuite, les développeurs et les rédacteurs seront invités à évaluer l'EIP par des pairs. Les auteurs doivent faire de leur mieux pour convaincre la communauté d'adopter leurs PIE.
Les EIP entreront en "Last Call" après l'examen par les pairs. Le dernier appel ne dure généralement que 14 jours. Pendant cette période, si un EIP doit encore être modifié, il reviendra au statut "Review". Les EIP qui ont passé le "Last Call" seront marqués comme "Final".
Pour les EIP en "Draft", "Review", ou "Last Call", l'auteur peut toujours choisir de retirer l'EIP proposé et il sera alors marqué comme "Withdrawn".
Si un EIP en "Brouillon", "Révision" ou "Dernier appel" est inactif pendant 6 mois sans être retiré, il sera marqué comme "Stagnant".
Les propositions "vivantes" (telles que l'EIP-1) sont celles qui doivent être continuellement mises à jour et ne pas atteindre la finalité.
EIP-20
EIP-20 a été créé en novembre 2015 par deux auteurs, Fabian Vogelsteller et Vitalik Buterin. La proposition spécifie les normes de mise en œuvre pour les jetons ERC-20, et permet aux utilisateurs d'émettre leurs propres jetons sur Ethereum en se basant sur cet ensemble de normes.
Les jetons ERC-20 ont des fonctions de base telles que le transfert, l'approbation et la consultation du solde (balanceOf). Ils ont également un nom de jeton et une offre totale afin d'être compatibles avec les portefeuilles, les échanges et les divers contrats.
Au moment de la rédaction de cet article, il y a actuellement 585 773 jetons ERC-20 différents déployés sur Ethereum, y compris les célèbres USDT, BNB, UNI, SHIB, etc. Les jetons ERC-20 sont la base du financement, de la gouvernance et du fonctionnement de nombreuses blockchains, jouant un rôle très important dans l'écosystème Ethereum.
EIP-721
EIP-721 propose une norme REC-721, la norme NFT (non-fungible token). L'EIP-721 est basée sur l'EIP-20 et a été rédigée par William Entriken et al. en janvier 2018.
Les jetons ERC-20 peuvent être divisés en unités plus petites, et chaque jeton est équivalent, tandis que les jetons ERC-721 sont indivisibles et distinguables. La particularité des jetons ERC-721 est que chaque jeton a un propriétaire et des métadonnées. Le propriétaire donne au jeton l'indivisibilité tandis que les métadonnées rendent le jeton distinguable.
Au moment où nous écrivons ces lignes, il y a actuellement 118 438 jetons ERC-721 différents déployés sur Ethereum. Le volume d'échange des jetons ERC-721 a atteint des milliards de dollars. Les projets ERC-721 les plus célèbres sont CryptoKitties, CryptoPunks, Bored Ape Yacht Club, etc.
EIP-779
EIP-779 est probablement l'une des propositions les plus controversées de l'histoire d'Ethereum. En juin 2016, environ 3,6 millions d'ETH ont été volés par des pirates informatiques qui ont profité des failles de sécurité de la DAO sur Ethereum. Le montant des ETH volés représentait 4,4 % du total des ETH en circulation à ce moment-là. L'Ethereum, qui n'avait qu'un an à l'époque, a pris un grand coup dans cette attaque. En conséquence, l'équipe de développement d'Ethereum a lancé EIP-779.
EIP-779 permet à tous les utilisateurs de retirer leur propre ETH de la DAO. Bien que cela ait permis de récupérer les pertes pour les utilisateurs, certains mineurs estiment que cette approche va à l'encontre de la décentralisation. Une fois cette boîte de Pandore ouverte, la crypto perdrait la confiance des utilisateurs à l'avenir et le développement des blockchains serait entravé.
Finalement, le 20 juillet 2016, la majorité des mineurs ont accepté l'EIP-779, et le hard fork a réussi. Cependant, en raison du fait qu'un petit nombre de mineurs rejette toujours EIP-779, la communauté Ethereum s'est divisée en deux camps, et la blockchain Ethereum en deux chaînes. Les mineurs qui ont soutenu l'EIP-779 font fonctionner la nouvelle chaîne Ethereum, tandis que les mineurs qui ont rejeté l'EIP-779 font fonctionner la chaîne originale, qui a été rebaptisée Ethereum Classic et sa propre version de l'ETH est appelée ETC.
EIP-1559
EIP-1559 est également une mise à niveau très importante dans l'histoire d'Ethereum. Vitalik Buterin a proposé l'EIP-1599 en 2019, qui doit améliorer le mécanisme de gaz d'Ethereum. Cette proposition a été combattue par un grand nombre de mineurs mais soutenue par de nombreux utilisateurs d'Ethereum, notamment les utilisateurs de DeFi.
Avant l'EIP-1599, tous les frais de gaz étaient payés aux mineurs. Limités par la capacité des blocs, les utilisateurs qui souhaitent que leurs transactions soient effectuées le plus rapidement possible doivent payer des frais de gaz élevés pour inciter les mineurs. Les frais d'essence étaient la principale source de revenus des mineurs, d'où le risque potentiel que les mineurs fassent collectivement grimper leur prix.
L'EIP-1599 divise les frais d'essence en deux parties - frais de base et frais de priorité (pourboire). Les frais de base sont générés par un algorithme et seront brûlés au lieu d'être récompensés aux mineurs. Ullep la charge du bloc actuel est lourde, plus les frais de base pour le bloc suivant sont élevés. Les pourboires sont payés disintement au mineur par l'utilisateur. Ullep le pourboire est élevé, plus le mineur sera disposé à emballer la transaction de cet utilisateur.
Étant donné que les frais de base pour chaque bloc sont générés de manière algorithmique, les utilisateurs ne peuvent pas prévoir les frais de base lorsqu'ils initient une transaction. Par conséquent, l'EIP-1599 a également introduit un plafonnement des frais. Les utilisateurs peuvent fixer le tarif maximum qu'ils sont prêts à payer. Si les frais de base plus le pourboire sont inférieurs au plafond des frais, et qu'un mineur a emballé la transaction dans le bloc, les frais excédentaires seront remboursés à l'utilisateur.
La combustion des frais de base introduite par EIP-1599 peut réduire l'inflation et augmenter le prix de l'éther. Bien que l'EIP-1599 n'entraîne pas nécessairement une réduction des frais de gaz pour les utilisateurs, il améliore l'expérience des utilisateurs en leur donnant une meilleure compréhension des frais qu'ils paient.
En août 2021, la mise à niveau de l'Ethereum London Hard Fork a été achevée, ce qui indique que la grande majorité des mineurs ont accepté EIP-1599, et cette proposition est officiellement entrée en vigueur.
Ethereum étant un réseau décentralisé entretenu conjointement par de nombreux participants, il n'est pas facile d'obtenir un consensus au sein de la communauté. Chaque mise à niveau et chaque EIP peut entendre des voix différentes. Il devient donc particulièrement important de normaliser le processus de proposition et de mise en œuvre des EIP, et de faire comprendre à un plus grand nombre de personnes l'importance des EIP.
Depuis la naissance d'Ethereum en 2015, des développeurs du monde entier ont proposé de nombreux EIP pour contribuer à améliorer le réseau. Le réseau devenant plus grand et plus complexe, un processus EIP standardisé est plus important que jamais. Chaque EIP doit être examiné par les membres de la communauté, et un consensus doit être atteint avant que l'EIP puisse être approuvé. C'est avec l'aide de méthodes telles que les EIP qu'Ethereum a pu établir son statut de première chaîne publique actuelle.
Dans Ethereum, chaque nouvelle fonctionnalité ou amélioration est proposée sous forme d'EIP, qui sera mise en œuvre par tous les mineurs. Cet article vous permettra de comprendre en profondeur ce qu'est un EIP et quel rôle les EIP jouent dans le développement d'Ethereum.
L'écosystème Ethereum a attiré un grand nombre d'utilisateurs. Bien que ses frais de gaz élevés et son réseau encombré soient souvent critiqués, elle a toujours été la chaîne publique préférée des Dapps en raison de son système sûr, stable et innovant. Rome ne s'est pas construite en un jour. De même, Ethereum a subi diverses mises à niveau depuis sa création. Ces propositions de mise à niveau et d'amélioration doivent faire l'objet d'un consensus général au sein de la communauté Ethereum sous la forme d'EIP avant de pouvoir être définitivement mises en œuvre.
Les propositions d'amélioration d'Ethereum (EIP) décrivent les normes de la plateforme Ethereum. Certains EIP prévoient l'ajout de nouvelles fonctionnalités sur Ethereum tandis que d'autres visent à optimiser certains processus sur Ethereum.
Le référentiel de gestion du projet Ethereum a été créé en octobre 2015. Toutes les mises à niveau d'Ethereum peuvent être retracées à EIPs.
Tous les EIP ont pour objectif d'améliorer le réseau Ethereum actuel. Les auteurs d'EIP doivent fournir la justification et les normes techniques de mise en œuvre. L'adoption finale d'une proposition nécessite un examen par les pairs et un consensus au sein de la communauté.
Le modèle EIP d'Ethereum suit l'exemple du modèle BIP (Bitcoin Improvements Proposals) de Bitcoin, qui est utilisé pour répondre efficacement aux besoins de mises à niveau et d'améliorations dans le cadre d'une gouvernance décentralisée, et pour promouvoir la convivialité en introduisant de nouvelles applications.
Les EIP peuvent être divisés en 3 catégories principales, à savoir Standard Track, Meta, et Informational.
Voie standard
Les EIP de la voie standard sont ceux qui auront un impact sur la plupart ou la totalité des implémentations d'Ethereum, comme un changement du protocole de réseau, un changement des règles de validité des blocs ou des transactions, des normes/conventions d'application proposées, ou tout changement ou ajout qui affecte l'interopérabilité des applications utilisant Ethereum. En outre, les EIP standard peuvent être répartis dans les catégories suivantes.
Core : Améliorations nécessitant une fourche de consensus (par ex. EIP-5, EIP-101), ainsi que des changements qui ne sont pas nécessairement critiques mais qui peuvent être pertinents pour le "core dev", par exemple, EIP-1559 qui vise à améliorer la structure des frais de gaz et nécessite un hard fork pour y parvenir.
Mise en réseau : Améliorations autour de devp2p et du sous-protocole Ethereum léger, ainsi que des améliorations proposées aux spécifications du protocole réseau de whisper et swarm. Par exemple, l'EIP-2124 vise à réduire les coûts générés par l'utilisation des données de transaction.
Interface : Améliorations autour des spécifications et des normes API/RPC des clients, ainsi que certaines normes au niveau du langage (noms de méthodes et ABI des contrats), par exemple, EIP-695 qui a défini la méthode eth_chainId.
ERC : Normes et conventions au niveau de l'application, y compris les normes de contrat (telles que les normes de jetons), les registres de noms, les schémas URI, les formats de bibliothèque/paquet et les formats de porte-monnaie, tels que les célèbres ERC-20 et ERC-721.
Meta
Les Meta EIP décrivent un processus entourant Ethereum ou proposent un changement à (ou un événement dans) un processus. Les EIP de processus sont comme les EIP de suivi des normes mais s'appliquent à des domaines autres que le protocole Ethereum lui-même. Ils peuvent proposer une implémentation, mais pas au codebase d'Ethereum
Les méta-propositions nécessitent souvent un consensus communautaire et sont plus que de simples recommandations. Par conséquent, les utilisateurs ne sont généralement pas libres de les ignorer. Il s'agit par exemple de procédures, de disintives, de modifications du processus de prise de décision et de modifications des outils ou de l'environnement utilisés dans le développement d'Ethereum. Tout méta-EIP est également considéré comme un processus EIP.
Informatif
Les EIP informatifs décrivent des questions de conception d'Ethereum, ou fournissent des disintives ou des informations générales à la communauté Ethereum, mais ne proposent pas de nouvelle fonctionnalité. Les EIP informatifs ne représentent pas nécessairement un consensus de la communauté ou une recommandation. Les utilisateurs et les responsables de la mise en œuvre sont donc libres d'ignorer les EIP informatifs ou de suivre leurs conseils.
Tout le monde peut initier un EIP. Avant de mettre une idée en œuvre, l'auteur doit d'abord en discuter au sein de la communauté Ethereum pour éviter de créer une proposition qui existe déjà.
Après qu'une idée a été discutée et approuvée par la communauté, l'auteur peut commencer à créer le projet. Ensuite, les développeurs et les rédacteurs seront invités à évaluer l'EIP par des pairs. Les auteurs doivent faire de leur mieux pour convaincre la communauté d'adopter leurs PIE.
Les EIP entreront en "Last Call" après l'examen par les pairs. Le dernier appel ne dure généralement que 14 jours. Pendant cette période, si un EIP doit encore être modifié, il reviendra au statut "Review". Les EIP qui ont passé le "Last Call" seront marqués comme "Final".
Pour les EIP en "Draft", "Review", ou "Last Call", l'auteur peut toujours choisir de retirer l'EIP proposé et il sera alors marqué comme "Withdrawn".
Si un EIP en "Brouillon", "Révision" ou "Dernier appel" est inactif pendant 6 mois sans être retiré, il sera marqué comme "Stagnant".
Les propositions "vivantes" (telles que l'EIP-1) sont celles qui doivent être continuellement mises à jour et ne pas atteindre la finalité.
EIP-20
EIP-20 a été créé en novembre 2015 par deux auteurs, Fabian Vogelsteller et Vitalik Buterin. La proposition spécifie les normes de mise en œuvre pour les jetons ERC-20, et permet aux utilisateurs d'émettre leurs propres jetons sur Ethereum en se basant sur cet ensemble de normes.
Les jetons ERC-20 ont des fonctions de base telles que le transfert, l'approbation et la consultation du solde (balanceOf). Ils ont également un nom de jeton et une offre totale afin d'être compatibles avec les portefeuilles, les échanges et les divers contrats.
Au moment de la rédaction de cet article, il y a actuellement 585 773 jetons ERC-20 différents déployés sur Ethereum, y compris les célèbres USDT, BNB, UNI, SHIB, etc. Les jetons ERC-20 sont la base du financement, de la gouvernance et du fonctionnement de nombreuses blockchains, jouant un rôle très important dans l'écosystème Ethereum.
EIP-721
EIP-721 propose une norme REC-721, la norme NFT (non-fungible token). L'EIP-721 est basée sur l'EIP-20 et a été rédigée par William Entriken et al. en janvier 2018.
Les jetons ERC-20 peuvent être divisés en unités plus petites, et chaque jeton est équivalent, tandis que les jetons ERC-721 sont indivisibles et distinguables. La particularité des jetons ERC-721 est que chaque jeton a un propriétaire et des métadonnées. Le propriétaire donne au jeton l'indivisibilité tandis que les métadonnées rendent le jeton distinguable.
Au moment où nous écrivons ces lignes, il y a actuellement 118 438 jetons ERC-721 différents déployés sur Ethereum. Le volume d'échange des jetons ERC-721 a atteint des milliards de dollars. Les projets ERC-721 les plus célèbres sont CryptoKitties, CryptoPunks, Bored Ape Yacht Club, etc.
EIP-779
EIP-779 est probablement l'une des propositions les plus controversées de l'histoire d'Ethereum. En juin 2016, environ 3,6 millions d'ETH ont été volés par des pirates informatiques qui ont profité des failles de sécurité de la DAO sur Ethereum. Le montant des ETH volés représentait 4,4 % du total des ETH en circulation à ce moment-là. L'Ethereum, qui n'avait qu'un an à l'époque, a pris un grand coup dans cette attaque. En conséquence, l'équipe de développement d'Ethereum a lancé EIP-779.
EIP-779 permet à tous les utilisateurs de retirer leur propre ETH de la DAO. Bien que cela ait permis de récupérer les pertes pour les utilisateurs, certains mineurs estiment que cette approche va à l'encontre de la décentralisation. Une fois cette boîte de Pandore ouverte, la crypto perdrait la confiance des utilisateurs à l'avenir et le développement des blockchains serait entravé.
Finalement, le 20 juillet 2016, la majorité des mineurs ont accepté l'EIP-779, et le hard fork a réussi. Cependant, en raison du fait qu'un petit nombre de mineurs rejette toujours EIP-779, la communauté Ethereum s'est divisée en deux camps, et la blockchain Ethereum en deux chaînes. Les mineurs qui ont soutenu l'EIP-779 font fonctionner la nouvelle chaîne Ethereum, tandis que les mineurs qui ont rejeté l'EIP-779 font fonctionner la chaîne originale, qui a été rebaptisée Ethereum Classic et sa propre version de l'ETH est appelée ETC.
EIP-1559
EIP-1559 est également une mise à niveau très importante dans l'histoire d'Ethereum. Vitalik Buterin a proposé l'EIP-1599 en 2019, qui doit améliorer le mécanisme de gaz d'Ethereum. Cette proposition a été combattue par un grand nombre de mineurs mais soutenue par de nombreux utilisateurs d'Ethereum, notamment les utilisateurs de DeFi.
Avant l'EIP-1599, tous les frais de gaz étaient payés aux mineurs. Limités par la capacité des blocs, les utilisateurs qui souhaitent que leurs transactions soient effectuées le plus rapidement possible doivent payer des frais de gaz élevés pour inciter les mineurs. Les frais d'essence étaient la principale source de revenus des mineurs, d'où le risque potentiel que les mineurs fassent collectivement grimper leur prix.
L'EIP-1599 divise les frais d'essence en deux parties - frais de base et frais de priorité (pourboire). Les frais de base sont générés par un algorithme et seront brûlés au lieu d'être récompensés aux mineurs. Ullep la charge du bloc actuel est lourde, plus les frais de base pour le bloc suivant sont élevés. Les pourboires sont payés disintement au mineur par l'utilisateur. Ullep le pourboire est élevé, plus le mineur sera disposé à emballer la transaction de cet utilisateur.
Étant donné que les frais de base pour chaque bloc sont générés de manière algorithmique, les utilisateurs ne peuvent pas prévoir les frais de base lorsqu'ils initient une transaction. Par conséquent, l'EIP-1599 a également introduit un plafonnement des frais. Les utilisateurs peuvent fixer le tarif maximum qu'ils sont prêts à payer. Si les frais de base plus le pourboire sont inférieurs au plafond des frais, et qu'un mineur a emballé la transaction dans le bloc, les frais excédentaires seront remboursés à l'utilisateur.
La combustion des frais de base introduite par EIP-1599 peut réduire l'inflation et augmenter le prix de l'éther. Bien que l'EIP-1599 n'entraîne pas nécessairement une réduction des frais de gaz pour les utilisateurs, il améliore l'expérience des utilisateurs en leur donnant une meilleure compréhension des frais qu'ils paient.
En août 2021, la mise à niveau de l'Ethereum London Hard Fork a été achevée, ce qui indique que la grande majorité des mineurs ont accepté EIP-1599, et cette proposition est officiellement entrée en vigueur.
Ethereum étant un réseau décentralisé entretenu conjointement par de nombreux participants, il n'est pas facile d'obtenir un consensus au sein de la communauté. Chaque mise à niveau et chaque EIP peut entendre des voix différentes. Il devient donc particulièrement important de normaliser le processus de proposition et de mise en œuvre des EIP, et de faire comprendre à un plus grand nombre de personnes l'importance des EIP.
Depuis la naissance d'Ethereum en 2015, des développeurs du monde entier ont proposé de nombreux EIP pour contribuer à améliorer le réseau. Le réseau devenant plus grand et plus complexe, un processus EIP standardisé est plus important que jamais. Chaque EIP doit être examiné par les membres de la communauté, et un consensus doit être atteint avant que l'EIP puisse être approuvé. C'est avec l'aide de méthodes telles que les EIP qu'Ethereum a pu établir son statut de première chaîne publique actuelle.