2. Ethereum, ether et smart contract

Rappel : Pour profiter pleinement de cette formation, sauvegarder votre progression et obtenir votre diplôme en fin de formation, il est vivement recommandé de vous créer un compte CoinAcademy et de vous y connecter.


Ethereum est un écosystème contrats intelligents (smart contracts) qui permettent l’exécution automatique d’accords entre parties, sans avoir besoin d’un tiers de confiance.

Dans cette partie, nous ferons un rappel sur ce qu’est une crypto monnaie à proprement parler. Ensuite, Nous verrons 3 grands points composant l’architecture du protocole Ethereum et faisant de lui une réelle révolution Dans l’écosystème crypto :

  1. L’ether (ETH) : la crypto monnaie native du protocole Ethereum
  2. Le mécanisme de consensus : l’ensemble de règles permettant à l’ensemble du réseau de se mettre d’accord sur l’état d’Ethereum
  3. Les smarts contracts : permettant de programmer des opérations au sein du protocole

Après cette partie, les principes fondamentaux d’Ethereum n’auront plus de secrets pour vous !

Rappel : qu’est-ce qu’une crypto monnaie ?

Une cryptomonnaie, aussi appelée crypto actif, est une sorte de monnaie numérique décentralisée et sécurisée via la cryptographie [<-Lier la formation Bitcoin ou la cryptographie est expliquée]

Elle repose généralement sur la technologie de la blockchain pour bénéficier de ces caractéristiques.

L’émission ou le contrôle d’une cryptomonnaie n’est la plupart du temps pas détenu par une autorité centrale contrairement aux règles économiques des monnaies fiduciaires, émises par les banques centrales.

Elles sont utilisées pour des transferts de valeurs de pair à pair (d’utilisateur à utilisateur) sans intermédiaire et de manière transparente.

Il existe aujourd’hui des milliers de crypto monnaies différentes avec des utilités propres à chacune, cependant il est important de noter que plupart de ces crypto monnaies sont des copies de Bitcoin, Ethereum ou des applications décentralisées sur Ethereum avec quelques ajustements sur la politique monétaires, un nouveau nom et un nouveau logo et des ajustements sur le mécanisme de consensus.

Par exemple :

La crypto monnaie Dogecoin (DOGE) est un fork de Litecoin (LTC) qui est lui même un fork de Bitcoin (BTC). C’est la même base, leurs différentes ? La masse monétaire et le temps nécessaire entre chaque nouveau blocs sur la blockchain change.

De nombreux protocoles de crypto monnaies comme la BNB Chain (BNB), Cardano (ADA), Polygon (MATIC) ou encore Avalanche (AVAX) se sont fortement inspirés d’Ethereum. Cela ne veut pas dire que ces projets n’ont pas le mérite d’exister, simplement la vision et l’utilité de ces projets ne changent pas de celles d’Ethereum.

L’ether, le carburant d’Ethereum

Qu’est-ce que l’ether et à quoi ça sert ?

Nous l’avons brièvement évoqué dans la partie précédente, Ethereum possède sa propre crypto monnaie native : l’ether (ETH).

En 2014, ce ne sont pas moins de 60 000 000 d’ETH qui ont été vendus, lors d’une prévente, pour une valeur de 18 millions de dollars (à l’époque) et Ethereum a été financé en bitcoins au lancement du projet.

Une levée de fonds en bitcoins plutôt que des dollars ou des euros, plutôt cool non ? 😎

L’ether est le seul moyen de paiement pour payer les frais de transaction du réseau et effectuer des opérations sur les applications décentralisées hébergées sur le protocole Ethereum.

Il est également utilisé comme principale forme de garantie (aussi appelé collatérale) sur les plateformes de prêt de la finance décentralisée (DeFi).

Depuis son passage du Proof of Work au Proof of Stake (en 2022, rappelez-vous) appelé The Merge, l’ether est utilisé au sein d’Ethereum pour la proposition et la validation de nouveaux blocs sur la blockchain d’Ethereum.

On peut, en quelque sorte, dire que c’est l’ether qui tarifie la blockchain Ethereum. C’est pour cela qu’il est intéressant de parler de carburant lorsque vous parlez des ethers : vous payez pour consommer de la puissance de calcul et stocker des données sur la blockchain.

Bien qu’elle évolue continuellement, la quantité d’ether actuellement en circulation, aussi appelé supply max, sur le réseau est d’environ 120 millions d’ETH.

Supply ETH

Comme vous le savez peut-être, Ethereum possède une puissance de calcul définie qui doit être partagée entre tous les utilisateurs qui souhaitent interagir avec le réseau que ce soit pour de simples transactions ou pour interagir avec des smart contracts plus complexes.

