En plus de votre inscription gratuite, recevez également :
Le plan d’investissement adaptable qui a permis à nos clients de réaliser en moyenne +120% de plus-values en 2023.
(d’une valeur de 250€)Qu'est ce qu'un smart contract ?
Depuis 2015 et l’arrivée d’Ethereum, la notion de smart contract est devenue centrale au sein de la cryptosphère. Ces contrats intelligents comme on les appelle, sont la pierre angulaire de tout l’écosystème crypto aujourd’hui.
Leur signification est souvent mal comprise et leur fonctionnement parfois complexe à saisir. Pourtant, leur champ d’application semble de plus en plus large, au point peut-être, de venir concurrencer les « contrats papiers » dans les années à venir.
Sommaire
- Smart contract : définition
- Comment fonctionne un smart contract ?
- Smart contracts : application concrète
Smart contract : définition
La notion de smart contract n’est pas née avec les cryptomonnaies comme beaucoup pourraient le penser. En réalité il faut remonter au milieu des années 1990 pour assister à la naissance de ce terme.
Nick Szabo, un cryptographe reconnu, est le premier à en parler dans son papier du « smart contracts » publié en 1994. Par ailleurs, il est souvent considéré comme l’une des personnes les plus crédibles pour endosser le costume de Satoshi Nakamoto.
Il est le premier à avoir évoqué cette notion centrale de contrat intelligent et il avait lui-même créé l’un des précurseurs de Bitcoin : Bit Gold.
Mais pour en revenir à la définition en elle-même un smart contract est un programme informatique irrévocable qui exécute un ensemble d’actions pré définies dans son code quand certaines conditions sont remplies.
Ils peuvent être ridiculement simples avec quelques lignes de code et une seule condition/conséquence définies. Mais ils peuvent aussi être infiniment plus complexes avec des fonctions qui font appel à d’autres, qui elles-mêmes appellent un autre contrat, etc…
Evidemment, la complexité du code du contrat intelligent est inversement proportionnelle à son niveau de sécurité. Plus un code possède de paramètres, plus il y a de chances qu’un hacker puisse y déceler des failles.
La philosophie derrière cette invention est de ne plus se référer à un tiers de confiance mais à du code informatique. « Code is law » comme aiment à le proclamer les cryptofans.
L’une de ses autres caractéristiques est qu’un tel contrat est immuable. Etant encodé sur une blockchain il ne peut pas subir de modifications ultérieures.
Son exécution automatique et systématique tranche sérieusement avec les différentes interprétations et recours possibles dans le monde réel à travers des contrats papiers.
Smart contract : entre sécurité et automatisation
Le gros avantage d’un smart contract c’est son côté définitif. Les règles sont fixées sur la blockchain destinatrice. Impossible de les changer, elles sont visibles aux yeux de tous.
Les opérations qui concernent le smart contract sont ainsi transparentes et auditables.
L’autre atout d’un contrat intelligent repose sur son impartialité. Il n’y a pas d’interprétation possible, pour une ligne de code le résultat sera noir ou blanc, il n’y a pas d’entre deux. Si un utilisateur prend trop de levier sur un emprunt il se fera liquider sans état d’âme.
Il n’y a ainsi pas de possibilité de litige et une automatisation qui rend les échanges plus effficaces.
Enfin, dernier avantage de taille pour les smart contracts : ils diminuent drastiquement les coûts liés aux intermédiaires. Au lieu de passer par un notaire ou par une maison de disque, l’utilisateur peut créer un contrat automatique qui s’exécutera selon ses conditions à moindres frais.
Cependant, les smart contracts révèlent aussi des zones d’ombre à ne pas négliger. Tout d’abord, le risque le plus évident c’est celui d’une faille dans le codage informatique. En effet, la plupart disposent d’un code open source et si ce dernier contient des erreurs elles peuvent être exploitées par un hacker.
Pour lutter contre cela, de plus en plus de smart contracts sont audités par des entreprises extérieures pour déceler la présence d’éventuels bugs.
Mais le problème peut également venir d’une source externe au code. La plupart des smart contracts ont recours à des oracles pour récolter les informations du monde extérieur.
Or, si la source de l’information est elle-même fausse, alors le smart contract basera son exécution sur des données erronées.
Comment fonctionne un smart contract ?
Un smart contract peut être vu comme le pendant numérique du classique contrat papier et il fonctionne globalement de la même manière.
Il répertorie en général :
- les différentes parties prenantes
- les conditions nécessaires à son exécution
- les opérations qui découlent de son exécution.
Pourtant, l’inverse d’un contrat classique il ne souffre d’aucune interprétation ou de flou juridique : le smart contract s’exécute de manière automatique lorsque ses conditions sont remplies.
Toutes les actions exécutées par le contrat intelligent sont répertoriées dans le registre d’une blockchain. Cela permet de sécuriser les différentes opérations qui ont eu lieu en les gravant de manière immuable dans la blockchain.
Cela empêche ainsi de réécrire l’histoire une fois le contrat exécuté : le résultat du contrat est public et irrévocable.
Smart contract Ethereum : la référence
Tout comme les contrats papiers, les smart contracts possèdent des formats prédéfinis. Les développeurs utilisent ainsi des templates pré établis pour créer un smart contract plus facilement.
Le plus connu d’entre eux est le format standard utilisé sur Ethereum : l’ERC-20. C’est une norme de contrat qui doit être respectée pour pouvoir être reconnue et exécutée par la Machine Virtuelle d’Ethereum (EVM).
L’EVM est une sorte de système d’exploitation décentralisé d’Ethereum. Elle est capable de lire n’importe quel information issue d’un smart contract au format ERC-20.
Tous les tokens qui circulent sur la blockchain Ethereum sont en fait issus d’un contrat intelligent rédigé sur cette même blockchain. Le langage Solidity utilisé sur Ethereum est dit « Turing-complete« . En d’autres termes il permet d’exprimer un très large panel d’actions à partir de lignes de code.
Cette programmabilité était nécessaire et voulue par Vitalik Buterin, pour pouvoir permettre à Ethereum de devenir le nouvel « Internet décentralisé ».
Dans le format des contrats il est nécessaire que ceux-ci soient déterministes, c’est-à-dire que les mêmes facteurs conduisent aux mêmes conséquences, et finalisables.
Or, il est difficile de savoir si un programme est finalisable ou s’il peut faire planter le système en instaurant une boucle infinie.
C’est dans cet optique qu’a été pensé le gas sur Ethereum. Il représente le carburant nécessaire pour exécuter un smart contract. Plus ce dernier est complexe, plus il nécessitera de gas pour fonctionner. Cela limite l’effet de boucle infinie au niveau de solvabilité du wallet exécutant le smart contract.
Smart contracts : application concrète
Ethereum est parmi les premières crypos à avoir popularisé la notion de smart contracts. Aujourd’hui encore elle est de loin la plus utilisée pour l’usage de tels contrats.
Cependant, de nombreuses blockchains essaient de voler la vedette à Ethereum et de se faire une place au soleil. Une émulation positive qui conduit les créateurs de cryptos à être toujours plus inventifs et à rechercher de nouveaux usages.
Ainsi, si l’on pouvait au début seulement parler de smart contracts pour effectuer des échanges de cryptos, aujourd’hui le champ d’application apparaît de plus en plus vaste :
- les services bancaires de prêts/emprunt avec des plateformes comme Aave ou Compound qui grâce à leurs smart contracts permettent de prêter ou emprunter des cryptos
- les assurances avec par exemple les smart contracts Ensuro sur Teller et Polygon qui permettent aux souscripteurs un remboursement en cas d’annulation de voyage
- l’immobilier avec des biens qui peuvent désormais être tokenisés comme le fait RealT. cela les rend plus liquides et plus abordables
- l’art, la mode ou les jeux vidéos où les smart contracts NFT ont permis de grandement rapprocher les créateurs de contenus de leur communauté en supprimant les intermédiaires
En résumé, les smart contracts pourraient prendre une grande place dans notre monde à l’avenir . Leur automatisation les rendant beaucoup plus rapides et efficaces que leurs homologues papiers.