Encore obscure il y a un an et demi, Ethereum s'est envolée à la deuxième place du marché des crypto-monnaies grâce aux possibilités d'applications décentralisées offertes par ses smart contracts. Explications.

Pour commencer cette série sur les crypto monnaies, nous vous expliquions les grandes lignes du fonctionnement des principaux représentants — bitcoins en tête. Il est maintenant temps de se plonger dans les détails d’une d’entre elles, Ethereum — que nous n’avons pas choisie juste parce que son nom sonne cool. Mais il faut reconnaître qu’elle a un nom plutôt cool.

L’idée d’Ethereum a été avancée fin 2013 par Vitalik Buterin, un informaticien russo-canadien de 19 ans à l’époque. La plateforme, lancée le 30 juillet 2015, connaît un boom de popularité depuis mars 2017, devenant aujourd’hui la deuxième plus grosse crypto monnaie en circulation. La partie monétaire au sens strict d’Ethereum est pour le moment largement inspirée du bitcoin ; mais ce qui rend cette plateforme aussi intéressante, c’est la porte qu’elle ouvre pour le concept de contrat intelligent, en anglais « smart contract ».

Source : coinmarketcap.com

Ceci n’est pas une usine à gaz

La devise de la plateforme Ethereum s’appelle « ether ». En principe, ce n’est pas censé être une monnaie apparentable au bitcoin dans son usage, mais simplement un intermédiaire financier nécessaire au fonctionnement des contrats intelligents. Cela n’empêche bien évidemment pas de spéculer sur l’ether qui, bien qu’étant rentré depuis un mois dans une tendance baissière après la frénésie du printemps, reste à long terme particulièrement prometteur. Contrairement au bitcoin où l’émission de nouvelle monnaie est divisée par deux tous les quatre ans, les nouveaux éthers seront créés de manière constante ad vita æternam.

En plus de l’éther, il existe une autre unité appelée « gaz » qui sert à alimenter les activités de minage, et plus précisément à payer les frais de transaction. Chaque opération de calcul a un coût défini en gaz : par exemple, un hachage SHA3 coûte 20 gaz, et n’importe quelle transaction coûte au minimum 500 gaz. Il existe donc un marché du gaz, en fonction des prix que les utilisateurs d’Ethereum veulent bien payer et de ceux que les mineurs veulent accepter. Le site Etherscan donne des graphes du cours du gaz ; il tourne typiquement autour de 23 milliards de wei l’unité, soit 23 milliardièmes d’éther, ou 100 millions de gaz pour 1 dollar.

CC Ronald Woan

Alors que les bitcoins sont gérés d’une manière analogue à l’argent liquide, le réseau comptant les « pièces » dépensées ou non pour établir la quantité d’argent présente sur une adresse, les transactions Ethereum fonctionnent plutôt comme des virements bancaires. La blockchain (lire notre article) rend ainsi compte de tous les virements d’éthers réalisés, ainsi que de l’état actuel des contrats intelligents de chaque utilisateur.

En deux ans d’existence, Ethereum a déjà réussi à se scinder en deux projets concurrents avec deux monnaies différentes : ETH (Ethereum) et ETC (Ethereum Classic), la première étant dix fois plus répandue que la seconde. Tout remonte au piratage de « la » DAO en juillet 2016 ; nous vous expliquerons ce qu’est une DAO, et les détails de l’histoire dans un prochain article. Imaginez simplement que c’est comme si la faillite d’une banque en Italie avait causé l’éclatement de la zone euro en deux zones distinctes ayant chacune leur propre devise. ETC ayant une influence assez réduite, nous n’en parlerons pas dans la suite de cet article.

Les contrats intelligents : ubérisons Uber

La force du code interne d’Ethereum, par rapport à celui du bitcoin, est qu’il est Turing-complet : capable, avec suffisamment de temps, de tout calculer. Ce code permet d’installer dans chaque nœud du réseau Ethereum une EVM (Ethereum virtual machine), dédiée à faire tourner de façon décentralisée les contrats intelligents de la plateforme.

En termes théoriques, un smart contract est un contrat financier prévu pour s’enclencher automatiquement quand certaines conditions sont remplies, et ce sans tierce personne. Dite comme cela, la notion peut paraître à la fois très bête et très abstraite, mais les applications pratiques sont en fait assez nombreuses et, comme aiment le dire nos amis anglophones, mind-blowing.

Prenez Uber. Quand vous payez votre trajet avec vos euros, l’application en reverse une partie au chauffeur et garde une commission pour Uber. Si un bug vous débite alors que vous avez annulé votre course, ne paye pas le chauffeur, ou autre — c’est le problème d’Uber et cela n’engage pas la stabilité de la zone euro toute entière.

CC Michael Joseph

Par contre, imaginez maintenant une application décentralisée (ÐApp) de VTC, bâtie sur Ethereum via des contrats intelligents. Au lieu de tourner sur les serveurs d’Uber, son cœur serait dispatché sur toutes les EVM du réseau. Quand vous payez votre chauffeur, vos ethers sont transférés directement sur son compte à lui. Pas de commission (au-delà des frais de transaction Ethereum), pas de magouilles, pas de Travis Kalanick. L’intermédiaire n’est pas une entreprise qui souhaite faire de l’argent, mais un véritable nœud insaisissable et virtuel de mise en relation automatisée.