Toutes ces interactions doivent avoir un coût, afin d’éviter que des acteurs malveillants ou maladroits ne s’accaparent toute la puissance de calcul du réseau.

Ce coût d’interaction ou de transaction est appelé Frais de gaz (ou gas fees en anglais) et représente le coût à payer pour interagir avec le réseau en fonction de la puissance de calcul nécessaire pour cette interaction et du trafic sur le réseau au moment de cette interaction.

Voyez-y  une sorte de marché aux enchères. Un utilisateur voulant faire passer sa transaction en priorité sur le réseau pourra tout à fait augmenter le prix des frais de gaz qu’il paiera (prime) pour voir le traitement de sa transaction  priorisé.

Néanmoins chaque transaction se verra affecter un montant de frais de base minimum à payer.

C’est en cela que l’ether représente le moteur ou plutôt « l’essence » nécessaire pour faire fonctionner le réseau. Vous trouverez ici un article complet qui revient sur le concept de Frais de gaz que vous pouvez consulter pour approfondir vos connaissances sur le sujet.

Les dénominations de l’ether

Fondamentalement, les frais de gaz sont payés en ether, mais seront exprimés en « Gwei », qui est une dénomination de l’ether.

Dans l’idée 1 Gwei équivaut à 0,00000001 ether (ETH) et permettra, si vos frais de gaz sont de 0,00000001 Ether, d’afficher plus simplement et plus lisiblement 1 Gwei.

Frais de gaz sur Ethereum

Concrètement, gwei signifie « Giga Wei » en référence à Wei Dai, le créateur de b-money (un ancêtre de la crypto monnaie Bitcoin, né en 1998).

1 gwei a donc une valeur égale à 1 000 000 000 de wei, le Wei étant la plus petite unité de l’ether.

Ces deux dénominations représentent les deux plus courantes et utilisées. Cependant il en existe d’autres telles que le « szabo » ou encore le « finney » représentant néanmoins des montants bien plus élevés que le wei ou encore le gwei.

Dénomination ether

Ces principes de dénominations sont des évolutions certaines de celle du dollar et du cent ou encore, plus récemment, du Bitcoin et du Satoshi.

Elles ont été créées dans le but de favoriser les transactions de faibles montants sur le réseau Ethereum qui représentent une majorité mais également pour apporter de la précision dans les paiements.

Création, émission et inflation de la crypto monnaie ETH

Dans l’idée chaque cryptomonnaie est construite avec un modèle économique, aussi appelé tokenomics, bien à elle.

Cette économie de jetons (tokenomics) indique souvent toutes les informations nécessaires sur la récurrence d’émission du token ou sa répartition lors de sa vente privé.

Ethereum token emission

Pour le cas du Bitcoin, seulement 21 millions de bitcoins (BTC) seront possiblement mintable et d’une façon bien définie.

Mint peut être traduit par « créer » ou encore « frappé », signifiant que les tokens sont émis sur la blockchain.

Dans le cas d’Ethereum, aucune limite de jeton n’a été fixée, c’est pourquoi techniquement il peut exister une infinité de coins ether (ETH).

Avant son passage à la preuve d’enjeu (Proof of Stake), de nouveaux ethers étaient créés à chaque nouveau bloc ajouté à la chaine (à l’image de bitcoin) par les mineurs.

La récompense de création de bloc (block reward) ayant évolué au fil du temps, 2 ETH étaient distribués au mineur ayant ajouté le bloc à la chaine. Ce processus en faisait un token inflationniste et donc par définition un token dont la valeur allait tôt ou tard finir par baisser, étant donné que son offre ne faisait qu’augmenter.

Pour tenter de remédier à ce problème d’inflation, les développeurs d’Ethereum ont mis en place un mécanisme de destruction de la monnaie (Burn) lors d’une mise à jour appelée EIP-1559. Cette mise à jour a été implémentée sur Ethereum en août 2021, 1 an avant que le protocole Ethereum migre définitivement sur un mécanisme de consensus en Proof of Stake.

Ce mécanisme consiste, comme son nom l’indique, à Burn (bruler), une certaine quantité de coins pour chaque transaction effectuée sur le réseau.

eip 1559 ethereum

Lorsque les ETH sont brulés, ils sont retirés de la circulation du réseau de manière permanente pour tenter de contrebalancer l’émission de nouveaux coins.

