Dans le monde de la blockchain, le smart contract ou contrat intelligent est un terme indispensable à connaître. Ce concept est utilisé une grande quantité de blockchains et permet de réaliser des interactions totalement décentralisées et donc, sans tiers de confiance.
Les contrats intelligent, une technologie qui ne date pas d’hier
Le concept même de smart contract a été décrit pour la première fois en 1994. C’est le cypherpunk Nick Szabo, un cryptographe américain notamment connu pour ses travaux sur les monnaies virtuelles qui en a parlé pour la première fois au travers d’un article.
“Un contrat intelligent est un protocole de transaction informatisé qui exécute automatiquement les termes d’un contrat. Les objectifs de la conception de contrats intelligents sont de satisfaire aux conditions contractuelles courantes (telles que les modalités de paiement), de minimiser les erreurs et le besoin d’intermédiaires fiables.” indique le cryptographe Nick Scabo en 1994 dans son article.
Il faudra finalement attendre jusqu’en 2014 avec l’émergence d’Ethereum pour que l’usage théorique devienne une réalité. C’est avec le langage de programmation Solidity, un langage spécifiquement conçu pour Ethereum, que les contrat intelligent sont développés et vont connaître un succès grandissant.
Ethereum est donc la première plateforme à exploiter le potentiel de ces contrats intelligents à grande échelle.
Smart Contract : Définition dans l’écosystème blockchain
Les « Smart Contracts » ou Contrats Intelligents en français sont tout simplement des programmes informatiques automatisés et décentralisés. Introduits par la blockchain Ethereum pour pallier le manque d’interactions sur le Bitcoin, les smart contracts permettent d’exécuter des transactions lorsque les conditions requises sont remplies.
En pratique, les contrats intelligents sont des programmes qui régissent le comportement des comptes sur la blockchain sous-jacente. Un ensemble d’instructions qui permet aux développeurs de créer des applications décentralisées, plus connues sous le le nom de dApps.
Comment ça fonctionne exactement ?
En réalité un smart contract a quelques similarités avec un portefeuille de cryptomonnaie classique. Chacun de ces contrats peut donc recevoir et envoyer de la cryptomonnaie, comme vous le feriez avec un wallet Metamask.
Cependant, il n’est pas directement contrôlé de la même façon par ses utilisateurs. En effet, le smart contract est un ensemble d’instructions qui est publié sur une blockchain pour fonctionner de façon décentralisée, automatique et indépendante. Les utilisateurs vont donc interagir avec le smart contract en faisant appel à des fonctions bien précises de celui-ci.
Si nous prenons le cas des plateformes d’échanges décentralisées (DEX), ces fonctions peuvent être :
- Échanger deux cryptomonnaies (swap)
- Déposer de la liquidité dans une pool de farming (deposit)
- Réclamer ses récompenses (claim)
Pour cela, les utilisateurs vont soumettre des transactions qui vont déclencher une suite d’événements logiques qui sont codés dans le contrat intelligent.
Différents contrats sur différentes blockchains
Grâce à l’innovation apportée par cette technologie, le concept de contrat intelligent est utilisé sur de nombreuses blockchains. Chacune d’entre elles peut avoir différentes façons de les implémenter avec différents langages de programmation.
Sur la blockchain Ethereum par exemple, les smart contracts sont codés avec le langage Solidity. Un langage de programmation orienté objet et de haut niveau. C’est ce langage qui permet de mettre en œuvre les contrats intelligents sur la blockchain.
D’autres blockchains existent aussi avec ce concept de contrat comme :
- Bitcoin via un ensemble de protocoles open source nommé RGB
- Solana qui permet de créer et déployer des contrats avec le langage Rust
- Polkadot qui utilise le protocole Moonbeam pour permettre de coder les smart contracts en Solidity
- Cosmos (ATOM) via la plateforme de smart contracts CosmWasm
Aujourd’hui, toutes les blockchains dîtes EVM compatibles (Ethereum Virtual Machine) supportent les contrats intelligents.
L’utilité des smart contracts dans la cryptomonnaie
Comme vous venez de le voir, ces contrats intelligents permettent d’exécuter des transactions sans tiers de confiance avec des règles bien définies. C’est par le biais de ces contrats qu’il est aujourd’hui possible de faire de la finance décentralisée (DeFi).
Si aujourd’hui ils n’existaient pas, il serait impossible de :
- Prêter ou emprunter de la cryptomonnaie
- Faire du staking sur différents protocoles
- De vendre des NFT sur des places de marchés (marketplaces) décentralisées
- Pouvoir interagir et échanger 24 heures sur 24 et 7 jours sur 7
C’est grâce à eux que vous pouvez interagir sur différents protocoles et différentes plateformes du Web3. Mais demain, un déploiement à plus grande échelle de ces contrats pourrait révolutionner de nombreux secteurs. Ainsi, il serait possible d’envisager :
- d’être indemnisé en cas de retard de son train
- d’obtenir automatiquement des aides si l’on vit sous le seuil de pauvreté
- de voter lors des élections présidentielle
Bien sûr, ces différents exemples vont demander du temps et le développement de nouvelles technologies comme les Oracles de blockchain.
La transparence et la sécurité au cœur du débat
Derrière cette décentralisation et la suppression du tiers de confiance se cache aussi l’aspect sécurité. Quand vous faites appel à une institution financière pour faire travailler vos actifs comme une banque, il y a quand même peu de chance que la banque fasse faillite.
Avec les smart contracts, ce tiers de confiance n’existe plus. Malgré tout, il faut accorder une certaine confiance au code informatique. Selon les équipes de développement, le code peut être open-source, c’est à dire relu et amélioré par tout le monde.
Certaines personnes vont donc œuvrer à la sécurisation des protocoles pour éviter les bugs et failles. D’autres en revanche vont exploiter les failles de sécurité de ces protocoles pour détourner de l’argent.
Gardez à l’esprit qu’aucun système n’est inviolable, aussi bien du côté informatique que celui de l’humain.
Conclusion
Ce qu’il faut retenir des smart contracts, c’est qu’ils permettent d’atteindre une véritable décentralisation en bénéficiant d’une exécution automatique. Ils permettent d’éliminer le tiers de confiance dont l’on dépend avec les institutions financières ou des entreprises.
Malgré tout, il ne faut pas oublier que ces contrats sont codés par des humains et que l’erreur reste possible. Une innovation qui vous permet d’échanger, de gérer et faire travailler vos fonds en toute liberté.
Depuis 2017, je ne cesse d'explorer l'univers du Bitcoin, de la blockchain des crypto monnaies, des NFT et plus récemment, celui du Web3. Après avoir fondé Au Coin du Bloc en 2021, je met à disposition mes connaissances et tente de vulgariser les aspects obscurs pour rendre abordable et compréhensible cet univers naissant dans lequel je crois fermement.