L’Ethereum, c’est quoi ?

L’Ethereum, c’est quoi ?

Avant de pouvoir comprendre ethereum, il est utile de comprendre d’abord Internet. Aujourd’hui, nos données personnelles, mots de passe et informations financières sont en grande partie stockés sur les ordinateurs des autres – dans le cloud ​​et les serveurs appartenant à des sociétés comme Amazon, Facebook ou Google. Cette configuration présente plusieurs avantages, car ces entreprises déploient des équipes de spécialistes pour stocker et sécuriser ces données, et supprimer les coûts liés à l’hébergement et à la disponibilité. Mais avec cette commodité, il y a aussi la vulnérabilité. Comme nous l’avons appris, un pirate informatique ou un gouvernement peut obtenir un accès indésirable à vos fichiers à votre insu, en influençant ou en attaquant un service tiers, ce qui signifie qu’il peut voler, divulguer ou modifier des informations importantes. Brian Behlendorf, créateur du serveur Web Apache, est allé jusqu’à qualifier ce design centralisé de «péché originel» d’Internet. Certains, comme Behlendorf, soutiennent qu’Internet a toujours été conçu pour être décentralisé, et un mouvement fragmenté s’est développé autour de l’utilisation de nouveaux outils, y compris la technologie blockchain, pour aider à atteindre cet objectif. Ethereum est l’une des technologies les plus récentes pour rejoindre ce mouvement. Alors que bitcoin vise à perturber PayPal et les services bancaires en ligne, ethereum a pour objectif d’utiliser une chaîne de blocs pour remplacer les tierces parties sur Internet – celles qui stockent des données, transfèrent des hypothèques et suivent des instruments financiers complexes. En bref, ethereum veut être un «ordinateur mondial» qui décentraliserait – et certains diraient, démocratisent – le modèle client-serveur existant. Avec ethereum, les serveurs et le cloud ​​sont remplacés par des milliers de «nœuds» gérés par des volontaires du monde entier (formant ainsi un «ordinateur mondial»). La vision est qu’ Ethereum permettrait cette même fonctionnalité aux gens partout dans le monde, leur permettant de rivaliser pour offrir des services au-dessus de cette infrastructure. En parcourant un magasin d’applications typique, par exemple, vous verrez une variété de carrés colorés représentant tout, de la banque au fitness en passant par les applications de messagerie. Ces applications dépendent de la société (ou d’un autre service tiers) pour stocker vos informations de carte de crédit, l’historique des achats et d’autres données personnelles – quelque part, généralement dans des serveurs contrôlés par des tiers. Votre choix d’applications est bien sûr également régi par des tiers, car Apple et Google maintiennent et organisent (ou dans certains cas, censurent) les applications spécifiques que vous êtes en mesure de télécharger. Prenons l’exemple d’un service de document en ligne comme Evernote ou Google Docs. Ethereum, si tout se passe comme prévu, rendrait le contrôle des données de ces types de services à son propriétaire et les droits de création à son auteur. L’idée est qu’une entité n’aura plus le contrôle sur vos notes et que personne ne peut soudainement interdire l’application elle-même, en prenant temporairement tous vos portables hors ligne. Seul l’utilisateur peut apporter des modifications, pas n’importe quelle autre entité. En théorie, il combine le contrôle que les gens avaient sur leurs informations dans le passé avec l’information facile d’accès à laquelle nous sommes habitués à l’ère numérique. Chaque fois que vous enregistrez des modifications, ajoutez ou supprimez des notes, chaque noeud du réseau effectue la modification. ethereum vise à fonctionner à la fois comme une sorte d’Internet décentralisé et comme un magasin d’applications décentralisé, soutenant un nouveau type d’application (un « dapp ») dans le processus. Mais bien que personne ne possède ethereum, le système qui prend en charge cette fonctionnalité n’est pas gratuit. Au contraire, le réseau a besoin de «ether», un morceau de code unique qui peut être utilisé pour payer les ressources de calcul nécessaires pour exécuter une application ou un programme. Comme Bitcoin, l’éther est un actif au porteur numérique (similaire à un titre, comme une obligation, émis sous forme physique). Tout comme l’argent, il n’exige pas qu’un tiers traite ou approuve une transaction. Mais au lieu de fonctionner comme une monnaie numérique ou un paiement, l’éther cherche à fournir du «carburant» pour les applications décentralisées sur le réseau. Prenons l’exemple d’un cahier en ligne décentralisé. Pour publier, supprimer ou modifier une note, vous devez payer des frais de transaction afin que le réseau puisse traiter le changement. De cette façon, «éther» a parfois été appelé «pétrole numérique», et en prenant cette analogie plus loin, les frais de transaction ethereum sont calculés en fonction de combien «gaz» l’action nécessite. Chaque action coûte une quantité de gaz basée sur la puissance de calcul requise et combien de temps il faut pour fonctionner. Une transaction coûte 500 gaz, par exemple, qui est payé en éther. En tant que système économique, les règles de l’économie de l’éther sont un peu ouvertes. Alors que bitcoin a une limite dure de 21 millions de bitcoins, l’éther n’a pas de limite similaire. De l’éther qui existe, 60 millions ont été achetés par les utilisateurs dans le cadre d’une campagne de crowdfunding 2014. Un autre éther de 12m a été donné à la Fondation Ethereum, un groupe de chercheurs et de développeurs travaillant sur la technologie sous-jacente. Toutes les 12 secondes, 5 éthers (ETH) sont également attribués aux mineurs qui vérifient les transactions sur le réseau. Dix-huit millions d’éther, au plus, sont extraits chaque année. Cinq éther sont créés environ toutes les 12 secondes, chaque fois qu’un mineur découvre un bloc, ou un paquet de transactions. Donc, personne ne connaît encore le nombre total d’éther, et le rythme de la création de l’éther sera moins clair après 2017 quand ethereum prévoit de passer à un nouvel algorithme de consensus de preuve de pieu. Cela conduira probablement à un changement dans les règles de création d’éther, et ainsi la subvention minière pourrait diminuer.

