12 questions pour comprendre Ethereum

Ethereum est la deuxième blockchain la plus connuEthereum blokchaine après le bitcoin. Sa nouveauté réside dans la possibilité d’intégrer sur la blockchain un morceau de code informatique, un smart contract  ou contrat intelligent. Cela permet d’écrire des clauses sur la blockchain, qui sont programmées pour exécuter des actions spécifiques.

Pour bien comprendre cette série d’articles, il est conseillé de commencer par l’article « la blockchain en 10 questions« 

Qu’est-ce qu’ethereum ?

Le concept d’ethereum a été imaginé par Vitalik Buterin dans un livre blanc fin 2013. Ce concept a été approfondi par le Gavin Wood en avril 2014. Une opération de crowfounding a eu lieu à l’été 2014, et la blockchain d’Ethereum a été lancée le 30 juillet 2015.

Pour écrire dans la blockchain, Ethereum comprend notamment deux langages de programmation complet : « Solidity » qui est proche de Javascript et « Serpent » qui est proche du Python. Ces langages permettent de développer des applications exécutées directement sur les 6000 ordinateurs de la blockchain Ethereum, sans devoir compter sur un serveur externe. C’est comme un gigantesque «ordinateur mondial».

Cela est possible car Ethereum comprend un environnement d’exécution, appelé l’Ethereum Virtual Machine (EVM), qui exécute le contrat intelligent (smart contract) sur les ordinateurs du réseau. En complément, Ethereum comprend:

– un partage de fichiers Peer-to-Peer, similaire à BitTorrent, appelé Swarm.
– un protocole de messagerie crypté appelé Whisper qui permet aux nœuds de s’envoyer des messages directement les uns aux autres, de manière sécurisée.

Comment sont générés les éthers et qu’est ce que le gaz ?

Contrairement à la création de bitcoin qui diminue de moitié tous les 4 ans, la création d’ethers est constante chaque année (72 millions d’ether ont été émis lors de la création et ensuite 18 millions par an). Le protocole prévoit que celui qui trouve un bloc valide reçoit automatiquement cinq ethers (soit 3000 dollars au cours de 2017) – ce montant sera bientôt abaissé à 3 ethers. Les mineurs reçoivent aussi le gaz des transactions incluses dans le bloc (de l’ordre de 0,033 ETH ).

Le coût de chaque opération effectuée par les ordinateurs de la blockchain Ethereum est évalué en unité de « gaz » (comme le carburant que vous mettez dans votre voiture). Le gaz permet de rémunérer les ordinateurs participant au réseau.

Le montant de gaz dépend de la complexité de l’opération réalisée : une transaction coûte 21 000 gaz, la création d’un contrat 32 000 gaz. Le prix moyen du gaz est variable dans le temps; il est en ce moment de 2 Gwei (5 Gwei pour une transaction rapide).

Pourquoi avoir créé le gaz en plus de l’ether? Cela a permis de décorréler le prix des transactions sur la blockchain de l’évolution du cours de l’ether (et heureusement au vu de la spéculation constatée ces dernières années!).

Combien coûte une transaction ?

Un utilisateur qui souhaite exécuter une transaction définit le prix en gaz qu’il souhaite payer. Les mineurs ont le choix d’exécuter ou non la transaction et d’encaisser le gaz.

En pratique, toutes les transactions finissent aujourd’hui par être exécutées. Néanmoins, le délai qui va s’écouler entre l’envoi de la transaction et son minage dans un bloc dépendra du prix que l’utilisateur a fixé.

Le gaz est aussi nécessaire pour payer le stockage des données. Pour limiter le volume de  données stockées sur les 6000 ordinateurs de la blockchain, les utilisateurs d’Ethereum sont fortement incités à limiter la quantité de données stockées.

Qu’est ce qu’un oncle?

Certains blocs sont minés un peu en retard et ne font pas partie de la blockchain principale. Dans Bitcoin, ils sont appelés «orphelins» et sont entièrement rejetés, mais dans Ethereum, ils sont appelés «oncles» et peuvent être référencés par des blocs plus récents.

Environ 500 oncles sont créés par jour. Le mineur de l’oncle récupère 7 / 8ème de la récompense pour miner un bloc (soit environ 4,375 ETH).

Cette récompense incite les mineurs à miner même s’il y a de fortes chances de créer un bloc qui n’est pas dans la chaîne principale (la grande vitesse de création de la blockchain Ethereum entraîne plus d’oncles). Un mineur qui référence un oncle obtient environ 0,15 ETH par oncle (maximum 2 oncles).

Qui gouverne Ethereum?

La Fondation Ethereum a pour mission de faire la recherche fondamentale sur la technologie et la mise en œuvre des grands progrès techniques à venir.

Comme pour le bitcoin, les seules personnes qui peuvent pousser des évolutions du protocole de la blockchain sont les mineurs. La fondation n’a pas de pouvoir face à une volonté de changement.

