Applications décentralisées : le pouvoir de la blockchain Ethereum
LE POUVOIR DE LA BLOCKCHAIN ETHEREUM
« ETHEREUM EST NÉ D’UN MOUVEMENT POST- BITCOIN QUI S’EST GÉNÉRALISÉ, EN PARALLÈLE D’UN CERTAIN WEB DÉCENTRALISÉ » Simon Polrot cofondateur de Variabl. io
Ethereum n’est pas Bitcoin. Et il y a des raisons pour cela : créé par Vitalik Buterin, ce réseau apporte d’autres fonctionnalités, présente différentes spécificités, mais se distingue aussi par son mode de gouvernance. Mais elle aussi a subit un hard fork en octobre 2016, conduisant à la scission entre les cybermonnaies. On trouve aujourd’hui les populaires Ether ( ETH) ainsi que les Ether Classic ( ETC). Pour éviter qu’un tel scénario se reproduise, son créateur et « lead developer » a eu une idée afin d’encourager la communauté à aller dans son sens : baisser la difficulté de minage. Ce qui revient à augmenter la récompense pour les mineurs. Autrement dit : séduire les gens en flattant leur portefeuille ! Quoi qu’il en soit, Ethereum est surtout un système basé sur une blockchain, à la différence – avec Bitcoin – qu’elle propose l’utilisation de ce qu’on appelle les « smart contracts » ; qui en réalité sont des applications informatiques qui n’ont pas grand- chose « d’intelligent » . « Ethereum est une blockchain qui repose sur trois piliers : un réseau opérateur, un registre des transactions et une cybermonnaie » , explique Jérôme de Tichey, manager de l’équipe Blockchain du Lab EY. Sa particularité étant que chaque noeud du réseau comporte une machine virtuelle appelée EVM pour « Ethereum Virtual Machine » . Concrètement, alors que le Bitcoin se cantonne à des échanges entre plusieurs adresses, sur Ethereum ces adresses peuvent en fait prendre la forme de « smart contracts » qui ne sont, ni plus ni moins, que du code informatique déployé dans la blockchain. « Il est donc possible d’écrire une fonction que n’importe qui peut appeler ou non par exemple » , précise- t- il. C’est ce principe de contrat intelligent qui est au coeur du principe des applications décentralisées. Comme le Bitcoin, qui a émergé au moment de la crise économique en 2007, a souhaité devenir une monnaie alternative, Ethereum s’inscrit « dans un mouvement de prise de conscience d’une grosse centralisation de l’information sur Internet qui n’est pas souhaitable sur le long terme. C’était une réflexion globale et une réaction aux conséquences de la mondialisation et de la concentration autour de certains acteurs, que ce soit Google ou les banques » , analyse quant à lui Simon Polrot, ex- avocat et cofondateur de Variabl. io. « Ethereum est donc né d’un mouvement post- Bitcoin qui s’est généralisé, en parallèle d’un certain Web décentralisé, et qui n’est pas dépendant de serveurs centraux. »
L’essence d’Ethereum : les contrats intelligents
Voyez les contrats intelligents comme des contrats tout court, mais immuables. C’est- à- dire que ce qui est écrit dans le contrat ne pourra plus être changé ; éventuellement mis à jour, seulement. Par contrat, on peut aussi comprendre « application » que ce soit d’un point de vue stockage ou exécution. « Ce qui signifie qu’une application s’exécute simultanément sur tous les noeuds » , précise Renaud Lifchitz, qui ajoute une notion très importante : Ethereum est un réseau décentralisé et non pas distribué, notamment dans le sens où il n’est pas question de faire du calcul parallèle. « L’application tourne sur tous les noeuds du réseau, avec une réplication du calcul. Sans compter que Ethereum n’est pas fait pour héberger de la donnée en grosse quantité. Pour cela, on utilise plutôt des réseaux auxiliaires, hors chaîne » , explique- t- il encore. La blockchain Ethereum est aussi vivante. Son nombre de noeuds ( ndlr : un ordinateur qui fait fonctionner Ethereum) fluctue en permanence, en fonction du nombre de personnes qui mettent des noeuds à disposition. On compte environ 30 000 noeuds sur le réseau actuellement ; le site https:// ethernodes. org donne une approximation du nombre de noeuds. Autre particularité d’Ethereum : il existe plusieurs implémentations dans huit langages ( Go, Rust, C++, Python, Javascript, Java, Ruby et Haskell), permettant in fine de vérifier que le protocole est vertueux. Par ailleurs, les développeurs de contrats intelligents doivent se frotter à un nouveau langage hybride baptisé Solidity ( https:// solidity. readthedocs. io). D’une syntaxe proche de celle du Javascript, il est donc utilisé, après compilation, pour faire fonctionner les applications dans les EVM.
Quel intérêt pour les applications décentralisées ?
Vous l’aurez compris : avec les contrats intelligents, c’est tout un paradigme informatique qui est ébranlé, une notion même du fonctionnement de l’application qui est à revoir. Tout d’abord vis- à- vis du stockage, car il est possible d’héberger du contenu sans avoir recours à un traditionnel serveur web. L’avantage du stockage décentralisé étant que le contenu est déterminé par un hash dit « location independant » qui désigne la ressource même si elle change physiquement de serveur de stockage. Ainsi, le hash reste le même, contrairement à ce qui se passe classiquement sur Internet par exemple. Une application décentralisée – ou « dApp » – ( prononcez diApp), est donc schématiquement un logiciel déployé dans un réseau décentralisé. On peut lister certains de ses avantages en commençant par l’autorisation, c’est- à- dire la capacité de prouver l’existence d’un fichier à une date et donc de laisser une trace, le « time stamper » . Il représente la fonction primaire de la blockchain. Autres avantages : la traçabilité et la transparence des valeurs échangées. Le système blockchain en lui- même résiste par nature à la censure, dans le sens où il n’y a pas de downtime et où une attaque de type DDoS est très – ou trop – improbable. Il n’est donc pas possible de falsifier quoi que ce soit. « La chaîne devient un registre de référence pour chacune des parties prenantes avec des droits en lecture/ écriture » , résume Jérôme de Tichey. C’est notamment pour cela que les applications en rapport avec les chaînes d’approvisionnement sont extrêmement intéressantes pour les entreprises. Il existe par exemple déjà des cas sur des bouteilles de vin de luxe. « Bien que le système n’empêche pas la fraude, mais la réduit considérablement » , ajoute- t- il. Enfin, Ethereum possède aussi l’avantage de pouvoir être utilisé en tant que processus de paiement. Il est possible
« LE SYSTÈME DES SMART CONTRACTS N’EMPÊCHE PAS LA FRAUDE, MAIS LA RÉDUIT CONSIDÉRABLEMENT » Jérôme de Tichey manager équipe Blockchain du Lab EY
de travailler à plusieurs sur des API avec une source de données commune, la blockchain jouant le rôle de contrat entre les différents acteurs. S’il y a beaucoup d’avantages, applicables dans de nombreux cas de figure, il existe aussi certains inconvénients. Comme expliqué précédemment, il n’y a donc aucun frais d’hébergement, et donc pas de support et de maintenance. Par ailleurs, imaginons utiliser Ethereum dans le cadre d’une élection par exemple : cela garantira que le contrat sera le même pour tous et que personne ne pourra le changer. C’est un avantage et un inconvénient, car « lorsqu’un smart contract est déployé, soit on le suicide, soit on le laisse tourner. Une V2 de ce même smart contract aura une adresse différente » , rappelle Renaud Lifchitz. Ces avantages et inconvénients ont déjà donnés beaucoup d’idées, comme on peut le voir chez AXA ( voir encadré). Sans compter qu’il faut ajouter à tout cela une dernière notion à Ethereum : les oracles. C’est en fait un programme informatique qui va faire le pont entre la blockchain et Internet. Car n’oublions pas que les contrats intelligents fonctionnant dans des machines virtuelles, ils ne peuvent pas accéder au Web. Tout fonctionne en circuit fermé. ❍