Ethereum est une plateforme d'applications décentralisées qui évolue beaucoup : au cours des années, la machine virtuelle d'Ethereum (EVM) s'est considérablement améliorée, et d'autres éléments offrant une meilleure expérience aux développeurs et aux utilisateurs sont apparus. Si chacun peut participer au développement de la plateforme Ethereum, on peut se demander comment se passe la coordination des mises à jour. Aujourd'hui je vous propose d'étudier le processus de développement d'Ethereum et de découvrir les principaux acteurs qui participent à ce dernier.

👉 Qu'est-ce qu'Ethereum (ETH) ?

 

Les clients Ethereum

Ethereum repose sur un réseau de nœuds que chacun peut déployer chez lui, ces nœuds utilisent des clients logiciels Ethereum. Les clients sont régulièrement mis à jour pour exécuter les hard forks permettant l'actualisation d'Ethereum. Les développeurs de ces clients sont donc en quelque sorte les garants techniques de l'évolution de la plateforme, ce qui représente une grande responsabilité. Mais sont-ils pour autant les seuls artisans du développement d'Ethereum et possèdent-ils une influence totale sur ce dernier ? Nous allons voir que ce n'est pas exactement le cas et que si le développement d'Ethereum repose sur leur intervention, le processus est plus ouvert que cela.

 

La machine virtuelle d'Ethereum

La machine virtuelle d'Ethereum (EVM) permet la programmation des smart-contracts déployés sur le réseau. En réalité, cela permet surtout de les développer dans un langage simple et lisible par l'humain comme Solidity. Elle fonctionne par le biais de différentes instructions spécifiques, qui une fois mises bout à bout permettent de créer des logiques complexes. Ces instructions sont des codes opération (couramment appelés « opcodes ») qui permettent de réaliser toutes les tâches programmables et qui rendent Ethereum Turing-complet. Si la machine virtuelle Ethereum est au cœur du réseau et a permis le développement de ce dernier, la simplicité de développement de smart-contracts et d'autres avantages, elle est également aujourd'hui l'un de ses principaux défauts. En effet l'EVM est l'un des freins de la scalabilité d'Ethereum et un goulot d'étranglement pour le flux des transactions sur le réseau.

Cette machine virtuelle a évolué en même temps qu'Ethereum et des chercheurs et développeurs travaillent encore aujourd'hui pour l'améliorer et notamment pour la remplacer par quelque chose de plus performant et plus sécurisé : l'un des candidats pour cela est l'Ethereum WebAssembly (ewasm), un exécuteur de smart-contracts reposant sur le très efficace standard WebAssembly.

 

Comment évolue le protocole Ethereum ?

Ethereum a fait le choix d'imiter largement Bitcoin sur la façon de procéder pour mettre à niveau la plateforme et y ajouter des fonctionnalités. De ce fait, nous retrouvons de nombreuses similitudes entre les deux projets. Par exemple, les BIP (Bitcoin Improvement Proposals) de Bitcoin sont remplacés par des EIP ou Ethereum Improvement Proposals. Mais cela ne nous explique pas comment évolue concrètement le protocole, ni ce qui peut influencer cette évolution. Pour vous expliquer simplement le processus, je vous propose de nous plonger dans l'aventure d'une proposition d'amélioration de l'étape où elle est imaginée jusqu'à son ajout dans une mise à niveau d'Ethereum.

Tout d'abord, chaque amélioration provient principalement de la communauté et ses défenseurs ne sont pas forcément des développeurs. En effet si les mises à jour étaient principalement techniques depuis 2016, il est aujourd'hui plus commun de voir des ERC (Ethereum Requests for Comments) concernant des points économiques ou des mesures de gouvernance. Une fois l'idée émise, elle sera diffusée et développée sur des canaux de communications communautaires comme Twitter ou Reddit, mais elle prendra généralement forme sur des forums comme Ethereum Magicians ou Ethresearch.

 

Le Core Dev Meeting

Une fois l'ERC réfléchi et mature, il peut être proposé à l'ordre du jour lors de l'un des rendez-vous récurrents des développeurs Ethereum. Ces réunions, qui sont semi-publiques puisque l'accès vous est accordé sur simple demande, permettent aux porteurs d'EIP de défendre leur projet et aux développeurs et autres acteurs de se rencontrer afin de débattre sur les mises à jours à venir. Chaque client est généralement représenté par ses développeurs en fonction de leur disponibilité. On y retrouve régalement des acteurs principaux de la communauté qui peuvent prendre la parole sur différents sujets à l'ordre du jour.

 