La standardisation proposée par Ethereum a permis le développement rapide d’un très large écosystème d’applications. Ethereum s’apparente aujourd’hui à un plate forme de développement pour développeurs.

Avant sa création, chaque service, chaque projet devait réinventer sa propre blockchain, ce qui a d’ailleurs provoqué des erreurs et des incompatibilités. Avec le standard proposé par Ethereum, une multitude d’applications ont pu être déployées facilement.

Que sont les jetons (tokens) ?

La plupart de ces applications choisissent de créer des jetons (tokens), qui permettent aux machines d’échanger de la valeur et des données.

Il existe différents types de jetons sur Ethereum :

  • applicatifs, ayant pour but d’être utilisé dans une application décentralisée. Exemple : un jeton permettant de payer de la puissance de calcul comme celui de Golem.
  • de réputation, et permettant donc de mesurer la fiabilité d’un utilisateur (plus l’utilisateur a reçu de jetons, plus il est fiable). Exemple : les tokens REP d’Augur.
  • de vote, le jeton représentant alors une voix pouvant être utilisée dans un contrat particulier de vote. Exemple : les tokens de The DAO comprenaient un droit de vote.
  • de traçabilité, le jeton représentant alors un actif réel dont le transfert entre ses propriétaires est matérialisé par un transfert du token.
  • donnant droit à un dividende d’un projet à intervalle régulier.
  • représentant des points de fidélité, le jeton est alors fourni à un client d’un service à chaque utilisation, il peut ensuite être utilisé en paiement.
  • représentant une valeur spécifique, correspondant par exemple à de l’or. C’est le jeton de Digix.
  • représentant un statut. Un token peut également être distribué aux membres d’une organisation ou aux participants à un événement comme preuve de leur statut particulier.

A terme, les développeurs pensent que les jetons pourraient permettre de payer les infrastructures des grands services offerts par les GAFA (alors que ce coût supporté par les GAFA est aujourd’hui payé principalement par les données des utilisateurs).

Un point très très important à comprendre est que les jetons ne sont pas des actions. Beaucoup de gens font la confusion.

Pourquoi observe t-on une telle multitude de jetons ?

La création de jetons permet aux développeurs d’applications de séparer la gouvernance de leurs propres communautés de la gouvernance de la blockchain Ethereum.

Par exemple, Ethereum pourrait vouloir prendre des décisions de politique monétaire comme « faisons 1% d’inflation pour soutenir le développement en cours du protocole Ethereum. » Un jeton construit sur Ethereum pourrait vouloir faire la même chose ou pas et le faire indépendamment.

Un enjeu pour le futur est que les jetons gardent une valeur stable dans le temps.  Pourquoi utiliser aujourd’hui vos jetons pour payer des services si leur valeur augmente de 20 % demain ? C’est loin d’être le cas aujourd’hui au vu de la spéculation constatée.

Qu’est ce qu’une Initial coin offering (ICO) ?

A mi-chemin entre les introductions en bourse (IPO) et le financement participatif (crowdfunding), une offre initiale de jeton ou Initial Coin offering (ICO) consiste en une levée de fonds auprès d’une multitude d’internautes via l’émission de jetons (« tokens »). C’est avec cette méthode qu’Ethereum a levé plus de 18 millions de dollars à son lancement.

Le montant acquis lors d’une ICO se situe généralement entre 10 et 20 millions de dollars. Les ICO sont généralement limitées dans le temps et sur la quantité de jetons émis, ce qui génère une frénésie d’investissement.

La plupart des groupes qui ont recueilli des fonds grâce à une ICO ont créé une entité pour gérer les fonds recueillis, généralement sous la forme de fondation suisse, dont les règles de gouvernance fixent la distribution des fonds levés.

Pourquoi faut il être prudent?

Cet écosystème est encore très jeune. Des abus ont été constatés. Certains types de jetons n’ont pas de sens. Les garanties sont souvent très faibles : certaines startup ont fait une levée de fonds avec un simple « papier blanc » sur leur site internet.

Pour chaque application qui s‘avérera une pépite, il y aura 3 succès mineurs et 100 échecs. Les investisseurs et spéculateurs sur ce marché doivent donc s’attendre à un nombre très important d’échecs.

Actuellement, les ICO ne sont absolument pas réglementées par une autorité de contrôle des marchés financiers, contrairement aux IPO. La question qui agite les juristes est de savoir si les jetons seront considérés comme un titre en vertu des lois américaines sur les valeurs mobilières, en cas de contentieux.

Lorsque le jeton permet de reverser une partie des bénéfices de la start up, il ressemble à un titre. Lorsqu’il permet d’utiliser un service sur un réseau, c’est moins le cas. Un autre facteur qui sera regardé par les autorités est comment la publicité sur le jeton a été faite.

Qu’est ce qu’un oracle ?

