Ethereum 2.0 arrive - Voici ce que vous devez savoir

De quoi parlons nous ?

La blockchain d’Ethereum est l’une des plus grandes et des plus utilisées dans le monde. C’est également l’un des plus grands projets open source au monde, go-ethereum étant l’un des plus grands projets sur Github. 

Depuis sa première version en 2015, Ethereum a progressé vers son objectif ultime, à savoir : devenir un ordinateur mondial décentralisé qui pourrait un jour remplacer de nombreuses applications centralisées que nous utilisons dans la vie de tous les jours.

Cependant, la communauté et la blockchain Ethereum ont encore beaucoup de travail à faire avant que cet objectif ne soit atteint. Cet article explique brièvement les progrès d’Ethereum jusqu’à présent et aborde ensuite la sortie prochaine et très attendue d’Ethereum 2.0 ou Serenity (utilisés de manière interchangeable à partir de maintenant). Il s’agira de la mise à jour la plus importante et la plus complète jamais réalisée par la communauté Ethereum.

Les quatre étapes du développement d’Ethereum

Lorsque le réseau Ethereum a été lancé en 2015, la roadmap du projet était envisagée en quatre phases. Chaque phase est définie par un ensemble de propositions d’amélioration d’Ethereum (EIP). Il s’agit de propositions soumises à la communauté Ethereum et approuvées par celle-ci. Les propositions créent des lignes directrices que les différents clients et développeurs d’Ethereum doivent suivre. Par exemple, la version actuelle d’Ethereum s’appelle Constantinople et a été créée grâce à un total de quatre EIP conçues pour améliorer la sécurité, la confidentialité et l’évolutivité du réseau.

La première étape d’Ethereum a été appelée Frontier. Publiée en 2015, c’était la première version live du réseau. Frontier a permis aux utilisateurs et aux développeurs de miner l’Ether, de créer des Dapps (Applications décentralisée) et des outils, et d’expérimenter la nouvelle plateforme.

La deuxième étape du développement d’Ethereum a été Homestead. Lancé en mars 2016, Homestead a été la première version de production du réseau Ethereum. Elle apportait de nombreuses améliorations aux protocoles qui allaient devenir les bases des futures mises à jour et de l’augmentation de la vitesse des transactions.

La troisième étape du développement d’Ethereum, qui est en cours, s’appelle Metropolis. Metropolis a été divisé en deux versions, Byzance et Constantinople. Byzantium est sorti en octobre 2017. Il est plus léger, plus rapide et plus sûr que les versions précédentes. Certaines améliorations spécifiques incluent des prix du GAS plus prévisibles et une programmation plus facile pour les développeurs.

Byzantium améliore également la protection de la vie privée en permettant aux développeurs d’Ethereum d’effectuer une vérification efficace des zk-SNARKs (zero-knowledge succinct non-interactive arguments of knowledge) directement sur la blockchain. Bien qu’à première vue, l’acronyme zk-SNARKs puisse sembler compliqué, le système utilise un concept relativement simple, celui de la preuve de connaissance zéro. Il s’agit d’une méthode qui permet de prouver la véracité d’une déclaration sans révéler autre chose que ce que cette déclaration tente de prouver. Par exemple, je peux prouver à un ami que je connais le mot de passe de mon téléphone portable, sans lui révéler ce mot de passe.

La mise à jour de Byzance a également apporter un ajustement sur le mining appelé « bombe de difficulté » qui rendra le minage plus difficile avec le temps en prévision du passage à un système de proof of stake (plus d’informations à ce sujet plus tard). Constantinople est censé poursuivre sur la lancée de ces améliorations. Bien que la date de sortie initiale de Constantinople ait été fixée à novembre 2018, les dirigeants et les développeurs d’Ethereum ont décidé de reporter sa sortie jusqu’en 2019. Le Fork a finalement été publiée le 28 février 2019 au bloc 7 280 000.

La quatrième et provisoirement dernière étape d’Ethereum est désormais connue sous le nom d’Ethereum 2.0 ou Serenity. Il s’agit de la mise à jour la plus ambitieuse à ce jour et elle est censée améliorer presque tous les aspects du réseau. Eth 2.0 est censé être publié en quatre phases entre 2019 et 2021, bien que ce calendrier soit susceptible d’être modifié. Afin de comprendre pleinement l’ampleur et l’importance d’Eth 2.0, nous devons d’abord examiner les principaux problèmes auxquels est confronté le réseau Ethereum actuel, les problèmes que Eth 2.0 tente de résoudre.

 

Questions actuelles concernant Ethereum

La question la plus importante à laquelle est actuellement confronté le réseau Ethereum est celle de la scalabilité. Le réseau Ethereum prend en charge des centaines d’applications décentralisées et doit traiter un nombre élevé de transactions par seconde. L’ajout de nœuds supplémentaires n’augmente pas la scalabilité du réseau car chaque nœud doit vérifier chaque transaction.