Comment fonctionne Ethereum ?

Reprenons l’exemple de l’application utilisée plus haut. En utilisant ethereum, l’application ne nécessite pas une entité pour stocker et contrôler ses données. Pour ce faire, ethereum emprunte fortement au protocole de bitcoin et à sa conception de blockchain, mais l’ajuste pour soutenir les applications au-delà de l’argent. Ethereum a pour but de faire abstraction de la conception de Bitcoin, afin que les développeurs puissent créer des applications ou des accords qui comportent des étapes supplémentaires, de nouvelles règles de propriété, des formats de transaction alternatifs ou différentes manières de transférer l’état. Le but du langage de programmation ‘Turing-complete’ d’ethereum est de permettre aux développeurs d’écrire plus de programmes dans lesquels les transactions blockchain pourraient gouverner et automatiser des résultats spécifiques. Cette flexibilité est peut-être la principale innovation d’ethereum. L’Ethereum blockchain: La structure de la blockchain ethereum est très similaire à celle de bitcoin, en ce sens qu’il s’agit d’un enregistrement partagé de l’ensemble de l’historique des transactions. Chaque noeud du réseau stocke une copie de cet historique. La grande différence avec ethereum est que ses nœuds stockent l’état le plus récent de chaque contrat intelligent, en plus de toutes les transactions éther. Pour chaque application ethereum, le réseau doit garder trace de «l’état» ou des informations actuelles de toutes ces applications, y compris le solde de chaque utilisateur, tout le code du contrat intelligent et où tout est stocké. Bitcoin utilise les sorties de transaction non dépensées pour suivre qui a combien bitcoin. Bien que cela semble plus complexe, l’idée est assez simple. Chaque fois qu’une transaction bitcoin est effectuée, le réseau «rompt» le montant total comme s’il s’agissait de papier-monnaie, émettant des bitcoins de retour d’une manière qui fait que les données se comportent de la même manière que des pièces physiques ou des changements. Pour faire des transactions futures, le réseau bitcoin doit additionner tous vos changements, qui sont classés comme «dépensés» ou «non dépensés». D’autre part, Ethereum utilise des comptes.Comme les fonds de compte bancaire, les jetons d’éther apparaissent dans un portefeuille et peuvent être portés (pour ainsi dire) sur un autre compte. Les fonds sont toujours quelque part, mais n’ont pas ce que vous pourriez appeler une relation continue.

