Meetup ConsenSys : présentation d'Ethereum 2.0

Meetup ConsenSys : présentation d'Ethereum 2.0

Etoile Talan

Le mardi 9 octobre 2018, l’équipe Pegasys de ConsenSys tenait un meetup sur Ethereum 2.0. TalanLabs était présent et vous fait un retour sur les annonces de la soirée.

Pourquoi passer à Ethereum 2.0 ?

Pour comprendre pourquoi Ethereum 2.0 est nécessaire, il faut se pencher sur les défauts de l’actuel Mainnet et notamment sur sa courbe d’utilisation des blocs.

Utilisation des blocs
Utilisation des blocs

Depuis 2018, les blocs sont souvent remplis à plus de 85% de leur capacité totale. Les transactions attendant d’être intégrées à un block s’accumulent, le temps d’attente avant validation s’allonge et finalement Ethereum Mainnet arrive à ses limites.

D’un point de vue plus technique, le problème est lié au fait qu’Ethereum est ‘single threaded’, c’est-à-dire que tous les noeuds participant au réseau doivent traiter toutes les transactions, et que l’état de la Blockchain doit être stocké dans tous les noeuds.

L’autre problème majeur d’Ethereum, et de nombreuses autres Blockchains, est la production de tonnes de CO2 due au protocole de minage dit ‘Proof of Work’. Les mineurs doivent résoudre un challenge cryptographique difficile demandant une puissance de calcul conséquente, et donc une consommation d’électricité élevée.

Ethereum 2.0 qu’est-ce que c’est ?

Ethereum 2.0 c’est deux composants principaux ajoutés à Ethereum.

CASPER FFG

CASPER FFG est un protocole de minage de type ‘Proof of Stake’. Les mineurs deviennent des validateurs, et au lieu d’acheter de la puissance de calcul, achètent des Ethers qu’ils bloquent dans un contrat. Les validateurs sont ensuite sélectionnés aléatoirement et amenés à choisir quel bloc ajouter à la Blockchain Ethereum. Si leurs votes sont corrects, ils sont récompensés, sinon ils sont punis et perdent une partie de leurs Ethers bloqués.

Le challenge qu’implique ce protocol de minage repose dans le choix du prochain validateur, qui doit être aléatoire pour éviter les risques de corruption, si le prochain validateur est connu à l’avance par exemple.

Par comparaison, dans un protocole ‘Proof of Work’, les mineurs calculent un hash à l’aide d’un nombre qu’ils choisissent au hasard, et répètent cette opération jusqu’à l’obtention d’un hash vérifiant certaines conditions. L’ajout de ce nombre aléatoire assure l’imprévisibilité du prochain mineur.

En revanche, avec un protocole comme CASPER FFG, le hasard dans la sélection du prochain validateur doit être généré, ce qui est une tâche compliquée.

SHARDING

Le Sharding consiste à séparer les transactions et l’état de la Blockchain en des milliers de Blockchains indépendantes (des galaxies) qui fonctionnent en parallèle et sont capable de fonctionner ensemble quand nécessaire.

En pratique, Ethereum 2.0 est composé de 1024 ‘shards’, ce qui permet un débit 1000 fois supérieur à ce qu’Ethereum est capable de produire actuellement. Chaque ‘shard’ possède un nombre garanti de validateurs. Si le nombre de validateurs est insuffisant, la récompense pour choisir les blocs sera divisée pour inciter les validateurs à voter sur plusieurs ‘shards’.

CASPER FFG et Sharding ont été développés indépendamment mais ont fusionnés en juin 2018 pour former Ethereum 2.0.

AUTRES ÉVOLUTIONS

Ethereum 2.0 est toujours un projet en phase de R&D et bien que CASPER FFG et Sharding en soient les composantes principales, de nombreux autres changements sont aussi prévus dont eWASM.

Actuellement, l’EVM (Ethereum Virtual Machine) est l’environnement d’exécution des smart-contracts, lesquels sont écrits en Solidity et compilés en EVM bytecode. L’EVM a été conçue, entre autre, de sorte que le code soit de petite taille, pour que de très nombreux contrats puissent être stockés sur chaque noeud du réseau, et que l’exécution de code soit déterministe, c’est-à-dire que toutes les actions enregistrées dans la Blockchain ne dépendent pas d’éléments extérieurs.

WASM (Web Assembly) est un standard web pour la construction d’applications de grande performance. eWASM est basé sur WASM, il a été modifié de façon à devenir déterministe, et répondre aux mêmes critères que l’EVM. L’avantage d’eWASM est la possibilité d’écrire des contrats dans des langages plus courants comme le C ou C++, utilisant les performances natives de ces langages.

Le changement vers eWASM permettra donc d’atteindre de meilleures performances d’exécution, en utilisant des langages de programmation plus courants.

ARCHITECTURE

L’architecture d’Ethereum 2.0 est divisée en 4 couches.

Conclusion

Ethereum 2.0 sera complètement différent de sa première version. Les évolutions évoquées devront s’échelonner jusqu’à 2021. La Beacon chain sera développée en 2019, suivie des Shard chains en 2020 et enfin de la couche de VM en 2021. Ce projet est réalisé par une communauté diverse, sans autorité décisionnaire, ce qui est à la fois un challenge et une opportunité.

Etoile Talan
...

Sarah Mauret

Développeur Blockchain & DLT

Commentaires

comments powered by Disqus