L’utilisation accrue du réseau Ethereum, notamment la création de plus de Dapps et l’exécution d’un plus grand nombre de transactions, a entraîné une augmentation constante du temps et du coût des transactions. Cela rend le réseau Ethereum plus lent et moins pratique à utiliser. Lors d’un récent test de vitesse, le réseau n’a géré que 20 transactions par seconde (diverses sources ont indiqué entre 12 et 45 transactions par seconde au cours de l’année dernière).

En comparaison, les réseaux centralisés tels que PayPal et Visa effectuent régulièrement 193 et 1667 transactions respectivement, et la capacité maximale de Visa est proche de 24 000.

Transaction par secondes visa paypal vs ethereum

Pour que le réseau soit adopté en masse, les efforts visant à accroître massivement la scalabilité sont au cœur du développement d’Ethereum 2.0. Après avoir étudié plusieurs autres options, l’équipe d’Ethereum s’est mise d’accord sur un processus appelé « sharding » comme étant la meilleure solution pour scaler le réseau. Des solutions hors chaîne, comme les chaînes de plasma et les canaux d’état, seront probablement utilisées pour décharger le réseau principal et accroître encore la scalabilité.

Une autre question majeure qui sera abordée par Eth 2.0 est l’efficacité et la durabilité environnementale. Comme Bitcoin et de nombreux autres réseaux Blockchain, Ethereum s’appuie actuellement sur un protocole de consensus de preuve de travail (PoW) pour assurer la sécurité de son réseau. Les systèmes PoW impliquent un certain nombre de mineurs qui possèdent du matériel informatique connecté à un réseau à chaîne de blocs. Les mineurs sont récompensés pour la mise à disposition de leur matériel par le réseau. Un algorithme fixe une valeur cible pour chaque nouveau bloc, et les mineurs rivalisent pour être les premiers à trouver cette cible et à ajouter le nouveau bloc.

Pour ce faire, ils font passer les données d’en-tête du bloc proposé ainsi qu’une « valeur nonce » aléatoire par une fonction de hachage qui retournera une chaîne de nombres brouillés de longueur fixe. Si la valeur cible n’est pas atteinte, le nonce est modifié et la fonction de hachage est relancée. Les mineurs réexécutent la fonction de hachage jusqu’à ce que l’un d’entre eux génère une valeur de hachage qui correspond à la cible spécifiée. À ce stade, le nouveau bloc est diffusé à chaque nœud du réseau pour qu’il le valide et l’ajoute à son livre de comptes, et le mineur qui a réussi se voit attribuer un petit solde pour son travail. L’un des principaux avantages des systèmes de PoW est que la vérification de l’appartenance ou non d’un nouveau bloc à la chaîne est un processus très rapide et relativement simple. Toutefois, pour assurer la sécurité du réseau et prévenir la fraude, il est coûteux pour les mineurs de trouver la bonne entrée de hachage. Cette situation est exacerbée par le fait qu’un seul mineur trouve le hachage correct, de sorte que le travail effectué par tous les autres n’est pas réellement utilisé. Par conséquent, le consensus sur la puissance de travail nécessite une énorme quantité de puissance de calcul et d’électricité et est très inefficace.

Au moment où nous écrivons ces lignes, chaque transaction sur le réseau Ethereum consomme environ 29 kwh (kilowattheures), soit assez d’électricité pour alimenter un ménage américain moyen pendant 24 heures ! L’électricité utilisée par les mines d’Ethereum pourrait alimenter 652 669 foyers chaque année. L’exploitation minière d’Ethereum consomme annuellement environ la même quantité d’énergie que le pays de Bolivie. C’est évidemment un problème majeur. La quantité exorbitante d’énergie requise par le protocole de PoW d’Ethereum réduit la rentabilité de l’exploitation minière et a de graves conséquences négatives pour l’environnement et la durabilité du système à long terme.

Les protocoles PoW ont permis la création des premieres blockchain tels que bitcoin, mais demeurent inefficaces. Ils ont également un travers, en effet un acteur disposant de plus de ressources financières serait susceptible de monopoliser le minage d’une blockchain reposant sur un système POW en utilisant de nombreux ordinateur engendrant une centralisation du minage, leur assurant de gagner le block reward a chaque bloc confirmé.

Par exemple, environ 65% de l’extraction de bitcoin est réalisée par 5 groupes miniers qui pourraient théoriquement s’associer pour contrôler plus de 50% du marché. Les mineurs de bitcoin utilisent des circuits intégrés coûteux et spécialisés spécifiques aux applications (ASIC) qui ont conduit à l’industrialisation et à la centralisation partielle du minage de bitcoin.