Rappelez-vous lorsque nous parlions de frais de gaz, nous avons parlé de frais de base, qui servent de carburant pour le réseau et de récompense pour les mineurs. Ce sont ces frais de base, fixés par le réseau selon le trafic, qui sont détruits lors du Burn. Il est souvent question de congestion du réseau entraînant des frais de bases élevés.

Malgré cette mise à jour EIP-1559 qui venait réduire la création monétaire, l’inflation en ether n’était que partiellement réduite et n’offrait qu’un sursis au phénomène d’inflation sur le long terme.

Depuis la mise à jour « The Merge » faisant passer Ethereum de Proof of Work à Proof of Stake en septembre 2022, la création monétaire a été énormément réduite.

Avant The Merge, on estime que la masse monétaire en ether augmentait d’environ 3,2~4% par an. Aujourd’hui, la masse monétaire rétrécit car plus le réseau est utilisé, plus il y a de coins brulés à chaque nouvelles transactions. Si les coins brulés sont supérieurs aux nouveaux coins émis à la création de chaque nouveau bloc sur la blockchain, alors les ethers deviennent déflationniste !

eth supply since merge

Depuis la mise à jour en 2022, c’est près de 427,000 ETH qui ont été brûlés soit environ 777 millions de dollars !

Ce modèle lui permet de rendre le token déflationniste et donc de potentiellement augmenter fondamentalement sa rareté et donc sa valeur sur le long terme.

Vous pouvez consulter en temps réel le Burn de coins effectué grâce au site ultrasound.money et le comparer à l’ancien modèle économique d’Etherem en cliquant sur SIMULATE PoW.

Le transfert et l’échange d’ethers

Qu’il s’agisse d’une transaction classique ou d’une interaction plus complexe avec le smart contrat d’une application financière, nous vous recommandons de posséder votre propre wallet.

En effet afin de posséder pleinement vos ethers et de pouvoir en faire ce que bon vous semble sans avoir à faire confiance à qui que ce soit, vous devez posséder un portefeuille non hébergé (non custodial wallet).

Ce wallet vous permettra d’interagir avec tous les utilisateurs et applications décentralisées que vous souhaiterez sans passer par un intermédiaire comme les bourses de crypto centralisées comme Binance ou votre banque.

Dans les différents cas que nous allons vous présenter, il est nécessaire de posséder des coins (ETH dans notre cas) sur un wallet non custodial.

Il existe un grand nombre de wallet permettant le stockage et la sécurisation de vos fonds comme par exemple Metamask ou Trustwallet pour ne citer qu’eux.

custodial et non custodial wallet

Ces wallets ont beau être sécurisés et régulièrement audités contre les failles de sécurité informatique, nous vous recommandons fortement d’acheter un portefeuille physique comme un Ledger ou Trezor afin d’améliorer encore davantage la sécurité de vos crypto monnaies.

En effet, les wallet comme Metamask ou TrustWallet sont executés sur votre ordinateur ou votre téléphone, généralement connectés constamment à Internet. Si votre appareil est piraté, alors le pirate pourrait prendre le controle de votre argent à distance via internet.

En utilisant un hardware wallet comme un Ledger, vous gardez vos fonds hors connexion, il devient donc impossible pour un pirate de vous voler vos crypto monnaies sans accès physiques, chez vous, à votre wallet.

Lorsque vous posséderez votre wallet et vos coins ETH stocké dedans, un nouveau monde s’ouvrira à vous, nous vous expliquerons dans une prochaine partie comment faire ne vous inquiétez pas !

Vous serez en capacité de connecter votre wallet à des applications financières décentralisées pour faire des prêts ou pour générer des rendements avec vos tokens en les prêtant sur ces mêmes plateformes.

Vous pourrez également swaper (échanger) vos jetons via des exchanges décentralisés (DEX) contre d’autres jetons.

Ces autres jetons pourront vous donner accès à d’autres services ou applications de l’écosystème comme des Play to Earn (jeux vidéo onchain permettant de générer des revenus) par exemple ou bien même à de la gouvernance pour que vous puissiez voter pour les futures décisions prises sur votre projet préféré.

Dex Ethereum

Le consensus dans Ethereum

Vous l’aurez compris, le mécanisme de consensus qui permet aux différents acteurs d’être synchronisés sur l’état (en accord) de la chaine et d’assurer sa sécurité n’a pas toujours été le même.

Au départ Ethereum partageait le même mécanisme que celui de Bitcoin à savoir un mécanisme de preuve de travail basé sur de la puissance de calcul. Si vous souhaitez en savoir davantage sur ce mécanisme, nous vous redirigeons vers notre formation Bitcoin.

Pour l’heure, ce qui nous intéresse c’est le nouveau mécanisme qu’Ethereum a adopté depuis sa mise à jour The Merge en septembre 2022.

