Ethereum est un protocole crypto-économique qui fait fonctionner un « ordinateur mondial décentralisé », basé sur un réseau pair-à-pair de nœuds qui communiquent et traitent les opérations. Le système possède un état unique accessible à tous qui est mis à jour par l'intermédiaire d'une chaîne de blocs. Les programmes informatiques immuables qui sont exécutés sur Ethereum sont appelés contrats autonomes, ou smart contracts.
L'éther est le nom du jeton natif qui sous-tend le système Ethereum. En effet, contrairement au bitcoin, la vocation principale de ce jeton n'est pas de devenir une monnaie, mais bien de servir de carburant pour utiliser la plateforme. Les validateurs (les mineurs) sont récompensés par une création de nouveaux éthers et par les frais de transaction. Puisqu'un bloc est trouvé toutes les 15 secondes en moyenne, et qu'actuellement 2 éthers sont créés à chaque bloc, le taux annuel de création d'éther est d'environ 4 %.
Ethereum est aujourd'hui sécurisé par un mécanisme de preuve de travail incitant les mineurs à utiliser leur puissance de calcul pour vérifier l'état du système. L'algorithme de preuve de travail utilisé est Ethash qui, en nécessitant de gérer une lourde mémoire, favorise le minage par carte graphique (GPU) plutôt que par circuit intégré spécialisé (ASIC). Cependant, il est prévu que le protocole s'oriente à terme vers un mécanisme de preuve d'enjeu appelé Casper, qui laisserait les détenteurs d'éthers forger les blocs de la chaîne.
Ethereum a été créé par le russo-canadien Vitalik Buterin, un bitcoineur de la première heure désireux d'étendre l'aspect programmable de Bitcoin. Le lancement de la chaîne d'Ethereum a eu lieu le 30 juillet 2015 à la suite d'une prévente d'éthers réalisée sur la chaîne de blocs de Bitcoin en 2014. Cette ICO a permis de récolter 31 529 bitcoins (qui valaient plus de 15 millions de dollars à l'époque) pour plus de 60 millions d'éthers vendus. Si on rajoute les fonds réservés pour le développement, ce sont 72 millions de jetons qui ont été préminés. La masse totale en circulation s'élève de nos jours à plus de 105 millions d'éthers.
Pour marcher, Ethereum utilise une machine virtuelle (souvent abrégée en EVM pour Ethereum Virtual Machine) qui fonctionne en simultané sur chacun des nœuds du réseau. Cette machine permet le déploiement et l'exécution des contrats autonomes qui modifient l'état global du système. Elle est quasi Turing-complète dans le sens où elle permet de programmer des boucles et autorise la récursion. Les contrats autonomes sont généralement écrits dans des langages de haut niveau comme Solidity ou Vyper, avant d'être compilés en « code octal » (bytecode) et d'être interprétés en tant que tel par la machine virtuelle.
Les possibilités sont nombreuses et les contrats exécutés sur la machine virtuelle peuvent prendre des formes variées. Le cas d'usage le plus répandu est sans doute aujourd'hui la création de jetons secondaires programmables respectant le standard ERC-20 : les créateurs de ces jetons secondaires peuvent ainsi bénéficier de l'infrastructure d'Ethereum tout en étant libres de déterminer comment leurs jetons doivent être utilisés et ce qu'ils peuvent permettre. Les contrats autonomes forment les éléments centraux des applications décentralisées (ou DApps pour decentralized applications).
Pour éviter que les contrats autonomes ne tournent à l'infini, la machine vituelle d'Ethereum possède un système spécifique faisant intervenir ce qu'on appelle le gaz, ou gas en anglais. Le gaz est une unité virtuelle en charge de mesurer les ressources de calcul et de stockage requises pour réaliser des actions. Il possède un rôle double :
- Servir de tampon entre le prix volatil de l'éther et la récompense des validateurs ;
- Défendre le système contre les attaques par déni de service (DoS).
Dans Ethereum, chaque opération possède un coût en gaz : une addition coûte 3 gaz, une multiplication 5 gaz, etc. Les transferts simples d'éther d'un compte à un autre ont un coût fixe de 21 000 gaz.
Le gaz a également un prix en éthers qui varie en fonction de l'utilisation du réseau. Les frais de transaction sont payés par l'intermédiaire du gaz aux validateurs. Ceux-là sont calculés par la formule :
frais en éthers = coût en gaz × prix du gaz
Le gaz est virtuel et est acheté et revendu au moment de l'exécution : il n'est donc pas possible d'en détenir. C'est donc l'éther qui constitue le réel carburant d'Ethereum.
Le gaz est également utilisé pour restreindre la quantité d'opérations réalisables par Ethereum et permettre au réseau de rester décentralisé. Chaque bloc a en effet une limite de gaz bien définie : actuellement cette limite est de 8 millions de gaz par bloc, soit l'équivalent de 25 transactions simples par seconde.
Référence
Andreas Antonopoulos, Mastering Ethereum, novembre 2018.
0 Comments