Comme l’exploitation minière d’Ethereum est généralement effectuée à l’aide d’unités de traitement graphique (GPU) que l’on trouve dans de nombreux ordinateurs domestiques, le risque d’une exploitation minière centralisée n’est pas aussi grand ici que dans le cas de Bitcoin. Cependant, des ASIC ont récemment été mis en place pour Ethereum, et le minage de l’éther est toujours en danger de centralisation et de monopolisation en raison du protocole PoW sur lequel il repose actuellement. Cela a créé une situation dans laquelle Bitcoin, Ethereum et d’autres réseaux blockchains ne sont pas aussi décentralisés qu’ils ne l’étaient initialement prévus, ce qui met en danger leur indépendance et leur utilité. Eth 2.0 est conçu pour faire passer le réseau d’un protocole de preuve de travail à un protocole de proof of stake (PoS) appelé Casper, qui cherche à résoudre ce problème d’efficacité et de durabilité. Cette transition va devenir de plus en plus importante en raison du “difficulty bomb adjustement” qui a été introduit en 2017 par la mise à jour de Byzance. La bombe rendra le minage de l’éther de plus en plus difficile jusqu’à ce qu’il devienne infaisable.

Ce dispositif a été introduit en prévision de la transition de Serenity du PoW au PoS et est une raison supplémentaire pour laquelle la mise à jour est si importante pour la communauté Ethereum.

La dernière grande question qui sera abordée par Eth 2.0 est la rapidité et la facilité d’utilisation. Cette question est liée à celle de la scalabilité, mais pas la même que celle qui sera traitée par le sharding. L’introduction du sharding devrait éliminer le principal goulet d’étranglement en matière de vitesse et de débit des transactions, mais un autre goulet d’étranglement est causé par la machine virtuelle Ethereum (EVM) elle-même.

L’EVM est essentiellement la structure sous-jacente d’Ethereum qui exécute le code et permet au réseau de fonctionner correctement. L’EVM est responsable de l’état interne du réseau Ethereum et de tous ses calculs. L’EVM veille également à l’exactitude des éléments suivants : informations sur les comptes telles que les soldes, le prix actuel du gaz, les adresses et les informations sur les blocs. En outre, elle doit assurer le suivi des éléments suivants :

  • Informations sur les blocs
  • État du stockage
  • État du compte
  • Informations sur l’environnement d’exécution.

La machine virtuelle traite également tous les contrats intelligents d’Ethereum qui sont écrits en Solidity/Vyper et compilés en un bytecode EVM unique. Les contrats sont ensuite exécutés par chaque nœud du réseau.

Comme elle est responsable de nombreux aspects importants du réseau Ethereum, la vitesse à laquelle la machine virtuelle est capable d’exécuter des tâches a une incidence majeure sur la vitesse globale et l’utilisabilité du réseau lui-même. La solution à ce goulot d’étranglement avancée par Eth 2.0 est appelée Ewasm (Ethereum wasm). Wasm est un open standard instruction-set opensource du W3C Community Group qui est actuellement développé par des ingénieurs de Google, Mozilla, Microsoft et Apple. En plus d’augmenter la vitesse et le débit, Ewasm augmentera la sécurité et la facilité d’utilisation du réseau Ethereum, et apportera plusieurs autres avantages.

Objectifs supplémentaires de l’Eth 2.0

Comme nous le savons maintenant, Ethereum 2.0 est conçu pour résoudre les principaux problèmes liés à l’Ethereum actuel. Cependant, l’innovation ne s’arrête pas là. Serenity est également en construction pour satisfaire plusieurs objectifs de conception plus généraux. En raison des nombreux systèmes nouveaux et complexes qui découleront de l’introduction de Casper et Sharding, l’un des principaux objectifs de conception d’Eth 2.0 est de réduire autant que possible la complexité du réseau, même si cela entraîne une certaine perte d’efficacité. Cela est possible parce que l’augmentation massive du débit et de l’efficacité permise par Sharding, Casper et Ewasm compensera une légère réduction de l’efficacité afin d’atténuer la complexité supplémentaire rendue nécessaire par ces mêmes systèmes. Un autre objectif majeur de design est d’utiliser des techniques de cryptographie et de conception qui permettent la participation d’un large ensemble de validateurs, à la fois au total et par transaction. Un troisième objectif dans la même veine est de créer un système qui permette à un ordinateur portable standard de traiter et de valider un shard individuel. Ces deux objectifs visent à garantir que le réseau reste sécurisé et décentralisé.