Avant tout, et contrairement à ce que beaucoup de gens pensaient, le changement de consensus n’a pas pour objectif de réduire directement les frais prohibitifs du réseau et ce même s’il s’agit de l’objectif premier de la mise à jour Ethereum.

En effet, il ne s’agit là que de l’une des grandes étapes permettant plus tard l’adoption du danksharding qui offrira une augmentation des capacités du réseau pour traiter des transactions et des opérations plus complexes avec des smarts contrats, afin de réaliser la vision originale d’Ethereum : proposer un ordinateur mondial décentralisé capable d’exécuter des applications décentralisées pour le monde entier.

The Merge – une mise à jour importante pour Ethereum

Ce passage à la preuve d’enjeu représente un changement tellement fondamental dans la structure du réseau et sa façon de fonctionner qu’il a fallu 5 ans aux équipes du projet pour la mettre en place.

Concrètement, ce mécanisme, au lieu de demander de la puissance de calcul, demande de bloquer (staker) assez d’ethers afin de prétendre à pouvoir participer à la production des nouveaux blocs.

Proof of work et Proof of stake

Cette action fait donc de vous un validateur sachant que ce n’est pas donné à tout le monde, car vous devrez bloquer au minimum 32 ether soit plus de $50.000 !

Il est tout à fait possible pour un utilisateur de posséder plusieurs validateurs. Il devra pour cela réitérer le blocage de 32 ETH pour chaque nouveau validateurs de blocs. Ainsi il maximisera ses chances de créer un nouveau blocs dans la chaîne et donc d’hériter des récompenses.

Néanmoins, si vous ne possédez pas 32 ETH vous pouvez toujours participer à la validation via des pool de validation composés de plusieurs acteurs spécialisés dans la validations de blocs comme LIDO ou RocketPool par exemple.

Après quoi vous aurez une chance d’être tiré au sort parmi les 400 000 validateurs présents sur le réseau. Néanmoins un bloc étant soumis par un validateur choisi au hasard via un algorithme toutes les 12 secondes (temps nécessaire pour la création d’un nouveau bloc) un validateur a donc 7 200 opportunités d’être tiré au sort par jour.

Il est également important de noter que vos chances d’être tiré au sort pour la création de blocs sont proportionnelles au nombre de coins que vous aurez bloqués.

Par ailleurs les récompenses distribuées lors de l’ajout de nouveaux blocs varient en fonction du nombre d’ether engagés sur le réseau pour le consensus et donc du nombre de validateurs total.

Pour faire simple, plus il y aura de validateurs sur le réseau et moins les taux de récompense seront élevés, c’est ainsi que fonctionne l’algorithme de distribution des récompenses au sein du réseau.

Les validateurs sont donc encouragés par le réseau à avoir un comportement actif et bienveillant envers Ethereum grâce aux récompenses obtenues, mais également grâce à des pénalités mineures ou majeures appliquées en cas d’inactivité ou de comportement malveillant.

De plus, une attaque 51% sur ce genre de réseau demanderait non seulement énormément de moyens financiers, mais ferait en plus baisser la valeur monétaire de l’ether dont l’attaquant serait majoritairement propriétaire. Il y a donc plus d’intérêts à maintenir la sécurité du réseau qu’à tenter de le nuire.

Ethereum attaque 51%

Les récompenses et pénalités sont distribuées via un cycle bien défini appelé « Epoch ». Une epoch est composée de 32 slots de 12 secondes chacun soit 6,4 minutes.

Pour ce qui est de la finalité, Ethereum a été confronté à un nouveau trilemme sur lequel il a fallu faire des compromis :

trilemme Ethereum

De par ces compromis entre décentralisation, finalité et frais généraux, Ethereum affiche une finalité des transactions d’environ 12 min, ce qui est plutôt long et des frais relativement élevés.

Cependant, le projet avance beaucoup d’arguments quant aux solutions pour réduire le temps de finalité à un slot soit 12 secondes. Ceci représenterait un pas de géant concernant l’optimisation du réseau, mais cette amélioration de la finalité des transactions ne verra probablement pas le jour avant l’année 2025 voir plus tard.

Les smart contracts, la révolution d’Ethereum

Comme nous vous l’avons expliqué, la grande révolution d’Ethereum réside dans son côté programmable.

En effet le projet apporte avec lui une innovation nommée smart contract (Contrat intelligent en français).

Avant tout nous devons rapidement introduire le concept très simple de « compte » dont la structure d’Ethereum est composé.

