Créé par Vitalik Buterin en 2015, Ethereum est à la fois un protocole, un réseau et une blockchain. Au-delà des transactions financières basiques, Ethereum permet de programmer et d’automatiser des ensembles de transactions complexes.
On appelle ces programmes des smart contracts. Ils héritent ainsi des propriétés de la blockchain : ils sont infalsifiables et non-répudiables.
L’architecture d’Ethereum est inspirée par celle de Bitcoin, mais elle est plus complexe.
Comme sur Bitcoin, la blockchain d’Ethereum sert donc à stocker l’historique des transactions ayant lieu sur le réseau. Mais elle permet aussi de stocker du code informatique, celui des smart contracts.
Bitcoin fonctionne grâce à un modèle dit UTXO pour « sorties non-dépensées ». Ainsi, le solde de chaque adresse correspond à l’ensemble des sorties provenant d’autres adresses, qui n’ont pas encore été dépensées.
Ethereum, quant à lui, va plus loin, avec son système de comptes, à l’image d’une banque. Les nœuds du réseau stockent l’état des comptes. Il s’agit de leur solde, mais aussi du code des smart contracts et l’endroit où ce dernier est stocké.
Il existe deux types de comptes : les comptes externes, contrôlés par des paires de clefs publiques/privées (comme une adresse Bitcoin classique), et les comptes des contrats, contrôlés par du code.
Quatre champs définissent ces comptes :
Vitalik Buterin voulait aller plus loin que Bitcoin, en proposant une blockchain qui possède son propre langage de programmation. Cela donne plus de possibilités aux utilisateurs. Il est notamment possible de créer des applications décentralisées. Ces applications ne sont pas hébergées sur un serveur, mais sur tous les nœuds du réseau. Cette architecture offre plusieurs avantages :
Pour ces raisons, Ethereum est souvent décrit comme un ordinateur universel. N’importe qui peut coder ses applications, sans crainte de les voir cesser de fonctionner.
Les smart contracts sont dont des programmes informatiques, décentralisés et autonomes, contenant un ensemble de règles et d’instructions.
Ces instructions sont exécutées de façon conditionnelle. Les contrats sont écrits en utilisant un langage de programmation spécifique, appelé Solidity. L’appellation « smart contract » nous vient de Nick Szabo, cryptographe de légende.
Contrairement au langage de script de Bitcoin, Solidity est dit « Turing-complet« . Cette expression fait référence au mathématicien et cryptologue Alan Turing. Ce précurseur de l’informatique créa un modèle définissant les concepts d’algorithme, de programmation et de décidabilité : la fameuse machine de Turing. Cet ordinateur avant l’heure permit de déchiffrer les messages des Allemands durant la seconde guerre mondiale.
Aujourd’hui, il s’agit d’un concept et non plus d’un objet physique.
Un langage est dit “Turing-complet” s’il permet de simuler une machine de Turing, avec la même expressivité et la même calculabilité. Les fonctions récursives ou “calculables” permettent de créer des boucles conditionnelles (if, then, else). Elles sont aussi déterministes : les mêmes fonctions appliquées aux mêmes arguments donnent toujours le même résultat.
Les smart contracts écrits en Solidity respectent ces caractéristiques. Cependant, il y a une limite à leur exécution : les instructions ont un coût financier, ce qui permet d’éviter les boucles infinies en cas d’erreur de programmation.
Un contrat est donc un ensemble de lignes de code, et un ensemble de données (l’état du contrat sur la blockchain). Il est stocké sur un compte Ethereum.
Une fois ces contrats déployés, les nœuds du réseau Ethereum vont les stocker sur la blockchain et les exécuter. C’est dans l’EVM (Ethereum Virtual Machine) que tout se passe !
L’EVM est un environnement d’exécution isolé du réseau. Il permet d’interpréter le code Solidity une fois compilé, et donc de mettre à jour l’état des contrats sur la blockchain. Les mineurs qui exécutent ces instructions sont récompensés financièrement pour cela. Chaque instruction d’un contrat Solidity a donc un coût d’exécution.
L’EVM dispose de trois zones pour traiter les données :
Le panel d’instructions de l’EVM est limité, pour des raisons de compatibilité et de sécurité. Il comprend bien entendu toutes les opérations arithmétiques et logiques classiques, des sauts conditionnels, etc. Il est aussi possible d’accéder à des données de bloc, comme son numéro de version ou son horodatage.
Comme sur Bitcoin, Ethereum utilise un algorithme de consensus qui permet aux nœuds du réseau de s’accorder sur l’état de la blockchain. Pour l’instant, ce mécanisme de consensus est le même que sur Bitcoin, à savoir la preuve de travail (proof of work).
Les mineurs sont en concurrence pour valider les transactions du réseau et exécuter les instructions des smart contracts. Ils y consacrent ainsi une grande puissance de calcul et sont récompensés par le protocole en ethers.
Cependant, ce mécanisme pose des problèmes. Il est coûteux en énergie, et peu scalable.
Il est ainsi prévu qu’Ethereum utilise la preuve d’enjeu (proof of stake), afin de désengorger le réseau et de le rendre plus performant. Ce nouveau mécanisme de consensus s’appelle Casper. Nous sommes actuellement dans une phase de transition : durant quelques mois, Ethereum utilisera un système hybride. Si tout se passe bien, il y aura alors une transition complète de la preuve de travail vers la preuve d’enjeu.
Ainsi s’achève cette description du fonctionnement d’Ethereum. Pour plus de détails, rien de mieux que de se rendre sur Ethereum France qui propose de nombreuses ressources francophones sur le sujet. Et si l’actualité de la deuxième cryptomonnaie la plus capitalisée de l’écosystème vous intéresse, rendez-vous dans notre section dédiée !
Cofounder @ 8Decimals - Journal du Coin / BitConseil / Trading du Coin
Pour aller plus loin
Démarches fiscales pour détenteur de crypto-actifs : ce qu’il faut savoir
Le trading du coin propose CryptoTax, une suite d’outils pour automatiser et faciliter les démarches fiscales des possesseur de cryptomonnaies
Dans la même catégorie
Entrez dans la cour des grands du trading de cryptos : nos astuces pour performer sur FTX
Afin de vous familiariser avec le trading de produits dérivés, nous vous proposons une entrevue complète de FTX et son interface de trading. Rappel : le trading comporte des risques importants, et vous pouvez perdre la totalité de votre capital. Cet article est conçu dans un but éducatif, et ne constitue en aucun cas un … Continued
Recevez un condensé d'information chaque jour
Suivant
Ce site utilise des cookies afin que nous puissions vous fournir la meilleure expérience utilisateur possible. Les informations sur les cookies sont stockées dans votre navigateur et remplissent des fonctions telles que vous reconnaître lorsque vous revenez sur notre site Web et aider notre équipe à comprendre les sections du site que vous trouvez les plus intéressantes et utiles.
Cette option doit être activée à tout moment afin que nous puissions enregistrer vos préférences pour les réglages de cookie.
Si vous désactivez ce cookie, nous ne pourrons pas enregistrer vos préférences. Cela signifie que chaque fois que vous visitez ce site, vous devrez activer ou désactiver à nouveau les cookies.
Ce site utilise Google Analytics pour collecter des informations anonymes telles que le nombre de visiteurs du site et les pages les plus populaires.
Garder ce cookie activé nous aide à améliorer notre site Web.
Veuillez activer d’abord les cookies strictement nécessaires pour que nous puissions enregistrer vos préférences !