En plus de résoudre des problèmes spécifiques et d’aborder des préoccupations plus générales, Serenity a deux objectifs de conception à long terme créés en prévision des problèmes potentiels qui pourraient survenir à l’avenir. Le premier est de concevoir la version de manière à ce que le réseau puisse rester en ligne en cas de partie majeure ou si un très grand pourcentage de nœuds se déconnecte simultanément. Dans son intervention à la Devcon 2018, Justin Drake, développeur d’Ethereum, a expliqué comment l’équipe souhaite que Eth 2.0 puisse « survivre à la troisième guerre mondiale » ou à une situation similaire dans laquelle jusqu’à 80 % des nœuds sont mis hors ligne en même temps.⁹ Cela serait également important dans d’autres situations moins extrêmes. Par exemple, une ou plusieurs catastrophes majeures liées au changement climatique pourraient faire disparaître une grande partie des nœuds en quelques heures, ou une grande puissance comme la Chine ou les États-Unis pourrait décider d’interdire Ethereum et d’autres réseaux en chaîne et tenter d’éliminer les nœuds dans leur pays.

L’autre éventualité que prévoit Eth 2.0 est l’avènement de l’informatique quantique : une course technologique est actuellement en cours entre les États-Unis, la Chine et d’autres grandes puissances et entreprises pour être les premiers à inventer un ordinateur quantique de production. À ce stade, la question n’est pas de savoir si, mais quand. Chaque fois qu’ils se présenteront, les ordinateurs quantiques seront exponentiellement plus puissants que les ordinateurs traditionnels les plus avancés. Cela rendra la plupart des systèmes de cybersécurité existants, y compris le cryptage et la technologie blockchain, relativement sans défense et facilement piratables. Il est donc important que les nouveaux et futurs réseaux blockchain fassent tout leur possible (dans les limites de l’informatique binaire traditionnelle) pour se protéger contre l’éventualité des ordinateurs quantiques. L’objectif final de la conception de l’Eth 2.0, tel qu’il est défini dans le rapport Ethereum github, est le suivant « sélectionner tous les composants de manière à ce qu’ils soient sécurisés sur le plan quantique ou qu’ils puissent être facilement échangés contre des homologues sécurisés sur le plan quantique lorsqu’ils sont disponibles ». 

Ethereum 2.0 roadmap

À quoi s’attendre de “ Serenity “

Tout cela est très excitant, mais quand Eth 2.0 sera-t-il réellement mis en ligne ? Malheureusement, la réponse reste…. nous ne savons pas ! Cependant, lors d’une conférence à Devcon 2018, Vitalik a déclaré que la sérénité n’est « vraiment pas si loin ». Il a également expliqué comment « Ethereum 2.0 est … une combinaison d’un ensemble de différentes fonctionnalités dont nous parlons depuis plusieurs années, que nous recherchons depuis plusieurs années, que nous construisons activement depuis plusieurs années et qui sont finalement sur le point de se rassembler en un tout cohérent »  William Suberg semble être d’accord sur le fait que Serenity est dans sa phase finale de développement et de test lorsqu’il parle des « derniers ajustements » avant le « grand lancement ».

Il semble que la phase 0 de l’Eth 2.0 en soit à ses derniers stades de développement et d’essai, mais on ne sait pas encore exactement combien de temps il faudra encore attendre avant sa sortie. Nous savons que Serenity est développé séparément de la chaîne principale actuelle d’Ethereum et qu’il sera, dans un premier temps, parallèle à celle-ci. Par la suite, la chaîne principale actuelle d’Ethereum sera intégrée à la nouvelle, éventuellement sous la forme d’un seul contrat intelligent massif. Nous savons également que lorsque Eth 2.0 sera publié, il sera déployé en quatre étapes successives. La phase 0 comprendra un système de beacon chain PoS. Elle ne prendra pas encore en charge les Dapps, mais jettera les bases des phases suivantes.

La phase 1 prendra en charge les Dapps et introduira les shards sous forme de chaînes de données. Les données du réseau seront divisées en shards, mais l’état du réseau continuera d’être stocké sur l’ancienne chaîne de blocs Ethereum, et ne sera pas encore fragmenté en shard.

La phase 2 sera entièrement fragmentée, permettra l’exécution de l’état et permettra la conclusion de contrats intelligents. À ce stade, Eth 2.0 présentera toutes les principales caractéristiques évoquées ci-dessus.

La phase 3 et les suivantes consisteront en des itérations, des améliorations et des technologies supplémentaires. Une fois chaque phase mise en œuvre, Eth 2.0 devrait présenter les caractéristiques suivantes : blockchain entièrement fragmentée, protocole de consensus de PoS pur, temps de confirmation synchrone plus rapide d’environ 8 à 16 secondes et « finalité économique » pouvant être atteinte en 10 à 20 minutes. ⁴ Vitalik considère que Serenity est « l’ordinateur mondial tel qu’il est vraiment censé être ». J’espère que vous êtes aussi enthousiaste que moi pour la sortie de Eth 2.0.

Merci pour votre lecture ! Nous allons publier plusieurs articles plus spécifiques qui approfondissent les détails du sharding, de Casper et d’Ewasm dans les semaines à venir.