Qu'est-ce qu'un smart contract ?
Qu’est-ce qu’un smart contract ? Comment ça fonctionne et surtout, à quoi ça peut servir ? Voyons tout cela ensemble !
Un smart contract, ou « contrat intelligent » en français est un programme qui s’exécute automatiquement lorsque des conditions, définies à l’avance, sont remplies. Mais dans quelle mesures ? Et surtout, comment ça marche ?
Un smart contract, c’est quoi ?
Avant de voir en détail ce que fait, et ce qu’est un smart contract, voyons déjà ensemble ce qu’il n’est pas. Car, un smart contract, ou « contrat intelligent », n’est pas toujours reconnu comme un contrat, car n’ayant pas une valeur légale universelle. Et le terme « intelligent » fait référence à l’automatisation des conditions prédéfinies, plutôt qu’à une véritable intelligence.
En terme légal, le mot contrat a une signification particulière qui lie deux (ou plus) parties, qui s’engagent à respecter les termes d’un accord. La valeur légale des smart contracts peut donc varier en fonction de la juridiction et du cadre réglementaire.
Quant au mot « intelligent » il ne s’applique pas réellement dans le cas du smart contract. Le terme « smart » peut donc être trompeur.
En effet, il ne signifie pas que le contrat possède une intelligence ou une capacité à prendre des décisions complexes de manière autonome. Cela signifie juste que le contrat peut exécuter des lignes de codes, suivant des conditions programmées et non contournables.
Avec l’arrivée massive de l’IA dans tous les domaines techniques, il est fort probable que cet aspect évoluera dans les années à venir, mais dans l’immédiat un smart contract n’est pas capable de gérer des conditions qui ne seraient pas strictement prévues par le code.
Un smart contract, c’est donc les conditions d’un accord, écrit dans un langage informatique, qui automatise des actions. Le tout étant stocké sur la blockchain sur laquelle il s’exécute, sans qu’il n’y ait besoin d’une intervention humaine.
Naissance et évolution
C’est Nick Szabo qui invente le terme, et le fonctionnement du smart contract, dans les années 1990. Cryptographe et informaticien de génie, l’Américain va décrire comment du code informatique pourrait imiter la logique des contrats papier afin d’automatiser leur exécution.
Le smart contract évoluera alors jusqu’à son implémentation sur la blockchain Ethereum en 2015.
En effet, à l’inverse de ce qui existe sur la blockchain Bitcoin, Vitalik Buterin va utiliser un langage Turing-Complet pour la création de sa blockchain. Il devient alors possible d’exécuter des conditions, telles que des IF / THEN qui permettront de mettre en place des actions si elles sont validées.
Par exemple SI (IF) l’utilisateur envoit 0,1 ETH à mon adresse Ethereum THEN (alors) je lui transfère un NFT de manière automatique en retour. Le but premier étant de pouvoir déployer des smart contracts et de créer des applications qui interagiront directement avec la blockchain.
Avantage d’un smart contract
Étant donné qu’il repose sur la blockchain, le smart contract peut être totalement auditable, ce qui permet d’avoir une transparence sur son contenu et son déroulement, ce qui est un avantage non négligeable lorsque l’on désire montrer patte blanche dans un projet. Mais, attention, ce n’est pas systématique, il est possible de masquer le code sur certaines blockchains.
Un autre avantage est le fait qu’une fois déployé, le code est stocké sur la blockchain, donc immuable. Il pourra cependant être modifié ou mis à jour par ses créateurs, qui devront alors procéder à une nouvelle version de ce smart contract.
Et comme expliqué précédemment, l’avantage principal d’un smart contract est le fait que son exécution est automatique si les conditions rédigées par le développeur sont remplies.
Il est alors possible de mettre en place des plateformes d’achat / vente de NFT, du trading, des envois automatisés, etc. Une fois déployé, il est possible de tout (ou presque) imaginer en termes d’application.
Prenons par exemple le cas d’un assureur, qui rembourse les passagers d’une compagnie aérienne en cas de problème sur le vol, comme un retard de plus de 20 minutes. Avec le déploiement d’une application et d’un smart contract, il peut facilement automatiser une procédure de remboursement, de manière sécurisée.
SI le passager était sur un vol assuré ET qu’il y a eu un retard de plus de 20 minutes, ALORS (après vérification auprès de la compagnie) l’assureur rembourse le montant de la place sur le vol.
Ce système permet un gain de temps considérable. Toutes les transactions sont exécutées en temps réel, automatiquement, sans validation ou intervention humaine, et le tout grâce à des sources de données que la compagnie aérienne et l’assureur peuvent valider comme étant sûres.
Étant donné que le smart contract est stocké sur la blockchain, il est auditable et sécurisé (via le consensus de la blockchain). L’assureur comme le contracteur de l’assurance sont donc certains d’être pris en charge, et il sera possible de vérifier le déroulement.
Le smart contract, c’est magique alors ?
Si la question se pose, c’est bien entendu que la réponse est non.
Premièrement, le contenu reste du code écrit par l’humain, et donc possède un certain nombre de limites. De plus, il faut avoir confiance dans le créateur du code, et/ou savoir le lire pour être capable de l’auditer et le comprendre. Ce qui n’est pas donné à tout le monde par définition.
Et, même si l’auteur est bien intentionné, il est toujours possible qu’un pirate découvre une faille dans le code, et l’utilise à son avantage.
Il n’est pas rare de voir des smart contrat de staking, ou de finance décentralisée se faire vider intégralement de leur contenu, parce qu’un pirate a réussi à trouver comment utiliser le code à son avantage.
En conclusion, il est certain que le smart contract est une avancée fantastique dans le domaine de la blockchain, et nous n’en sommes qu’au début de ses possibilités.
À n’en pas douter, son rôle va évoluer dans les années à venir, que ce soit grâces aux possibilités de l’intelligence artificielle, ou grâce aux nouvelles blockchains qui voient le jour régulièrement. Il ne serait pas étonnant que l’IOT (internet des objets) se mettent en place également afin de pouvoir piloter sa maison ou son industrie via la blockchain.
N’hésitez donc pas à explorer ce monde très vaste, tout en restant prudent dans vos actions et essais. Et pourquoi pas, si le domaine vous plait, à jeter un œil du côté des métiers qui pourraient vous amener à développer ou utiliser les smart contracts.