Ethereum Virtual machine et Smart contrat : Qu’est ce que c’est ?

Avec ethereum, chaque fois qu’un programme est utilisé, un réseau de milliers d’ordinateurs le traite. Les contrats écrits dans des langages de programmation spécifiques à un smart contrat sont compilés dans un «bytecode», que l’on peut lire et exécuter une fonctionnalité appelée « ethereum virtual machine» (EVM). Tous les nœuds exécutent ce contrat à l’aide de leurs EVM. Rappelez-vous que chaque nœud du réseau détient une copie de l’historique des transactions et des smart contrats du réseau, en plus du suivi de l’état actuel. Chaque fois qu’un utilisateur effectue une action, tous les nœuds du réseau doivent être d’accord que ce changement a eu lieu. L’objectif ici est que le réseau de mineurs et de nœuds prenne la responsabilité de transférer le transfert d’un état à l’autre, plutôt qu’une autorité comme PayPal ou une banque. Les mineurs Bitcoin valident le transfert de propriété des bitcoins d’une personne à une autre. L’EVM exécute un contrat avec toutes les règles initialement programmées par le développeur. Le calcul réel sur EVM est réalisé par un langage de bytecode basé sur pile (les uns et les zéros qu’une machine peut lire), mais les développeurs peuvent écrire des smart contracts dans des langages de haut niveau tels que Solidity et Serpent qui sont plus faciles à lire pour les humains. écrire. Comme expliqué dans notre guide «Comment fonctionne Ethereum Mining», les mineurs sont ceux qui empêchent les mauvais comportements – comme s’assurer que personne ne dépense plus d’une fois leur argent et rejeter les smart contracts qui n’ont pas été payés. Il y a quelques milliers de nœuds ethereum et chaque nœud compile et exécute le même code. Mais, vous pourriez penser, n’est-ce pas beaucoup plus cher qu’un calcul normal? Oui, ça l’est. C’est pourquoi le réseau ne peut être utilisé que pour des cas d’utilisation particuliers. Les smart contracts sont des mécanismes d’échange déterministes contrôlés par des moyens numériques qui peuvent effectuer la transaction directe de valeur entre agents non approuvés. Ils peuvent être utilisés pour faciliter, vérifier et faire respecter la négociation ou l’exécution d’instructions procédurales économiquement chargées et potentiellement contourner la censure, la collusion et le risque de contrepartie. Dans Ethereum, les smart contracts sont traités comme des scripts autonomes ou des applications décentralisées avec état qui sont stockées dans la blockchain Ethereum pour une exécution ultérieure par le module EVM. Les instructions intégrées dans les contrats Ethereum sont payées en éther (ou plus techniquement « gaz ») et peuvent être implémentées dans une variété de langages de script complets de Turing. Comme les contrats peuvent être publics, cela ouvre la possibilité de prouver la fonctionnalité, par exemple, des casinos autonomes et équitables. Un problème lié à l’utilisation de smart contracts sur une blockchain publique est que les bugs, y compris les failles de sécurité, sont visibles par tous, mais ne peuvent pas être résolus rapidement. Un exemple de ceci est l’attaque du DAO du 17 juin 2016, qui n’a pas pu être arrêtée ou inversée rapidement. Des recherches sont en cours sur la façon d’utiliser la vérification formelle pour exprimer et prouver des propriétés non triviales. Un rapport de Microsoft Research a noté que l’écriture de smart contracts solides peut être extrêmement difficile en pratique, en utilisant le hack DAO pour illustrer ce problème. Le rapport parle d’outils que Microsoft a mis au point pour vérifier les contrats, et note qu’une analyse à grande échelle des contrats publiés est susceptible de révéler des vulnérabilités généralisées. Le rapport indique également qu’il est possible de vérifier l’équivalence d’un programme Solidité et du code EVM.

Print Friendly, PDF & Email