
Un smart contract est un contrat exécuté par un logiciel. Contrairement à un contrat traditionnel, qui impose aux parties de recourir au système juridique, le smart contract s’applique de façon autonome (et peut s’exécuter automatiquement), selon que des conditions spécifiques vérifiées par le logiciel sont réunies. Une couche prenant en charge les smart contracts peut être ajoutée à l’infrastructure Ethereum existante. Tous les smart contracts sont créés via le langage de programmation Solidity.
Les smart contracts présentent plusieurs avantages potentiels, tels que :
Exemple d’utilisation d’un smart contract :
Supposons que Laura et Michael souhaitent jouer à pierre, papier, ciseaux, et que le gagnant des trois manches remporte un pari de 1 ETH. Dans ce cas, un smart contract peut :
Toutes ces opérations peuvent être réalisées de façon objective, transparente et sans intervention de Laura ou Michael.
Solidity est un langage de programmation statiquement typé, dont la syntaxe est fortement inspirée de JavaScript, permettant aux développeurs de concevoir des smart contracts. Les smart contracts déployés sur la blockchain Ethereum sont écrits en bytecode et s’exécutent sur l’EVM.
Ethereum, tout comme Bitcoin, est une blockchain permettant le transfert de cryptomonnaies entre particuliers, sans qu’un tiers — tel qu’une banque ou une société de transfert international — intervienne pour garantir la transaction. À travers le monde, des développeurs créent des applications et des plateformes pour exploiter le potentiel du réseau décentralisé Ethereum. Bien que l’écosystème blockchain nécessite du temps pour se développer et s’intégrer pleinement aux économies mondiales, de nombreuses organisations proposent déjà des applications qui interagissent avec la blockchain Ethereum afin de générer et d’échanger de la valeur de manière innovante.
Cette vague d’applications décentralisées — ou dApps — transforme les modèles dans des secteurs variés comme la finance, la musique, le jeu vidéo ou les réseaux sociaux, avec des résultats notables, et propulse l’industrie de la blockchain vers une ère axée sur les résultats, l’adoption et l’amélioration concrète de la vie des utilisateurs, plutôt que sur la spéculation. Parmi les projets majeurs, on retrouve :
Les blockchains exigent que les membres du réseau parviennent à un accord avant d’ajouter de nouveaux blocs. Un mécanisme de consensus est nécessaire pour valider la légitimité d’une transaction, en utilisant une méthode de validation cryptographique propre au réseau. Ce mécanisme permet également de résoudre les conflits entre plusieurs transactions concurrentes, par exemple lorsque différents participants proposent des transactions différentes sur le même actif. Il garantit la bonne séquence des transactions et prévient l’exploitation du système par des participants peu performants. Plusieurs types de mécanismes de consensus existent, mais Ethereum utilise :
Proof of Stake (PoS) — Un mécanisme de proof of stake implique que le détenteur de coins peut en gagner simplement en prouvant qu’il possède une certaine quantité de coins, plutôt qu’en résolvant des problèmes algorithmiques complexes (minage de coins).
L’Ethereum Virtual Machine (EVM) est un environnement d’exécution sécurisé et respectueux de l’environnement, permettant aux développeurs de travailler à distance et de publier des mises à jour progressives sur la blockchain Ethereum, ce qui a favorisé l’émergence de nombreuses applications décentralisées (dApps). Autrement dit, l’EVM constitue un ordinateur distribué sur l’ensemble du réseau, où les codes et les données de chaque contrat individuel, désignés respectivement comme codes et variables d’état, sont partagés par tous les nœuds. La validation d’un nouveau bloc Ethereum entraîne la mise à jour de toutes les variables d’état, dont le solde de chaque compte.
La compréhension de la technologie sous-jacente à Ethereum est essentielle. La plupart des principaux projets actuels s’inspirent des technologies majeures développées sur Ethereum ou ont été conçus pour répondre à ses limitations. Les connaissances acquises dans ce module seront particulièrement utiles pour l’analyse d’autres projets.
Points clés
Articles connexes