On peut également imaginer une ÐApp de pari sportif qui prélève ou rémunère automatiquement les parieurs en fonction des résultats de leur équipe préférée. Une couche de complexité se rajoute avec l’inclusion d’un oracle, un tiers de confiance qui sort son nez du système Ethereum pour aller chercher l’issue du match ou de la course. Le fait qu’un oracle puisse ou non être réellement décentralisé est sujet à débat.

Ethereum permet un saut conceptuel entre appli traditionnelle et appli décentralisée

Tout comme les crypto monnaies sont des banques dirigées par du logiciel, les contrats intelligents permettent ainsi de bâtir toutes sortes d’entreprises financières et technologiques où les seuls humains sont les clients, les fournisseurs, les actionnaires et les ingénieurs. Cela fait beaucoup de monde, mais le saut conceptuel entre appli traditionnelle et appli décentralisée est bien là. 

Mesures de décentralisation

Ethereum émet un nouveau bloc toutes les 15 secondes environ, contre dix à quarante minutes pour le bitcoin. Plus le temps d’émission de blocs est faible, plus les transactions sont rapides ; mais cela augmente le risque que deux nœuds finissent de miner chacun un bloc en même temps.

Dans ce genre de situation, chaque bloc se trouve accepté par sa portion de réseau — comme si à la banque de l’éther, les employés du deuxième étage ne travaillaient pas avec le même historique de transactions que ceux du troisième étage — et la chaîne de blocs se scinde en deux. Quelques temps plus tard, les blocs d’une des deux branches finissent par être minés plus rapidement que sur l’autre, et la branche la plus longue devient l’histoire officielle — tandis que l’autre tombe dans l’oubli et aura été fabriquée pour rien.

CC Clare Stoker

Pour compenser financièrement les mineurs ayant réalisé la branche dite « orpheline », Ethereum emploie le protocole GHOST (Greedy Heaviest Observed Subtree) : l’histoire officielle des transactions n’est plus la branche la plus longue, mais la branche la plus lourde, tous les orphelins (appelés « oncles » dans Ethereum) rentrant en compte dans le calcul jusqu’à sept blocs de longueur. Le GHOST diminue par ailleurs l’influence des pools, car des mineurs individuels peuvent être rémunérés même si leur travail n’est pas directement utilisé.

Passage au proof-of-stake

Dans notre guide général des crypto monnaies, nous vous avions expliqué le système de proof-of-work consistant à miner la blockchain. C’est un procédé particulièrement coûteux en énergie et environnementalement peu recommandable. L’algorithme PoW d’Ethereum, Ethash, est par ailleurs calibré pour favoriser le minage par GPU, faisant grimper le prix des cartes graphiques au grand dam des gamers (quand les constructeurs ne font pas eux-mêmes des modèles dédiés…). Un passage à un système de proof-of-stake est donc envisagé.

Pour reprendre la métaphore de la banque, avec un protocole de PoS, les employés n’auraient pas à rentrer en compétition pour gagner le droit de créer (« forger ») le nouveau bloc. L’heureux élu serait choisi de manière pseudo-aléatoire en fonction de la taille de son compte en banque (« stake »), les plus riches ayant le plus de chances d’être désignés. Dans ce système, les employés ne sont pas rémunérés par la banque, qui n’émet d’ailleurs généralement plus jamais de nouvelle monnaie après sa création ; ils n’empochent que les frais de transaction des blocs qu’ils forgent.

CC Hans Splinter

Donner la priorité aux plus riches peut sembler absurde, mais cela s’explique très logiquement : dans un monde de PoW, seuls les plus aisés peuvent s’offrir la puissance de calcul nécessaire au minage à grande échelle. Autant sauter directement l’étape de l’achat des GPU et privilégier ceux qui auraient de toutes façons remporté la course au minage. Un des principaux défauts du PoS est le problème du « nothing at stake » : rien n’empêche un nœud d’aller confirmer deux versions différentes de la blockchain si ça l’amuse.

Ethereum compte résoudre le souci avec un protocole nommé Casper, surnommé « le gentil fantôme » du fait de similitudes avec le code de GHOST. Le principe général est le suivant : on fait passer entre les nœuds un paquet de pages, chacune d’entre elles étant candidate à l’ajout dans le registre. Chaque nœud doit parier de l’argent sur une des pages ; et si c’est la page sur laquelle le plus de monde a parié, la mise est remportée. Sinon, elle est perdue. On comprend que dans ces circonstances, tout le monde aura intérêt à se mettre vite d’accord pour parier sur une seule et même version à intégrer dans le registre.

Nous vous avions dit que les contrats intelligents permettaient la création de firmes décentralisées. Ethereum servant de marché financier à ces entités, vous pouvez devenir trader à la Bourse de l’éther presque comme vous le feriez à Wall Street avec des entreprises traditionnelles. C’est le sujet du prochain article.

Partager sur les réseaux sociaux