Le protocole Ethereum

Le protocole Ethereum

Ethereum est un protocole créé par Vitalik Buterin en 2013, et qui a pour but de décentraliser les applications grâce aux smart contracts.

Fonctionnement d’Ethereum

Pour opérer, Ethereum s’est inspiré du fonctionnement de Bitcoin et du design de sa blockchain, en y apportant les modifications nécessaires au fonctionnement d’applications plus complexes.

La blockchain Ethereum est relativement similaire à celle de Bitcoin dans le sens où elle permet de stocker l’historique des transactions ayant eu lieu sur le réseau. Cependant, contrairement à Bitcoin où les nœuds complets stockent l’ensemble des transactions afin de recalculer le solde de chaque compte, les nœuds d’Ethereum stockent l’état des comptes (le solde de chaque compte, ainsi que le code des smart contracts et l’endroit où ces derniers sont stockés).

Pour faire simple, la gestion de la blockchain Ethereum fonctionne de manière similaire à celle des comptes en banques traditionnels où chaque adresse représente le compte d’un utilisateur, et la blockchain stocke le solde de chaque compte.

Les smart contracts Ethereum sont des programmes informatiques contenant un ensemble de règles régissant des comportements qui mettent à jour la blockchain, lorsque certaines conditions sont réunies. Ces contrats sont écrits en utilisant un langage de programmation spécialement conçu pour Ethereum appelé Solidity.

Une fois ces smart contracts écrits, ils sont déployés sur le réseau Ethereum qui va s’occuper de les stocker et de les exécuter. Comme vu précédemment, le code des smart contracts est stocké dans la blockchain, cependant leur exécution va se dérouler dans l’EVM (Ethereum Virtual Machine).

L’EVM est un environnement isolé du réseau qui permet d’interpréter le code Solidity précédemment compilé. Cet environnement existe grâce aux mineurs du réseau Ethereum, qui en plus de valider les transactions dans le réseau, vont exécuter le code des smart contracts et effectuer les modifications résultant de cette exécution dans la blockchain, pour être récompensés en ethers.

Comme toute blockchain, Ethereum a besoin d’un algorithme de consensus assurant que l’ensemble des acteurs du réseau s’accorde sur une unique version des données de la blockchain à chaque instant. Le mécanisme de consensus utilisé est le même que Bitcoin, à savoir le Proof of Work (couramment abrégé POW).

Dans ce processus, les mineurs dont nous avons parlé précédemment vont avoir la tâche de valider les nouvelles transactions qui apparaissent dans le réseau et de les propager à travers le réseau. Pour ce faire, ils mettent à disposition une importante puissance de calcul afin d’effectuer les calculs mathématiques nécessaires à la validation des transactions.

Problèmes d’Ethereum

Après plusieurs années d’existence, les limites du modèle et de l’architecture d’Ethereum se font ressentir. De nouvelles problématiques ont vu le jour et le réseau en l’état n’est pas en mesure d’y répondre.

Le mécanisme de consensus du POW pose différents problèmes. Le premier concerne la consommation électrique déraisonnable de ce procédé, et qui représente le principal argument des détracteurs de la technologie blockchain.

Le second problème concerne la scalabilité (mise à l’échelle) du réseau. En l’état, le réseau Ethereum n’est capable de traiter qu’une quinzaine de transactions par seconde, bien loin des 24 000 transactions par seconde théoriques que peut traiter le réseau VISA. Le peu de transactions simultanées possible a causé de nombreuses fois des encombrements du réseau, entraînant une augmentation des frais de transactions ainsi que du temps de traitement de celles-ci.

Afin d’adresser ces problèmes, la communauté de développeurs d’Ethereum a imaginé différentes solutions.

Le problème de la consommation électrique sera résolu lors de la transition de consensus du Proof of Work au Proof of Stake (en abrégé PoS) nettement moins énergivore. En plus, de résoudre le problème de consommation électrique, le PoS présente de meilleures performances que le PoW en termes de transactions par seconde. Le PoS qui sera appliqué à Ethereum est connu sous le nom de Casper.

Le passage du PoW au PoS ne sera cependant pas suffisant pour atteindre les performances des réseaux centralisés comme celui de VISA. Les développeurs ont alors imaginé d’autres solutions dont les deux plus importantes sont le sharding et Plasma.

D’un côté, le sharding, la solution on-chain qui vise à diviser le processus de validation des transactions en sous-réseaux de nœuds validateurs. Ainsi, les transactions n’auront plus à être validées par l’ensemble du réseau, mais seulement par un shard, qui une fois des transactions validées pourra transmettre l’état aux autres shards. Cela aura comme effet de réduire les temps de latence dans la propagation des transactions au sein du réseau, ainsi que d’augmenter le nombre de transactions par seconde qu’il peut traiter.

De l’autre côté, Plasma, la solution off-chain dite de niveau 2, car construite au-dessus de la chaîne principale, repose sur le concept de sidechain. Ces blockchains filles de la chaîne Ethereum principale pourront opérer de manière autonome et valider les transactions internes à leur réseau propre. Ces dernières ne transmettront pas l’ensemble des transactions à la chaîne mère, mais seulement l’état général de leur chaîne. De ce fait, la chaîne principale aura nettement moins de transactions à traiter qu’auparavant, car elle aura délégué le travail aux sous-chaînes. C’est très semblable au Lightning Network de Bitcoin.

Évolution du protocole

La mise en place de l’ensemble de ces améliorations s’effectuera de manière incrémentale à travers un ensemble de mises à jour dont les dates ne sont pas définies de manière fixe.

Celles-ci seront déployées à travers un processus présenté par Vitalik Buterin et appelé Ethereum Serenity, qui effectuera la transition entre Ethereum 1.0 et Ethereum 2.0. Même si les dates ne sont pas clairement définies, l’entreprise Consensys a réalisé une mise à jour de la roadmap d’Ethereum au mois de mai 2019 présentant des horizons possibles pour le déploiement de chaque mise à jour.

La route vers Ethereum 2.0 est encore longue et les innovations à venir nombreuses. Il n’est pas rare de voir des mises à jour reportées suite à des audits mettant en évidence des failles dans le protocole. Cependant, il semble raisonnable d’affirmer qu’Ethereum aura un avenir certain une fois ces mises à jour déployées, car le protocole répondra aux exigences grandissantes de l’industrie.

via BitConseil https://bitconseil.fr
link : https://bitconseil.fr/protocole-ethereum/
September 3, 2019 at 02:20PM

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

Laisser un commentaire

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