Smart Contracts: C’est Quoi?
Smart Contracts: C’est Quoi?
Smart Contracts sont des contrats à exécution automatique écrits sur la technologie blockchain qui éliminent le besoin d’une tierce partie pour compléter un arrangement entre deux parties.
En termes simples, les contrats intelligents sont des lignes de code programmées sur la blockchain, le plus souvent à l’aide du langage de programmation Solidity.
Ils fonctionnent sur la base d’un algorithme qui, de manière simplifiée, peut être comparé à la fonction IF d’Excel, ce qui signifie que si X (une certaine condition) est remplie, Y (un certain résultat) est déclenché.
Les conditions dont nous venons de parler sont également vérifiées par les validateurs de la blockchain qui partagent leur puissance de calcul pour confirmer les événements qui doivent se produire pour qu’un contrat intelligent soit déclenché.
Si les événements sont validés et que les frais de GAS sont payés, le smart contract est automatiquement exécuté et le résultat codé se produit.
Smart Contracts: Un Exemple Simplifié
Mark veut vendre son NFT, il décide donc de le mettre aux enchères sur OpenSea (une des plateformes décentralisées les plus populaires pour la vente et l’achat de NFT) et Kate décide de l’acheter à Mark par le biais de la plateforme décentralisée.
Lorsqu’on utilise des plateformes décentralisées pour des transactions comme celle-ci, un smart contract travaille en arrière-plan pour s’assurer que tout se passe bien.
Par conséquent, le contrat intelligent vérifie si Kate a transféré le bon montant de crypto à Mark et vérifie si le NFT a été transféré à Kate. L’ensemble de l’opération ne se termine que si toutes les conditions de l’accord ont été remplies et validées.
Mais il y a quelques détails supplémentaires.
En arrière-plan, les validateurs de la blockchain confirment ces événements pour que le smart contract déclenche les résultats codés. Kate doit également couvrir les frais de GAS avant que l’opération ne soit terminée.
Le smart contract est alors automatiquement exécuté, Kate reçoit son NFT, Mark reçoit sa crypto, tout le monde vit heureux, et toute l’interaction est enregistrée sur la blockchain.
Vous Voulez En Savoir Plus ?
Si vous êtes toujours curieux d’en savoir plus sur les smart contracts et de plonger en profondeur, il y a tout un tas de choses à découvrir sur ce sujet et c’est exactement ce que nous faisons dans cet article. Vous êtes libre de participer !
Nous ferons de notre mieux pour expliquer ce que sont réellement les smart contracts, comment ils fonctionnent, s’ils sont aussi dignes de confiance qu’on le dit, s’il y a de la place pour les erreurs, comment utiliser les smart contracts, et plus encore.
Nous divisons également notre article en deux parties : l’utilisation simple et régulière des smart contracts qui ne nécessite aucun codage, par exemple lors d’une transaction sur une plateforme d’échange décentralisée, et l’utilisation plus complexe des smart contracts qui nécessite un codage.
C’est parti !
Smart Contracts: C’est Quoi – Une Explication Approfondie
Selon la définition de Wikipédia, un contrat intelligent est un programme informatique ou un protocole de transaction qui est configuré pour exécuter, documenter et contrôler les contrats et leurs conditions de manière automatique.
En bref, il s’agit d’un code de programmation basé sur la blockchain qui fonctionne sur la base d’un algorithme. Le smart contract est programmé pour déclencher un certain événement à condition qu’un autre événement déterminé se soit produit et ait été validé par les mineurs de la blockchain.
Quel Langage De Programmation Est Utilisé Pour Les Smart Contracts ?
Le langage de programmation le plus souvent utilisé pour coder des contrats intelligents est le langage de programmation Solidity.
Solidity a été inventé exactement pour écrire et mettre en œuvre des smart contracts, en se concentrant principalement sur la blockchain Ethereum.
Frais et Validateurs
Comme nous l’avons déjà brièvement mentionné, les contrats intelligents ne reposent pas uniquement sur des algorithmes pour vérifier et valider différents événements ou conditions. Ce sont les validateurs de la blockchain qui doivent confirmer les événements sur la blockchain et, par conséquent, si les conditions du smart contract sont respectées.
Ils partagent essentiellement leur puissance de calcul pour valider différents événements sur le réseau décentralisé.
Les frais GAS sont directement liés aux validateurs. Il s’agit de frais de transaction versés aux validateurs du réseau à titre d’incitation ou de récompense pour leurs services.
Ainsi, chaque fois qu’un contrat intelligent est lancé, des frais GAS doivent être payés. Dans le cas où les frais GAS ne sont pas entièrement couverts, le contrat intelligent ne déclenchera pas les événements prédéterminés.
Le prix réel des frais GAS est très volatile et dépend de nombreux facteurs différents. Par exemple, un nombre élevé d’utilisateurs de la blockchain, c’est-à-dire plus de personnes en concurrence pour la priorité de la transaction, entraîne des frais GAS plus élevés.
En effet, plus les frais GAS sont élevés, plus la transaction sera finalisée rapidement.
Ce qui est intéressant, c’est que les frais GAS sont mesurés en gwei, c’est-à-dire une très petite dénomination d’Ether.
Si vous êtes toujours curieux au sujet des frais GAS et que vous voulez connaître la formule pour les calculer, voici un article approfondi qui vaut la peine d’être lu sur ce sujet et qui explique assez bien le tout.
Où Sont Stockés Les Smart Contracts ?
Puisque les smart contracts sont écrits et validés sur la technologie blockchain, ils sont également stockés sur la blockchain.
Ce qui signifie qu’ils sont stockés sur une base de données décentralisée et distribuée. Donc, fondamentalement, dans les blocs de la blockchain, dont nous parlons plus en détail ici.
Les Smart Contracts Fournissent-Ils Des Données En Dehors De La Blockchain ?
Les smart contracts ne sont pas limités à la source de leurs données uniquement à l’intérieur de la blockchain. L’élément qui aide les contrats intelligents à s’approvisionner en données à l’extérieur de la blockchain s’appelle un oracle.
En termes simplifiés, les oracles sont des sources de données qui aident les contrats intelligents à recevoir des informations du monde extérieur (hors chaîne) afin d’éliminer la limitation de devoir travailler uniquement sur la base des données disponibles sur la blockchain.
Les oracles utilisent des nœuds d’oracle pour extraire des données de différentes sources externes, par exemple des API de serveurs tiers, et les transférer de l’extérieur de la chaîne vers la chaîne pour que les smart contracts puissent les reconnaître.
Les documents officiels d’Ethereum donnent un exemple d’une application décentralisée qui propose des paris et des récompenses monétaires pour les bons paris. L’exemple donné est celui d’une personne pariant sur l’identité du vainqueur de la prochaine élection présidentielle et misant 20 ETH. Dans ce cas, le contrat intelligent a besoin d’informations extérieures sur le gagnant des élections et les oracles sont ce qui va aider à extraire ces informations de l’extérieur de la chaîne (données du monde réel) et à les placer sur la chaîne pour que le contrat intelligent déclenche les événements suivants, dans ce cas le transfert de la récompense à la personne qui parie.
Les oracles peuvent également transférer des informations de la blockchain vers les sources hors-chaîne si nécessaire.
Comment Utiliser Les Smart Contracts ?
Passons maintenant à la partie la plus amusante : l’utilisation d’un smart contract.
Faut-il être un développeur ou connaître un langage de programmation pour utiliser un contrat intelligent déjà disponible ?
La réponse est non.
De nombreux utilisateurs de crypto-monnaies ont déjà utilisé des smart contracts, même sans le savoir. En effet, lorsque vous utilisez un marché d’échange décentralisé basé sur la technologie blockchain, chaque opération se déroule automatiquement sous la surveillance d’un contrat intelligent.
Utilisation Régulière Des Smart Contracts
Utilisation D’Une Plateforme D’échange Décentralisée Ou Centralisée
Comme nous l’avons déjà dit, chaque fois que vous utilisez une plateforme d’échange décentralisée, un smart contract surveille et automatise vos opérations.
Par opposition à l’utilisation d’une plateforme d’échange centralisée, telle que Binance. La principale différence réside dans le fait que sur les plateformes centralisées, les frais que nous payons sont versés à la société qui a créé ladite plateforme d’échange et qui, à son tour, se charge de réaliser et de valider les opérations.
Dans le cas des bourses décentralisées, les frais sont versés à tous les mineurs du réseau qui fournissent leurs appareils et leur puissance de calcul pour valider les différentes opérations et aider à soutenir l’ensemble du réseau. Comme nous l’avons déjà expliqué, la commission dans ce cas est appelée commission GAS et diffère principalement en fonction du nombre d’utilisateurs du réseau qui se disputent la priorité des transactions.
En résumé, sur les plates-formes centralisées, vous avez une entreprise qui soutient les opérations et sur les plates-formes décentralisées, vous avez un grand nombre de mineurs du réseau qui valident les opérations et les contrats intelligents qui déclenchent automatiquement les événements validés.
Maintenant, à quoi ressemble l’utilisation d’un smart contract sur une plateforme décentralisée ?
C’est une bonne chose que vous demandiez, car nous avons préparé un guide étape par étape avec un exemple de transaction utilisant un contrat intelligent pour montrer à quel point c’est simple.
Exemple de Transaction Décentralisée Étape Par Étape
Pour montrer à quel point l’utilisation d’un smart contract déjà disponible est simple, nous allons utiliser Uniswap.
Uniswap est l’un des marchés d’échange décentralisés les plus populaires qui fonctionne sur la blockchain d’Ethereum.
Maintenant, disons que nous voulons faire un simple échange de devises sur Uniswap.
Que devons-nous faire ?
Après avoir accédé à Uniswap, nous choisissons Swap dans le menu supérieur et suivons les instructions et les étapes que l’application nous indique.
Tout d’abord, nous devons connecter notre porte-monnaie. Dans notre exemple, il s’agissait du porte-monnaie MetaMask, qui est l’une des extensions de porte-monnaie les plus populaires pour ce type d’opérations.
Une fois le portefeuille connecté, nous choisissons les jetons que nous voulons échanger, nous cliquons sur le bouton Swap, nous vérifions les frais, nous cliquons sur Confirm Swap, puis nous regardons les frais GAS finaux calculés pour que cette opération ait lieu.
Si nous sommes convaincus que notre portefeuille peut couvrir les frais GAS calculés, nous appuyons sur le bouton Confirmer et le processus d’échange commence sans aucune autre intervention de notre part.
Tout ce que nous venons de faire ici est visible sur les illustrations étape par étape ci-dessous.
Veuillez noter : nous avons utilisé Uniswap et Metamask pour présenter le déclenchement d’un contrat intelligent et la facilité de leur utilisation lors de la réalisation d’opérations sur une plateforme d’échange décentralisée. Mais la plateforme et le porte-monnaie ne sont que des exemples et la même opération utilisant des outils différents, peut évidemment se présenter différemment.
Première Étape : L’Échange
Deuxième Étape : Connexion d’Un Portefeuille
Troisième Étape : Le Portefeuille Connecté
Quatrième Étape : Sélection Des Tokens
Cinquième Étape : Échange
Sixième Étape : Confirmer L’Échange
Septième Étape : Détails des Frais de GAS et Confirmation Finale
Comme vous pouvez le constater, l’utilisation d’un contrat intelligent pour un utilisateur ordinaire n’a rien d’effrayant. Chaque fois que vous choisissez d’utiliser une plateforme d’échange décentralisée, chaque opération se déroule avec un contrat intelligent qui travaille en arrière-plan.
Ainsi, pour l’utilisateur ou le trader ordinaire, l’utilisation de smart contracts se fait sans effort. Il n’y a pas de codage, pas de programmation, pas de connaissances avancées ou difficiles. Il suffit de réaliser la transaction comme si l’on achetait quelque chose en ligne, en quelques étapes et quelques clics de souris, le tout sur une interface agréable à l’œil.
Les développeurs, quant à eux, peuvent écrire des contrats intelligents pour des utilisations plus complexes, ce qui est assez avancé et nécessite de coder sur la blockchain. Mais ce n’est pas quelque chose qui devrait déranger les traders ordinaires.
Utilisation Avancée des Smart Contracts
Exemple Théorique d’Utilisation d’un Smart Contract Personnel
Supposons que vous ayez les compétences en codage nécessaires pour écrire un contrat intelligent à des fins personnelles.
Nous allons vous donner un exemple théorique d’un cas dans lequel vous pourriez utiliser un contrat intelligent, juste pour illustrer comment cette technologie pourrait réellement être utilisée.
Imaginons que vous souhaitiez léguer votre épargne en crypto-monnaies à votre conjoint et que vous ne souhaitiez pas nécessairement passer par un notaire pour cela.
Vous pourriez potentiellement le faire avec un smart contract à la place.
Dans ce cas, vous pourriez écrire un contrat intelligent qui se déclenche lorsque l’adresse de votre portefeuille n’a pas vu d’opérations que vous avez lancées. Votre épargne en crypto-monnaies serait automatiquement transférée à l’adresse du portefeuille de votre femme une fois cette condition remplie.
Donc, si vous avez la condition IF et le résultat qui devrait être déclenché par le smart contract codé dans une blockchain, alors l’opération ou l'”accord” devrait être exécuté automatiquement.
Bien sûr, tout ceci n’est que théorique pour l’instant et de tels cas sont plutôt extrêmes, car l’écriture d’un contrat intelligent est pour le moins compliquée.
Le Droit à L’erreur et La Question de La Sécurité : Comment Éviter Les Arnaques ?
Dans l’un de nos articles, nous avons dit que la meilleure façon d’éviter les arnaques ou les situations dangereuses avec les smart contracts est de choisir ceux qui sont déjà disponibles sur le marché et qui sont connus pour fonctionner correctement.
Développons un peu cette partie maintenant.
Cette affirmation est souvent vraie lorsqu’il s’agit de DeFi, c’est-à-dire de la finance décentralisée. Si vous n’avez pas lu notre article sur DeFi, la finance décentralisée est essentiellement le reflet de la finance centralisée (notre système financier traditionnel), mais construite sur la technologie blockchain et éliminant les tiers dans les opérations.
Ainsi, dans DeFi, vous pouvez effectuer les mêmes opérations qu’avec un système financier traditionnel, mais sans les tiers et leurs frais.
Cela signifie qu’il existe une version DeFi du prêt, de l’emprunt, du transfert d’argent, et plus encore.
Maintenant, pourquoi mentionnons-nous cela ?
Parce que DeFi utilise des contrats intelligents pour effectuer toutes ces opérations.
Si vous deviez vous engager dans un prêt DeFi, vous utiliseriez des contrats intelligents d’une manière un peu plus avancée que la simple utilisation d’une plateforme d’échange décentralisée qui vous guide à travers toutes les étapes et fait tout le sale boulot pour vous.
Dans ce cas, vous devez vous assurer que le smart contract que vous choisissez d’utiliser a été écrit de manière à ne pas être modifiable et à être accessible au public pour vérification.
Une chose que nous devons toujours garder à l’esprit est que les contrats intelligents sont codés par des personnes. C’est pourquoi il est préférable d’opter pour des contrats intelligents qui sont déjà sur le marché depuis un certain temps et qui sont connus pour leur bon fonctionnement.
Smart Contracts et Applications Décentralisées (dAPP)
En ce qui concerne les autres utilisations avancées des smart contracts, nous devons mentionner brièvement les DAPP, car les smart contracts jouent un rôle important dans leur création.
Les DAPP sont des applications décentralisées codées sur la technologie blockchain, ce qui signifie qu’elles éliminent le besoin d’une partie centrale qui gère toutes les données de l’utilisateur. Au lieu de cela, les données sont distribuées sur la blockchain et l’ensemble du réseau est soutenu par ses mineurs, leur puissance de calcul et la validation des opérations par ces derniers.
Cela pourrait conduire à la construction de reflets miroir des applications et des systèmes que nous connaissons actuellement, mais d’une manière décentralisée pour garantir une plus grande sécurité des données et l’absence de censure.
Par exemple, nous pourrions avoir une version décentralisée d’eBay qui ne limite pas nécessairement ses utilisateurs quant à ce qu’ils peuvent mettre en vente.
D’un autre côté, l’absence de censure pourrait permettre à des utilisateurs mineurs d’accéder plus facilement à des contenus pour adultes.
Mais les applications décentralisées constituent à elles seules un sujet assez vaste. Nous y reviendrons donc dans un autre article afin de simplifier les choses.
Nos Réflexions Sur Les Smart Contracts
Comme d’habitude, la conclusion est que les smart contracts sont assez révolutionnaires et qu’ils vont certainement façonner notre avenir d’une manière ou d’une autre. Mais il reste encore un long chemin à parcourir avant de pouvoir atteindre le plein potentiel des smart contracts et des applications décentralisées.
Tous les secteurs ne peuvent pas encore tirer parti des smart contracts, tandis que dans d’autres, ils peuvent optimiser et accélérer certains processus, réduire les coûts opérationnels et éliminer les problèmes.
Pour l’instant, ils jouent un rôle important dans toutes les opérations effectuées sur les plateformes d’échange décentralisées, comme notre exemple d’article Uniswap. Le smart contract travaille en arrière-plan pour s’assurer que tout se déroule sans problème, les validateurs du réseau aident à valider les événements qui nécessitent une confirmation, et l’utilisateur normal dispose d’une interface agréable et facile à utiliser pour effectuer ses opérations.
Les utilisations avancées comprennent la création d’applications décentralisées (dAPP), le prêt, l’emprunt et d’autres opérations DeFi, ainsi que des utilisations plus uniques, telles que le vote électronique, la tenue de dossiers cliniques ou le traitement des NFT.