L’exécution des contrats intelligents d’Ethereum peut nécessiter de faire appel à une information extérieure, fourni par un tiers appelée oracle. Cette information extérieure peut venir de différentes sources :

  • Une base de données, par exemple pour connaître un retard d’avion ou la côte d’une action. Le smart contract traduit en code les engagements de type si plus de x heures de retard, alors rembourse tout ou partie. Dans ce type de relation, l’oracle est la base de données de l’aéroport ou encore le site de « Bloomberg » ou « reuters » pour les actions.
  • un objet connecté : comme une serrure électronique qui détecte l’ouverture ou la fermeture d’une porte ou un pluviomètre qui détermine si oui ou non on peut déclencher le paiement de d’une assurance sécheresse par exemple.
  • un groupe de participants. Les marchés prédictifs développés par les sociétés Gnosis et Augur ont pour vocation de servir d’oracles à une multitude de contrats. Dans un marché prédictif, n’importe qui peut parier sur un événement (par exemple, l’issue d’une élection). Ces différents paris sont agrégés, fournissant ainsi un consensus autour de la probabilité d’un événement. Les marchés prédictifs permettent ainsi d’ obtenir une “opinion collective”.

L’Oracle basé sur le consensus développé par Oraclize vise à déporter le processus de collecte et d’envoi de l’information à un grand nombre de participants qui ont une motivation particulière à fournir la réponse correcte.

Oraclize fonctionne avec une « preuve d’honnêteté » qui garantit que la donnée entrée sur la blockchain est identique à celle qui a été récupérée par Oraclize. Cette preuve est publique et vérifiable. Si Oraclize entre un jour dans la blockchain une donnée non-conforme à la donnée récupérée sur le serveur, cette information « malhonnête » sera immédiatement repérable par n’importe quelle personne. La nécessité pour l’Oracle de conserver sa réputation à long terme devrait garantir la fiabilité de ses prédictions.

Quelles difficultés techniques posent les oracles?

L’intégration d’informations extérieures dans la blockchain pose plusieurs difficultés. Premièrement, à chaque fois qu’une personne téléchargera la blockchain, un nouvel appel sera effectué à ce service externe. Cela peut poser un problème de charge pour ce service.

Deuxièmement, si ce service n’offre plus la donnée (par exemple s’il est hors ligne, piraté, etc.), le bloc ne pourra plus se résoudre de la même façon que la première fois. Son contenu et donc son empreinte ne sera plus identique, et le lien entre lui et le bloc suivant ne sera plus valide.

Cela peut se produire six mois, un an, dix ans après la validation du bloc. L’ensemble de la blockchain créée après ce bloc ne pourra alors plus être vérifiée et l’immutabilité de la blockchain sera remise en cause.

Quelles sont les limites aux applications potentielles d’Ethereum?

La première difficulté est qu’il n’est pour le moment pas possible de mettre à jour ou de corriger les contrats intelligents une fois qu’ils ont été déployés sur le réseau Ethereum. Il est donc important qu’ils aient été testés en profondeur avant leur déploiement.

La deuxième problématique est que la blockchain est transparente, ce qui veut dire que les contrats intelligents sont accessibles au public et tout ce qui y est stocké est lisible par tous. Les contrats intelligents peuvent ainsi être des cibles très attractives pour les pirates.

La troisième difficulté est celle de la montée en charge du réseau. La plupart des applications construites sur la blockchain nécessitent de stocker des éléments (identités d’utilisateur, informations financières, etc.). Les informations stockées sur la blockchain sont stockées par chaque nœud complet du réseau et stockées indéfiniment. Cela est susceptible de générer un coût énorme sur un réseau décentralisé où chaque nœud complet doit stocker de plus en plus de données.

Lorsque la taille de la blockchain croît, les exigences de stockage, de bande passante et de puissance de calcul requises pour les ordinateurs participant au réseau augmentent. Si la blockchain devient trop lourde, il ne sera plus possible que pour quelques gros ordinateurs de traiter un bloc, entraînant un risque de centralisation. C’est pourquoi tous les protocoles de consensus blockchain publique cherchent un compromis entre un faible débit des transactions et un degré élevé de centralisation.

Cela doit inciter à ne pas utiliser la blockchain pour des calculs qui pourraient être effectués hors de la chaîne. C’est un point important pour évaluer le potentiel des applications à venir sur Ethereum : elles auront de la valeur uniquement s’il y a des bénéfices importants au fait de travailler sur un réseau décentralisé d’ordinateurs (par exemple pour éviter le risque de censure d’un gouvernement, d’attaque par un pirate informatique…).

Vous pouvez lire la deuxième partie de cet article sur les défis d’Ethereum.

Pour aller plus loin mes sources pour cet article:

https://bitsonblocks.net/2016/10/02/a-gentle-introduction-to-ethereum/

Divers articles sur le site Ethereum france

Article de Preethi Kasireddysur Ethereum

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *