Contrats intelligents
Nick Szabo a décrit pour la première fois les contrats intelligents dans les années 1990. À l'époque, il définissait un contrat intelligent comme un outil qui formalise et sécurise les réseaux informatiques en combinant des protocoles et des interfaces utilisateur.
Szabo a évoqué l'utilisation potentielle des contrats intelligents dans divers domaines impliquant des accords contractuels, tels que les systèmes de crédit, le traitement des paiements et la gestion des droits sur les contenus.
Dans le monde des crypto-monnaies, on peut définir un contrat intelligent comme une application ou un programme qui fonctionne sur une blockchain. Typiquement, ils fonctionnent comme un accord numérique qui est appliqué par un ensemble spécifique de règles. Ces règles sont prédéfinies par un code informatique, qui est répliqué et exécuté par tous les nœuds du réseau.
Les contrats intelligents de la blockchain permettent la création de protocoles sans confiance. Cela signifie que deux parties peuvent prendre des engagements via la blockchain, sans avoir à se connaître ou à se faire confiance. Elles peuvent être sûres que si les conditions ne sont pas remplies, le contrat ne sera pas exécuté. En outre, l'utilisation de contrats intelligents peut supprimer le besoin d'intermédiaires, ce qui réduit considérablement les coûts opérationnels.
Bien que le protocole Bitcoin prenne en charge les contrats intelligents depuis de nombreuses années, ceux-ci ont été popularisés par le créateur et cofondateur d'Ethereum, Vitalik Buterin. Il convient toutefois de noter que chaque blockchain peut présenter une méthode différente de mise en œuvre des smart contracts.
Cet article se concentrera sur les contrats intelligents qui fonctionnent sur la machine virtuelle Ethereum (EVM - Ethereum Virtual Machine), qui est une partie essentielle de la blockchain Ethereum.
Comment fonctionnent-ils ?
En termes simples, un contrat intelligent fonctionne comme un programme déterministe. Il exécute une tâche particulière lorsque certaines conditions sont remplies. En tant que tel, un système de contrat intelligent suit souvent des instructions du type "si... alors...". Mais malgré la terminologie populaire, les contrats intelligents ne sont pas des contrats légaux, ni intelligents. Ils ne sont qu'un morceau de code exécuté sur un système distribué (blockchain).
Sur le réseau Ethereum, les contrats intelligents sont chargés d'exécuter et de gérer les opérations de la blockchain qui ont lieu lorsque les utilisateurs (adresses) interagissent entre eux. Toute adresse qui n'est pas un contrat intelligent est appelée un compte appartenant à un tiers (EOA - Externally Owned Account). Ainsi, les contrats intelligents sont contrôlés par le code informatique, et les EOA sont contrôlés par les utilisateurs.
Fondamentalement, les contrats intelligents Ethereum sont constitués d'un code de contrat et de deux clés publiques. La première clé publique est celle fournie par le créateur du contrat. L'autre clé représente le contrat lui-même, agissant comme un identifiant numérique unique pour chaque contrat intelligent.
Le déploiement de tout contrat intelligent se fait par le biais d'une transaction blockchain, et ils ne peuvent être activés que lorsqu'ils sont appelés par une EOA (ou par d'autres contrats intelligents). Cependant, le premier déclenchement est toujours provoqué par une EOA (utilisateur).
Caractéristiques principales
Besoin d'aide ?
Rejoignez notre communauté officielle et ne restez plus seul à bloquer sur un problème !