Qu’est-ce qu’un smart contract ?

Home » Apprendre » Ethereum » Qu’est-ce qu’un smart contract ?

De nombreuses personnes ont entendu parler des smart contracts. Créés à partir de la blockchain Ethereum, qu’apportent-ils réellement et comment fonctionnent-ils ? Coinhouse vous explique au travers d’un exemple concret ce concept et les innovations qu’il concrétise.

La fonctionnalité la plus importante d’Ethereum est la possibilité d’utiliser des smart contracts. Dans cet article, nous allons détailler le fonctionnement de cette technologie, ses usages et ses limites, afin de la rendre compréhensible au plus grand nombre.

La blockchain Bitcoin pour des transactions simples

Liquid Bitcoin

En utilisant la technologie Bitcoin, on utilisera la plupart du temps des transactions simples, via l’envoi de bitcoins d’une adresse à une autre. Il est aussi possible d’utiliser des mécanismes plus complexes, comme la multi-signature. Mais ces fonctionnalités restent limitées et ne permettent pas l’exécution d’algorithmes complexes.

L’introduction de la condition dans l’exécution d’une action

Concept formulé en 1996 par le développeur Nick Szabo, un smart contract est un programme informatique enregistré sur une Blockchain, la plupart du temps Ethereum. Il permet de déclencher des transactions conditionnelles dont l’exécution dépend de facteurs définis à l’avance via un algorithme. Les smart contracts s’exécutent grâce aux ethers que vous pouvez acheter et vendre sur notre plateforme Coinhouse, tout comme la plupart des tokens adossés aux projets créés à partir de smart contracts.  Ces ethers servent de carburant consommé au fur et à mesure de l’exécution du programme.

Prenons un exemple : on veut réaliser un projet de crowdfunding, avec les meilleures garanties de sécurité, et avec un montant minimum en dessous duquel le projet sera annulé. On demande à des souscripteurs d’envoyer de l’argent sur une période d’un mois. Si le projet récolte plus de 1000€, l’argent est versé aux gestionnaires du projet, sinon les souscripteurs seront intégralement remboursés.

La question de la confiance des investisseurs

smart contract

Les problématiques habituellement posées par ce genre de projet apparaissent alors : pendant le mois où le projet est ouvert à la souscription, qui conserve les fonds ? Le gestionnaire du projet ? Une plateforme centralisée ? Quelle garantie ont les souscripteurs de récupérer leur mise initiale si le projet n’atteint pas la somme minimale définie ? Quel suivi des fonds pourra être effectué, et par qui ? On pourra éventuellement mettre en place des contrats, visés par des avocats dans un cadre juridique, mais on ne pourra jamais atteindre un niveau de sécurité absolue, comme il a malheureusement été prouvé dans le passé.

Le smart contract établit des règles à l’avance

En utilisant Ethereum, toutes ces questions reçoivent une réponse cohérente. Un développeur écrit un programme informatique qu’on appelle smart contract, la plupart du temps dans le langage Solidity. Ce programme définit l’intégralité des règles telles qu’elles ont été définies au début du projet : un mois de souscription, à qui les fonds seront envoyés, quel montant minimum sera récolté, etc.

Transparence et immuabilité

Le créateur du smart contract écrit ensuite celui-ci sur la Blockchain Ethereum, sous la forme d’une transaction, exactement comme s’il effectuait un simple envoi d’ethers d’une adresse à une autre. Gravé sur la Blockchain, le smart contract devient impossible à modifier, et son contenu peut être consulté par n’importe qui, en toute transparence.

Une sécurité génératrice de confiance

Le smart contract dispose d’une adresse Ethereum publique, vers laquelle il est possible d’envoyer des ethers. Les souscripteurs ont donc à partir de ce moment un mois pour le faire. Qui conserve les fonds ? Le smart contract les séquestre pendant la période de souscription. A qui seront-ils livrés ? Les règles telles qu’elles sont définies en toute transparence précisent l’adresse à qui les fonds seront livrés si l’on a dépassé le minimum demandé, sinon les fonds seront automatiquement renvoyés à chaque souscripteur.

confiance smart contract

Qui peut tricher ? Personne, car il est impossible de modifier les règles une fois le smart contract envoyé sur la Blockchain. On voit donc le potentiel particulièrement intéressant en termes de transparence et de sécurité pour ce genre d’application.

De plus, via les smart contracts, il est possible de traiter de nombreuses activités qui nécessitaient auparavant des intermédiaires, des tiers de confiance, des responsables, et qui maintenant peuvent être traitées automatiquement et de façon parfaitement sécurisée.

Quelles sont les limites du smart contract ?

Les smart contracts ne résolvent bien entendu pas tous les problèmes, et présentent un certain nombre de limites détaillées ci-dessous.

Tout d’abord, ce qui fait la force des smart contracts, c’est-à-dire leur immuabilité, peut aussi être leur pire faiblesse. Si le programmeur ayant créé le smart contract y a introduit des bugs, il est impossible de les réparer une fois le contrat présent sur la Blockchain. Et si des hackers mal intentionnés réussissent à l’exploiter, le pire peut arriver, comme lors du piratage du projet ‘’The DAO’’.

Le problème de la volatilité

avenir du Bitcoin ETF

Ensuite, nous l’avons vu, les fonds sont séquestrés dans le smart contract. Si c’est de l’ether, le cours peut varier assez fortement pendant l’exécution du contrat. Dans le cas  d’une assurance, par exemple, il n’est pas souhaitable que la prime évolue dans le temps. Il est possible de pallier à ce genre de problématique en utilisant des stablecoins – des cryptoactifs dont le cours ne varie pas car adossé à une monnaie fiduciaire comme l’Euro – tels que le Maker DAI.

Le concept d’oracle

Enfin, s’il est possible de vérifier ce que contient un smart contract ou une adresse Ethereum assez facilement en terme de transactions, il est beaucoup plus difficile de vérifier une information ou un événement ayant eu lieu hors Blockchain: un accident s’est-il produit sur tel véhicule ? Qui a gagné telle ou telle élection ? Il faudra dans ces cas de figure utiliser un “oracle” qui permettra d’affirmer que la condition déclenchant le paiement du contrat s’est bien réalisé.

Or, cet oracle, étant situé hors Blockchain, pose à nouveau un problème qui existait avant la création du smart contract: peut-on faire intégralement confiance à cet intermédiaire, et par quel biais ? Des tiers de confiance tels que les notaires ou des entreprises d’audit bien établies seraient sans doute les mieux à même de pouvoir remplir ce rôle.  Des projets d’oracles décentralisés se développent également, fournissant des informations facilement vérifiables par différents partis lisibles directement sur la Blockchain.

Les smart contracts ont le potentiel de révolutionner une quantité innombrable d’activités économiques, en décentralisant la confiance, en formalisant la logique de l’exécution d’un paiement complexe via un langage informatique, et en séquestrant les fonds de façon sécurisée pendant la durée du contrat. Il n’est pas étonnant que beaucoup d’entreprises, et même des acteurs gouvernementaux s’y intéressent de près, même s’il est nécessaire de rester conscient du cadre dans lequel elles pourront être utilisées au mieux.