Un compte est simplement une entité avec un solde en ethers pouvant soumettre des transactions sur la chaîne. Il en existe deux types, car ces comptes peuvent être contrôlés par des utilisateurs ou bien être déployés en tant que smart contract.

Qu’est-ce qu’un smart contract sur Ethereum ?

Dans l’idée un smart contract est un programme composé de lignes de code, créé pour exécuter des tâches spécifiques sur la blockchain. Il est localisable par une adresse précise sur la blockchain Ethereum.

Comme expliqué plus haut, un smart contrat est un type de compte Ethereum ce qui signifie qu’il possède un solde et peut interagir avec ce solde sur la chaîne de manière automatisée.

Les utilisateurs du réseau peuvent ensuite interagir avec ce contrat en soumettant des transactions répondant aux conditions stipulées dans le contrat.

Comme lorsque les transactions sont finalisées sur la chaîne, les interactions avec le contrat sont définitives et irréversibles.

Concrètement la force d’un contrat intelligent se trouve dans sa programmabilité et sa capacité à remplacer un intermédiaire par des lignes de codes.

fonctionnement Ethereum smart contract

N’importe qui peut rédiger un smart contract et le déployer sur le réseau à condition, bien entendu, de maîtriser son langage de programmation et posséder suffisamment d’ether.

En effet, le déploiement d’un contrat intelligent, nécessite beaucoup plus de frais en ether qu’une transaction lambda.

Sur Ethereum, les smart contracts sont publics, ils peuvent donc être considérés comme des API ouvertes et accessibles. Il est donc tout à fait possible qu’un smart contract interagisse avec d’autres smart contracts dans ses fonctions, ce qui démultiplie de manière considérable toutes les possibilités.

Les smart contracts représentent une avancée majeure pour l’écosystème blockchain mais pourrait également à l’avenir être appliqués au monde réel comme par exemple avec l’automatisation des contrats d’assurance ou encore d’élection présidentielle régis par des règles définies dans un smart contract.

Ethereum smart contract

Solidity, le langage qui fait des miracles

Comme vous vous en doutez probablement, n’importe quel langage de programmation ne peut pas être utilisé pour le développement des smart contracts sur Ethereum.

Ethereum propose une alternative principale, à savoir Solidity, langage largement répandu dans l’écosystème et Vyper.

Ces langages sont considérés comme des langages de haut niveau mais leur syntaxe se rapproche néanmoins de langages très populaires comme Python ou encore Javascript, les rendant ainsi plus accessibles pour les développeurs traditionnels maîtrisant ces langages.

Pour l’heure nous nous concentrerons sur le langage Solidity, car il est le plus courant dans l’écosystème Ethereum.

Il s’agit donc d’un langage orienté objet de haut niveau utilisé pour la création de smart contracts sur Ethereum.

Solidity reste un langage facile à prendre en main pour les raisons suivantes :

  • Étant le plus commun sur la chaîne il existe de nombreux tutoriels pour apprendre à le maîtriser
  • Il y a de bons outils de développement disponibles
  • Le langage possède une vaste communauté de développeurs pouvant vous aider dans votre parcours d’apprentissage ou de création de projets

La sécurité au sein des contrats

Les contrats intelligents peuvent parfois détenir plus d’1 milliard de dollars d’actifs (pour les échangeurs décentralisés par exemple). C’est pourquoi leur sécurité sera l’un des piliers de leur fondement.

Pour ce faire, la grande majorité des acteurs importants souhaitant sécuriser des fonds sur leur contrat passe par des sociétés d’audit.

Les sociétés d’audit sont des sociétés spécialisées dans la sécurité des programmes informatiques. Leur but est de déceler toutes les potentielles failles dans un code informatique avant que celui-ci soit mis en ligne.

audit smart contract

Malgré tout, il ne s’agit pas d’une solution miracle car, non seulement les audits de smart contrat sont onéreux mais en plus passer un audit ne fait que réduire le risque de faille et ne le supprime pas totalement. En effet plusieurs projets, après avoir fait passer leurs smart contracts par plusieurs sociétés d’audit sérieuses, ont néanmoins laissé apparaître des failles leur coûtant souvent très cher.

C’est pourquoi il est important de souligner que la sécurité de cette technologie ne réside pas totalement dans sa vérification mais bien dans sa conception complète. Si vous êtes intéressé, les étapes pour sécuriser au maximum votre smart contract de sa création à son déploiement vous seront données dans ce document.

Pour valider ce chapitre et passer à la suite, cliquez sur « Ce qu’il faut retenir » ci-dessous. Cette étape vous aidera avant de répondre au quiz de cette partie.