Ethereum et les contrats intelligents

Ce qu'est Ethereum, comment y fonctionnent les contrats intelligents, à quoi sert l'ether et quels sont les risques d'un code difficile à modifier.

5 min · 856 motsMis à jour: #bases#ethereum#contrats intelligents

Le Bitcoin a montré qu'il était possible d'envoyer de la valeur sur Internet sans banque intermédiaire. Ethereum a poussé l'idée plus loin : et si une blockchain pouvait exécuter non seulement des paiements, mais n'importe quel programme ? Lancé en 2015, Ethereum est devenu la plateforme de référence des contrats intelligents (smart contracts), des programmes qui vivent sur une blockchain et s'exécutent exactement comme ils ont été écrits.

Qu'est-ce qu'Ethereum

Ethereum est une blockchain publique tenue par de nombreux ordinateurs indépendants dans le monde entier. Comme le Bitcoin, elle conserve un registre partagé des soldes et des transactions. Contrairement au Bitcoin, elle stocke aussi le code et les données des programmes, et chaque nœud peut exécuter ce code et aboutir au même résultat.

La monnaie native d'Ethereum est l'ether (ETH). Elle remplit deux fonctions principales :

  • payer les frais des transactions et de l'exécution des contrats intelligents, ce qu'on appelle le gas
  • sécuriser le réseau grâce au staking, puisqu'Ethereum fonctionne en preuve d'enjeu

Qu'est-ce qu'un contrat intelligent

Un contrat intelligent est un programme déployé sur la blockchain à sa propre adresse. Une fois déployé, n'importe qui peut lui envoyer une transaction pour appeler l'une de ses fonctions. Le contrat suit alors son code : il peut détenir des fonds, les envoyer, enregistrer des données ou appeler d'autres contrats.

Pour se le représenter simplement, pensez à un distributeur automatique. Vous fournissez la bonne entrée, et la machine délivre le résultat prévu à l'avance, sans qu'un vendeur décide s'il veut vous servir. Le mot « contrat » est un peu trompeur : un contrat intelligent n'est pas un accord juridique, seulement du code au comportement prévisible.

Comment ils s'exécutent

Sur Ethereum, les contrats intelligents s'exécutent dans l'Ethereum Virtual Machine (EVM), un environnement standard que chaque nœud met en œuvre. Les développeurs écrivent généralement les contrats dans un langage comme Solidity, puis les compilent en code EVM. Comme chaque nœud exécute le même code avec les mêmes entrées, tous aboutissent au même nouvel état.

Chaque opération dans l'EVM a un coût en gas. Cela protège le réseau contre les programmes qui tourneraient indéfiniment ou le surchargeraient : celui qui lance une transaction paie le calcul qu'elle consomme.

Ce qui les distingue des programmes classiques

  • Transparence : le code du contrat et son activité sont visibles sur la blockchain.
  • Immuabilité : le code déployé ne peut généralement pas être modifié. Certains contrats sont conçus pour être évolutifs, ce qui signifie que quelqu'un a le pouvoir de les changer.
  • Pas d'opérateur central : une fois déployé, un contrat continue de fonctionner tant que le réseau tourne.
  • Composabilité : les contrats peuvent s'appeler les uns les autres, si bien que les développeurs bâtissent de nouveaux services sur ceux qui existent déjà.

Ce que l'on construit avec les contrats intelligents

  • Des jetons : de nombreuses cryptomonnaies et stablecoins sont des contrats intelligents qui suivent des normes communes, comme ERC-20 pour les jetons interchangeables.
  • Des plateformes d'échange décentralisées et des protocoles de prêt, souvent regroupés sous le nom de DeFi.
  • Des NFT : des jetons uniques qui représentent la propriété d'un objet précis, selon des normes comme ERC-721.
  • Des DAO : des organisations dont les membres votent, via des contrats, sur l'utilisation de fonds communs.

Les grandes étapes

Ethereum évolue au fil de mises à jour du réseau adoptées par les opérateurs de nœuds. Quelques-unes des plus importantes :

  • 2015 : lancement du réseau principal (mainnet) d'Ethereum, en preuve de travail.
  • Août 2021 : la mise à jour London introduit l'EIP-1559, qui modifie le fonctionnement des frais et commence à brûler une partie de chaque frais.
  • Septembre 2022 : The Merge fait passer Ethereum de la preuve de travail à la preuve d'enjeu.

Les mises à jour suivantes continuent d'ajuster des détails du réseau, et celles à venir figurent dans le calendrier des événements.

Les risques à comprendre

Le fait que le code s'exécute exactement comme il a été écrit est à la fois une force et un danger.

  • Bugs : si un contrat contient une erreur, des attaquants peuvent l'exploiter, et les fonds volés sont généralement irrécupérables.
  • Clés de mise à jour : si une équipe peut modifier un contrat, les utilisateurs dépendent de son honnêteté et de sa capacité à protéger ses clés.
  • Contrats malveillants : des escrocs déploient des contrats d'apparence légitime qui vident les portefeuilles de quiconque les approuve.
  • Irréversibilité : une transaction envoyée à la mauvaise adresse ou vers un contrat malveillant ne peut pas être annulée.

Un audit réalisé par une société de sécurité réduit le risque sans l'éliminer. Des contrats audités ont eux aussi été piratés.

Passage à l'échelle et Layer 2

Comme chaque nœud exécute chaque transaction, le réseau principal d'Ethereum a une capacité limitée, et les frais augmentent quand la demande est forte. Pour absorber davantage d'activité, de nombreux projets utilisent des réseaux de Layer 2 qui traitent les transactions séparément, puis renvoient les résultats vers Ethereum.

Points clés

  • Ethereum est une blockchain qui exécute des programmes appelés contrats intelligents.
  • L'ether sert à payer le gas et à sécuriser le réseau grâce au staking.
  • Les contrats intelligents sont transparents et difficiles à modifier, ce qui favorise la confiance mais rend les bugs coûteux.
  • Les jetons, la DeFi, les NFT et les DAO reposent tous sur des contrats intelligents.