Ethereum

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Ethereum Software
Logo

Fondateur Vitalik Buterin (en)Voir et modifier les données sur Wikidata
Développeur Vitalik Buterin (en)[1] et al
Première version
Dernière version 1.5.5 ()[2]Voir et modifier les données sur Wikidata
Écrit en C++, Go, JavaScript, Python, Java, node.js
Environnement GNU/Linux, POSIX, Windows, OS X
Type Decentralized computing
Licence GNU GPLv3, MIT, LGPL, et al
Site web www.ethereum.org
geth.ethereum.orgVoir et modifier les données sur Wikidata

Ethereum[3],[4] (prononcer /e.tɛ.ʁœm/[5]) est un protocole d'échanges décentralisés permettant la création par les utilisateurs de contrats intelligents grâce à un langage Turing-complet. Ces contrats intelligents sont basés sur un protocole informatique permettant de vérifier ou de mettre en application un contrat mutuel, ils sont déployés et consultables publiquement dans la blockchain.

Ethereum utilise une unité de compte dénommée Ether comme moyen de paiement de ces contrats. Son sigle correspondant, utilisé par les plateformes d'échanges, est « ETH ». Ethereum est la deuxième plus importante monnaie cryptographique décentralisée avec une capitalisation supérieure à 1 milliard d'euros[6].

En juillet 2016, l'équipe de développement d'Ethereum a dû procéder à un hard fork après une attaque réussie par un groupe de pirates sur un fonds d'investissement en Ether appelé organisation autonome décentralisée (TheDAO) dans laquelle près de 3.641.694.242 ETH (soit plus de 10% du montant total de la crypto-monnaie en circulation) ont été détournés sur une adresse non contrôlée par les membres de TheDAO[7]. Ce hard fork a permis d'annuler les sommes détournées et de restaurer la balance à l'organisation autonome décentralisée. Néanmoins, ce changement n'a pas recueilli un consensus absolu et une faible partie de la communauté n'a pas implémenté ce changement qui a conduit à la formation de deux chaînes de blocs séparées: l'une officielle avec pour unité monétaire l'Ether (symbole : ETH) et son spin-off avec pour unité monétaire l'Ether classique (symbole : ETC)[8].

Histoire[modifier | modifier le code]

Origine et lancement[modifier | modifier le code]

En décembre 2013, le programmeur Vitalik Buterin publie une description de son projet Ethereum sous la forme d'un white paper dans le but de lancer des applications décentralisées[9],[10]. Début 2014, il met en prévente les premiers Ethers pour financer le développement du projet. La vente lui permet de rassembler 31 591 bitcoins d'une valeur de plus de 18 millions de dollars à l'époque, pour 60 millions d'Ethers vendus. La chaîne de blocs Ethereum a été lancée le 30 juillet 2015[11].

La première version du logiciel, appelée Frontier, a été développé par la société suisse Ethereum Switzerland GmbH (EthSuisse)[12]. Une société Suisse, The Ethereum Foundation, à but non lucratif a aussi été créée pour promouvoir le développement de cette nouvelle monnaie.

En mars 2016, la nouvelle version du logiciel prend le nom de Homestead.

Les prochaines versions : Metropolis suivie de Serenity sont en cours de développement.

TheDAO et son piratage[modifier | modifier le code]

En mai 2016, une organisation décentralisée autonome a été créée pour réunir des fonds, sous forme d'Ether, afin de financer des projets utilisant la chaîne de blocs d'Ethereum. Cette création a été très largement saluée par la communauté et ses investisseurs en rassemblant plus de 12 000 000 d'Ether (soit 15 % de la monnaie totale émise pour un total de plus de 150 millions d'euros)[13] avant d'être piratée par des hackers qui détournèrent, le 17 juin 2016, près d'un tiers des encours dans TheDAO[14],[15] pour les déplacer dans un clone dans lequel, selon les propres règles de TheDAO, les fonds sont gelés à titre conservatoire pour une durée d’un mois.

Pendant cette durée, la communauté Ethereum et ses membres fondateurs ont débattu pour décider de la meilleure méthode à adopter pour récupérer ou non l'Ether détourné et s'il fallait liquider TheDAO[16]. Ils décidèrent de liquider le fonds d'investissement et de reprogrammer la chaîne de blocs pour inverser les effets du piratage et re-créditer le fonds d'investissement des fonds volés[17] afin de rembourser à terme les investisseurs.