L'implémentation de l'EIP

Par la suite, si les développeurs des différents clients Ethereum sont en accord avec l'EIP et ses conséquences sur Ethereum, il sera implémenté. Il s'agit du développement fonctionnel des changements afin de l'apporter aux prochaines mises à jour des clients Ethereum. Cette étape peut être plus ou moins rapide en fonction du contenu de l'EIP. En effet s’il a été proposé par un ou plusieurs développeurs, il est possible que ces derniers apportent leur aide au développement de ce dernier, voire même qu'ils fournissent une implémentation fonctionnelle. En revanche, si les modifications sont principalement économiques, le développement peut s'étendre sur une plus longue période.

 

Les mises à niveau par hardfork

Une fois que les développeurs des différents clients sont prêts, et que l'accord de la communauté et des mineurs a été obtenu, l'EIP peuvent être ajouté au prochain hard fork d'Ethereum. Ces hard forks permettent l'évolution du protocole et nécessitent la mise à jour des nœuds du réseau pour s'effectuer correctement. Ces mises à jour sont désormais récurrentes sur Ethereum puisque l'objectif fixé est d'avoir environ un hard-fork tous les mois. Comme la plupart des EIP qui composent les changements font consensus, ces hard forks ne sont provoquent pas du tout de scission de la chaîne en deux chaînes distinctes.

 

Le rôle des développeurs Ethereum

Développer un token Ethereum

Le rôle des développeurs Ethereum est très important dans le cadre de l'amélioration du protocole et de la plateforme. En effet, ce sont eux les artisans de cette évolution par le biais de mises à jour des clients, qui seront par la suite utilisé par les utilisateurs possède des nœuds qui composent ce réseau. Il s'agit donc d'un rôle crucial qui peut dépasser leurs compétences de travail et le cadre du développement pur. En effet c'est à eux que revient le dernier mot concernant l'implémentation ou non de tel ou tel EIP proposé par la communauté. Puisque leur objectif principal est de développer Ethereum en apportant un maximum d'outils de qualités aux développeurs de Dapps, ils essayent au maximum d'avoir recours à des avis extérieurs.

 

Le rôle des réseaux de tests Ethereum

Il existe aujourd'hui dans l'écosystème différents réseaux de tests Ethereum. Ces derniers sont principalement reconnus pour leur utilité vis-à-vis des développeurs d'applications décentralisées sur le réseau. En effet ces derniers permettent de réaliser des tests de déploiement et de tests de smart-contract Solidity, et ceci sans coût, puisque les éthers de ces réseaux ne valent rien. Ce sont des faucets qui distribuent aux utilisateurs de quoi faire des transactions sans se soucier du coût financier de ces dernières.

Mais les réseaux de tests ont également un rôle important dans le cadre du développement du protocole Ethereum. Ils donnent une vitrine aux développements d'Ethereum et permettent la réalisation d'audits de la part de la communauté. Enfin les développeurs d'applications peuvent déployer des clones afin d'anticiper les effets des changements futurs.

 

Suivre le développement et les mises à jour d'Ethereum

Jean en train de trader le Bitcoin

Il peut être compliqué de s'y retrouver dans les mises à jour d'Ethereum et dans leur contenu qui peut évoluer rapidement en fonction des besoins du réseau. Les ressources semblent être éparpillées sur internet et sur les canaux de différents acteurs de l'écosystème. En effet, de par l'architecture décentralisée du réseau, il n’existe pas de canaux uniques permettant de retrouver toutes les informations sur un même site. Cependant, il est aujourd'hui possible à n'importe qui de se renseigner facilement sur les hard forks d'Ethereum grâce au travail de contributeurs. Ainsi, en fonction de vos besoins, vous pouvez retrouver des informations sur :REL

  • Le Github de la Fondation Ethereum, qui contient les EIP ayant été formalisés par la communauté et les développeurs.
  • Le Gitter d'Ethereum, un canal de discussion écrite principalement dédié à des propos techniques informels.
  • Twitter et Reddit : en suivant les principaux acteurs de l'écosystème, vous aurez régulièrement accès à des débats de fonds entre ces derniers.
  • Ethereum France qui propose des explications en français sur le fonctionnement d'Ethereum et ses actualités.
  • Ethresearch et Ethereum Magicians. Ce sont deux forums qui regroupe la plupart des acteurs très investis sur Ethereum, qui suivent les projets d'EIP et

Bien évidemment il n'est pas nécessaire de réaliser une veille complète sur tous ces canaux. C'est en fonction de votre temps disponible, de vos connaissances sur le sujet et de vos besoins, que vous pourrez définir les ressources intéressantes pour vous. Je vous conseille par exemple de lire Ethereum France ainsi que Twitter et Reddit si vous êtes débutants, avant de vous aventurer sur les forums de la communauté et sur le Github de la fondation Ethereum. Parcourir les forums spécialisés tels que Ethresearch ou Ethereum Magicians nécessitera peut être un peu plus d'expérience sur le fonctionnement d'Ethereum.

 

L'écosystème des applications décentralisées

Si Ethereum est avant une plateforme permettant le déploiement de smart-contracts et d'applications décentralisées, ce sont ces dernières qui font également évoluer Ethereum. Si la technologie pure, les fonctionalités du protocole sont gérées par les core developers, ce ne sont pas les seuls profils techniques de l'écosystème. Ethereum étant une plateforme décentralisée, les développeurs des équipes gravitant dans le secteur participent également à son développement.

L'écosystème Ethereum est défini par ses acteurs et les applications décentralisés qui forment le paysage du réseau. Les innovations du secteur sont largement apportées par ces deniers, qui innovent bien plus rapidement que le fonctionnement du protocole. En effet ils ne sont pas limités par l'impact que leurs travaux pourraient avoir, et bénéficient d'une souplesse importante. Mais les développeurs de ces projets ne se focalisent que rarement à 100% sur leurs intérêts et participent également à l'amélioration d'Ethereum. Ils publient des recherches sur Ethereum et mettent en lumière les failles du fonctionnement du réseau.

 

Pourquoi est-il important de s'intéresser au développement d'Ethereum ?

Jean en train de lire un livre sur le Bitcoin

Si mettre en place une veille sur les mises à jour d'Ethereum semble être une tâche très fastidieuse et relativement inutile, c'est au contraire quelque chose de très important de la décentralisation. En effet cette dernière perd son intérêt si les utilisateurs accordent leur confiance aveuglément aux développeurs des différents clients Ethereum. Ce sont donc à ces derniers de s'informer au maximum afin de ne pas dépendre de tiers de confiance pour comprendre les outils qu'ils utilisent.

Néanmoins la plupart des EIP ne sont pas soumis à des questionnements politiques et ne sont que des améliorations techniques du protocole. En cette période de transition vers Ethereum 2.0, c'est moins le cas, et différents EIP forgent la marche que prendra Ethereum lors de ce changement majeur. C'est pour cette raison qu'il est selon moi très important de commencer à s'intéresser plus précisément à ces modifications. C'est également la meilleure période puisque les ressources à ce sujet deviennent plus accessibles et synthétisées gratuitement par la communauté.

Cela ne veut pas dire qu'il faut passer des heures à apprendre le fonctionnement d'Ethereum, mais il faut tout du moins se renseigner rapidement de manière régulière sur les différentes sources que j'ai citées plus haut. De ce fait, vous serez moins soumis aux biais cognitifs et manipulation présents sur les forums et réseaux sociaux et serez plus alertes dans vos investissements.

 

Voilà qui conclut pour cette présentation du développement du protocole Ethereum et des acteurs y participant de manière régulière. Et vous, vous tenez-vous au courant des avancements d'Ethereum ? Si oui, quels sites et ressources utilisez-vous ? Un grand merci à Simon Poltrot de l'association Ethereum France (et président de l'ADAN) pour avoir répondu à mes questions et a avoir aidé à la rédaction de cet article. Si vous avez des questions ou des remarques à propos de cet article, n'hésitez pas à nous en faire part dans les commentaires ou sur les réseaux sociaux.

A propos de l'auteur : Guillaume Chanut

twitter-soothsayerdatatwitter-soothsayerdata

Passionné par les crypto-monnaies, j’ai rapidement appris à développer des outils dans le domaine des technologies blockchain. J’aime partager mes connaissances sur le sujet et je participe activement au rayonnement des aspects techniques de la blockchain au sein de la communauté crypto. Je suis principalement intéressé par Ethereum et par son code Solidity.
Tous les articles de Guillaume Chanut.

guest
1 Commentaire
Inline Feedbacks
View all comments
nom

la simplicité <<< grâce à ?

Si Ethereum est avant <<< tout ?

je n'ai pas lu entre les deux 🙂