Cependant, environ 15 % de la puissance de calcul des mineurs de l'Ether a refusé d'implémenter ce changement[8],[18] aboutissant à la création de deux chaines de blocs distinctes, l'une officielle et soutenue par les développeurs (l'Ether avec pour symbole : ETH), et l'autre non-officielle avec pour monnaie l'Ether classique (symbole : ETC) dans laquelle les hackers conservent la monnaie détournée de TheDAO. Cette nouvelle monnaie est donc dissociée et distincte de l'Ether, constitue une nouvelle crypto-monnaie avec une puissance de calcul faible la rendant potentiellement plus facilement vulnérable à une attaque des 51%.

Avant l'implémentation de la reprogrammation de la chaîne de bloc, toute adresse qui possédait de l'Ether s'est donc vu dupliquée avec des encours en ETH dans la chaîne de blocs officielle (la valeur en unités de compte est conservée) et le même montant en ETC, dans la chaîne de blocs en sédition. L'ETC, nouvelle crypto-monnaie, ne peut être utilisé que sur la chaîne de blocs soutenue par le réseau des mineurs en sédition et l'ETH ne peut être utilisé que sur la chaîne de blocs officielle reprogrammée. Dans le cas d'une division d'une chaîne de blocs en deux, les utilisateurs peuvent être potentiellement vulnérables à des attaques par rejeu dans lesquelles un pirate intercepte une transaction sur une des chaînes (dominante ou non) pour la rediffuser sur la seconde. La clé privée de l'utilisateur étant la même sur les deux chaines, la signature de la transaction initiale sera aussi valide sur les deux chaînes[19].

Fin septembre 2016 la valeur de l'Ether classique (ETC), représentait environ de 10 % de la valeur de l'Ether (ETH) sur les places d'échanges ayant accepté de négocier cette nouvelle crypto-monnaie, après une introduction à environ 3% et une pointe à plus de 45% début août 2016.

Caractéristiques générales[modifier | modifier le code]

Le tout premier bloc appelé « bloc genesis » est créé le . Il distribue les 60 millions d'Ethers de la prévente ainsi que 12 millions d'Ethers aux développeurs[20]. Depuis, l'émission de nouveaux Ethers n'est possible que par le « minage » des blocs, processus par lequel les transactions sont vérifiées, enregistrées et sécurisées dans la « blockchain ». Le logiciel rétribue les mineurs à raison de 5 Ethers par bloc miné, c'est-à-dire en moyenne toutes les 15 secondes, soit une émission de 10 millions de nouveaux Ethers par an.

Il est prévu en 2017, dans une version ultérieure du logiciel prenant le nom de Serenity, de changer le procédé de minage actuellement de type Proof-of-Work en un minage de type Proof-of-Stake afin de limiter la consommation d'électricité du réseau Ethereum[21]. Cette mise à jour comportera également des changements concernant l'émission des Ethers. La rémunération des mineurs devrait probablement diminuer, mais la question n'a pas encore été tranchée par les développeurs[22].

Lancement Temps par bloc Ethers pré-minés Minage des Ethers Type de preuve Algorithme
de hachage
Anonymité
En moyenne
15 secondes
~ 60 000 000 ETH mis en prévente
~ 12 000 000 ETH aux développeurs
5 ETH par bloc, soit
~ 10 000 000 ETH par an
Proof-of-Work, puis Proof-of-Stake
avec la version Serenity (2017)
Ethash[23] Non

L’Ether peut être subdivisé en plusieurs multiples et sous multiples[24]:

Multiples Equivalent Fractions Equivalent
Mille (103) 1 Keth 1 millième (10-3) 1 Finney
1 million (106) 1 Meth 1 millionième (10-6) 1 Szabo
[les unités au-dessus du

million n'ont pas de sens

dans la mesure où la

quantité de monnaie

n'existe pas]

1 milliardième (10-9) 1 Gwei
1 billionème (10-12) 1 Mwei
1 trillionième (10-15) 1 Kwei
1 quadrillionième (10-18) 1 Wei

Coût d’exécution des contrats intelligents[modifier | modifier le code]

L’exécution d’un contrat intelligent, qu’il soit un simple transfert d’Ether entre deux comptes ou l'exécution de plusieurs lignes du code d’un contrat, nécessite de rémunérer les mineurs pour la tâche exécutée. Cette rémunération se fait en Ether à l'échelle infinitésimale et que l'on appelle alors gaz. Chaque opération sur la chaîne de blocs Ethereum « coûte » du gaz qui correspond à l’effort à fournir pour traiter cette opération. Le prix du gaz évolue en fonction du marché : chaque mineur peut fixer son prix et correspond au nombre d’Ether qu’il souhaite recevoir pour l’effort qu’il fournit.

En juin 2016, le prix moyen du gaz était de 0,0000000225 Ether[25]. Ainsi, une transaction basique de virement entre deux adresses nécessitant 21000 gaz correspond à un coût moyen de 0,00047 Ether en frais de traitement. Ce système permet notamment :

  • aux mineurs peu performants ou avares de refuser de traiter rapidement les opérations trop lourdes en exigeant un prix du gaz élevé ;
  • d’éviter que certains contrats deviennent hors de prix lorsque le cours de l’Ether s’apprécie ; en effet le nombre de gaz nécessaire à l’exécution est défini par la complexité des opérations tandis que le prix du gaz peut être ajusté selon le cours de l’Ether ;
  • d’éviter qu’une boucle infinie dans un code ne tourne éternellement car au moment où la totalité du gaz fourni dans la transaction a été consommée, le mineur arrête de traiter l’opération et enregistre la transaction telle quelle.

L'utilisateur choisit le prix qu'il est prêt à payer : s'il paye en dessous du prix moyen, l'exécution de son contrat mettra beaucoup plus de temps puisque toutes les transactions plus rémunératrices sont exécutées en priorité.

Références[modifier | modifier le code]

  1. Gabriel Plassat et Marc Tirel, « Puis viendra l’ubérisation d’Uber (2/2) »,‎ (consulté le 20 octobre 2015).
  2. https://api.github.com/repos/ethereum/go-ethereum/releases
  3. Yves Eudes, « L’ether, la future monnaie qui vaut déjà des millions », sur lemonde.fr,‎ (consulté le 20 octobre 2015).
  4. Mehdi Atmani, « Stephan Tual: « Ethereum, c’est le Web sans les serveurs » »,‎ (consulté le 20 octobre 2015).
  5. Stéphane Bortzmeyer, Développer un contrat programme sur Ethereum, 2 juillet 2016
  6. « Crypto-Currency Market Capitalizations », sur coinmarketcap.com
  7. (en) « Ethereum DAO attacked, over $55 million of Ether cryptocurrency stolen » (consulté le 25 juillet 2016)
  8. a et b (en) « Ethereum Hard Fork Creates Competing Currencies as Support for Ethereum Classic Rises - CoinDesk »,‎ (consulté le 25 juillet 2016)
  9. (en) « Out in the Open: Teenage Hacker Transforms Web Into One Giant Bitcoin Network » (consulté le 25 juillet 2016)
  10. « Code your own utopia: Meet Ethereum, bitcoin’€™s most ambitious successor » (consulté le 25 juillet 2016)
  11. (en) « Ethereum Launches Long-Awaited Decentralized App Network »,‎ (consulté le 25 juillet 2016)
  12. Timothy B. Lee, « Ethereum, explained: why Bitcoin's stranger cousin is now worth $1 billion », sur Vox,‎ (consulté le 25 juillet 2016)
  13. (fr) « Fin de la Création de The DAO »,‎ (consulté le 25 juillet 2016)
  14. Nathaniel Popper, « A Hacking of More Than $50 Million Dashes Hopes in the World of Virtual Currency », The New York Times,‎ (ISSN 0362-4331, lire en ligne)
  15. « Digital currency Ethereum is cratering because of a $50 million hack » (consulté le 25 juillet 2016)
  16. Klint Finley, « Someone Just Stole $50 Million from the Biggest Crowdfunded Project Ever. (Humans Can't Be Trusted) », sur WIRED,‎ (consulté le 25 juillet 2016)
  17. « "Hard Fork" Coming to Restore Ethereum Funds to Investors of Hacked DAO », sur IEEE Spectrum: Technology, Engineering, and Science News (consulté le 25 juillet 2016)
  18. « Ethereum hard fork results in two surviving cryptocurrencies, both are now trading » Brave New Coin », sur bravenewcoin.com (consulté le 27 juillet 2016)
  19. « Hard Fork And Replay Concerns »,‎ (consulté le 28 juillet 2016)
  20. https://etherscan.io/stats/supply
  21. https://blog.ethereum.org/2015/03/03/ethereum-launch-process/
  22. http://ethdocs.org/en/latest/ether.html#ether-supply
  23. https://github.com/ethereum/wiki/wiki/Ethash
  24. (en) Ether.Fund, « Ether Unit Converter for Ethereum », sur Ether.Fund (consulté le 1er juillet 2016)
  25. etherscan.io, « Ethereum Gas Price Chart », sur etherscan.io (consulté le 1er juillet 2016)

Annexes[modifier | modifier le code]

Articles connexes[modifier | modifier le code]

Liens externes[modifier | modifier le code]