Qu'est-ce qu'un smart contract ?

Vous en avez déjà entendu parler. Les smart contracts (ou contrats intelligents) sont des contrats régis par la blockchain. Mais qu'est-ce que ça veut dire exactement ? Qu'est ce qu'il est possible de faire avec les smart contracts ? Explications en détails.

smart contract by Anthony Ledoux from the Noun Project

Définition

Un smart contract (contrat intelligent) est un programme informatique irrévocable qui implémente les ententes contractuelles entre deux parties. À la différence d'un contract légal, l'éxécution d'un smart contract ne dépend ni du bon vouloir respectifs des parties, ni de la capacité d'une autorité légale à mettre le contrat en application: son exécution est garantie par une blockchain, et a lieu lorsque toutes les conditions requises sont réalisées.

Les smart contracts sont utilisés pour transférer des actifs sous conditions, conditions qui doivent être précisément définies : le code informatique n'autorise pas les termes vagues. Lorsque ces conditions sont réunies, les transferts sont déclenchés par la blockchain. Ces transactions héritent des caractéristiques propres à la blockchain : elles sont (en général) rapides, transparentes, et irréversibles. Les smart contracts peuvent être considérés comme auto-éxécutés, car les interventions humaines ne sont pas nécessaires, ni dans le processus de vérification des conditions requises à l'éxécution, ni dans celle-ci.

Les smart contracts permettent la construction d'applications décentralisées.

Contrat légaux vs smart contracts

Par nature, le champ d'application des smart contracts se limite à ce qui peut être entièrement programmé. Il sera difficile, par exemple, de régir une relation commerciale standard avec des smart contracts.

Néanmoins, lorsqu'il possible de construire un smart contract, les avantages de celui-ci sont multiples :

  • N'importe qui peut distribuer un smart contract.
  • N'importe qui peut vérifier un smart contract.
  • Son exécution est automatisée.
  • Chaque contrat définit clairement les conditions requises à son éxécution.

Les smart contracts peuvent donc réduire un certains nombre de risques inhérents aux contracts classiques, comme par exemple:

  • La non-solvabilité des parties: les fonds sont envoyés au smart contract qui vérifie les montants
  • Les délais d'éxécution du contrat: assuré par le smart contract lorsque les conditions sont requises
  • Le flou juridique: inexistant par nature dans un smart contract (étant défini par du code informatique)
  • Les fraudes: le code du smart contract protège de celles-ci, mais celui-ci doit être relu et vérifié par les participants
  • Les surcoûts d'enforcement du contrat sont inexistants (relances, huissiers, frais juridiques, etc)

En revanche, les smart contracts sont du codés informatiquement. Ils doivent donc être vérifiés pour s'assurer qu'ils ne contiennent pas de bugs ou de vulnérabilité.

Les oracles: les yeux de la blockchain

La blockchain est un monde fermé sur elle-même. Elle connait les montants des différentes adresses, des clés de sécurité, l'heure qu'il est... mais pas grand chose d'autre. Afin que les smart contracts puissent faire des choses plus sophistiquées que des applications financières élémentaires, il faut un accès à l'information extérieure : la météo, les résultats sportifs, des données financières, des résultats politiques, etc. C'est à ça que servent les oracles. Ils sont rémunérés par les smart contract pour leur travail.

Un oracle possède un pouvoir phénoménal. Disposant de l'information, il peut influencer les résultats de tous les smart contracts qui l'utilisent. N'importe qui peut lancer un oracle sur la blockchain, à vous de choisir celui que vous utilisez. Mais, l'oracle est-il donc un tiers de confiance ? N'est-ce pas précisément ce qu'on cherchait à supprimer ? Oui et non : la façon dont ils sont construits compte énormément. A vous de choisir ceux que vous utilisez.

Les oracles décentralisés

Accrochez vous, ce n'est pas si technique que ça. Afin d'apporter plus de garanties aux smart contracts, certains oracles, comme par exemple CHAINLINK ou BAND Protocol pour les plus connus, sont eux-même décentralisés.

Les oracles sont basés sur un consensus de collecte, qui déporte à un grand nombre de participants la charge de récolter les informations supportées par l'oracle. Les participants, eux, sont rémunérés pour cette tâche, et ont intérêt à fournir la réponse "correcte" (celle qui fera consensus) pour être rémunérés.

Comment récupère les données et les fournit aux blockchains

En général, la réponse de l'oracle est signée par un système cryptographique appelé TLS Notary Proof, permettant au smart contracts de vérifier si celle-ci a été altérée depuis sa collecte.

Un smart contract n'est donc pas nécessairement fiable simplement parce qu'il tourne sur une blockchain: il peut être buggé, vulnérable, ou faire confiance à des systèmes qui le sont. Tous ces paramètres doivent être pris en compte lors de la souscription et l'utilisation d'un smart contract, même s'il est très probable que dans le futur, des organismes seront chargés de référencer et d'auditer ces aspects pour le compte des entreprises et des individus.

L'utilité des smart contracts

Les smarts contracts permettent d'implémenter tout type d'échange d'actif numérique sans faire confiance à un tiers. Voici quelques exemples de scénarios d'utilisations, dont certains sont déjà en application.

Les échanges P2P (pair-à-pair)

Commençons par le cas le plus classique d'échange: Vous voulez échanger vos Bitcoins contre des USDT (un stablecoin indexé sur le dollar). La méthode classique est d'aller faire cette opération sur un exchange, comme Binance, Coinbase ou Kraken, mais ceux-ci vous prélèveront des frais de transactions. L'autre solution est d'utiliser les smart contracts, qui vous permettent de faire cette échange avec n'importe qui qui désire faire l'échange inverse, sans frais. Vous n'avez pas besoin d'envoyer vos fonds à quelqu'un et d'espérer qu'il honore sa partie du contrat en retour : le smart contract se chargera de faire cet échange pour vous.

Bien sûr, vous n'avez pas envie de faire le tour des forums ou de supplier sur Twitter à chaque fois que vous voulez acheter ou vendre du Bitcoin, c'est pourquoi les DEX (decentralized exchanges) comme Uniswap rassemblent les utilisateurs pour échanger directement entre eux (en pair-à-pair). Si sur les exchanges classiques, la liquidité des marché (ie: assurer le fait que lorsque vous vendez, il y a quelqu'un en face pour acheter) est assurée par les market makers, sur les DEX, elle est assurée par les liquidity pools.

Dans cet exemple, les smart contracts vous permettent de réaliser vos échanges sans intermédiaire de confiance (un exchange), et donc, sans avoir à supporter ses risques et ses coûts.

Le Crowdfunding

Il est très simple d'implémenter les règles d'un système de Crowdfunding dans un smart contract. En réalité, c'est déjà ce qu'il se passe lors des ICOs.

Enregistrement de données personnelles

Les smarts contracts peuvent enregistrer des données dans la blockchain à tout jamais, de façon encryptée et sécurisée. L'une des industries qui pourrait bénéficier de cette technologie est l'industrie de la santé. Les blockchains disposent de toute la technologie nécessaire pour stocker les données personnelles des dossiers patients. Les patients pourraient alors donner l'accès à tout ou une partie de son dossier médical au praticien qu'il consulte. Un système de ce genre pourrait alors être utilisé dans un cadre international, tandis que ces dossiers médicaux sont aujourd'hui régulé par les services publics des différents états (lorsque c'est le cas !).

Les actifs stabilisés (Stablecoins)

Les Stablecoins (cryptomonnaies indexées sur quelque chose de stable, comme par exemple le dollar, l'euro ou l'or) sont très utiles aux investisseurs et aux traders. Elles peuvent se gérer et s'échanger facilement à peu de frais (comme des cryptomonnaies), mais leur valeur reste indexée sur un actif de son choix. Les plus connues sont Thether (USDT), MakerDAO (DAI) ou encore Binance USD (BUSD).

Certains stablecoins sont backés par une garantie collatérale d'un ensemble de cryptomonnaies, comme DAI. Celle-ci fonctionne en prenant aux utilisateurs une garantie collatérale en cryptomonnaie afin de leur laisser emprunter des DAIs (permettant d'échanger sur les marchés). La garantie étant supérieure au montant emprunté, il est en rentable pour l'utilisateur de rembourser les DAIs empruntés, même si tout ou une partie de l'emprunt a été perdue (car elle peut être rachetée). Pour éviter les crash brutaux, les smart contracts liquident les positions des utilisateurs en vendant leur garantie si celle-ci vient à être trop proche du montant emprunté, suite à une baisse du prix de l'actif.

Gestion de la propriété

Lorsque vous achetez un produit doté d'un identifiant unique (par exemple, un smartphone), cette "propriété" est enregistrée par l'entreprise émettrice ou un revendeur sur un système interne. Les smart contracts permettraient de publier et de rendre transparente l'affectation d'une propriété à un utilisateur (dont l'identité serait visible ou non). Cette propriété serait alors conservée sur la blockchain, éliminant le besoin de fournir des preuves d'achat ou des factures. De tels systèmes pourraient également se révéler extrêmement efficace pour retrouver le propriétaire d'un objet, ou pour lutter contre le vol et le recel.

Pour les biens immobiliers, ces mêmes mécanismes pourraient permettre de faciliter les transferts de propriétés, diminuant (voir éliminant) le besoin de recourir à des intermédiaires juridiques (avocats, notaires, etc), et à standardiser ce type d'opération entre les différentes régions du monde.

Ce genre de mécanismes pourrait ouvrir la voie à de nouveau systèmes d'acquisition ou de prêts comme les viagers intelligents ou les smart mortgages, permettant d'hypothéquer un bien sur la blockchain. Les échéances de remboursement seraient alors codifiées par celles-ci et les détails des titres de propriétés pourraient être mis à jour à chaque remboursement, rendant le processus plus sécurisé pour les différentes parties.

Systèmes de ventes et jeux de hasard

L'homme a toujours été créatif pour inventer des façons d'échanger. Loteries, ventes aux enchères, enchères inversées, jeux de hasards, casinos... De même que dans l'exemple précédent, tout ceci est implémentable en smart contracts, et permet de supprimer des intermédiaires.

Dans le domaine du jeu et du pari, la suppression de l'intermédiaire de confiance vous permet de réduire les risques de malhonnêteté: vous jouez à des jeux dont l'équité est démontrable (il suffit de lire les smart contracts). On parle de provably fair.

Vote et gouvernance

Les smart contracts permettent d'enregistrer des informations sur la blockchain. Ils permettent de créer des systèmes de votes décentralisés, qui jouiraient du même niveau de sécurité que la blockchain elle-même, les utilisateurs étant identifiés par leur clé privée.

Si ces systèmes ne sont pas encore utilisés pour des élections légales, ils le sont déjà sur certaines blockchain pour orienter la gouvernance de celle-ci : répartir la trésorerie, choisir les directions de développement, gérer le budget, etc.

Automatisation

Les smarts contracts peuvent régir les interactions entre systèmes interconnectés. Par exemple, une voiture-taxi entièrement automatisée aura besoin de dépenser de son portefeuille pour passer un péage ou se garer. Les smart contracts permettent d'éviter d'avoir à développer et intégrer des ponts de développements avec tous les systèmes existants des différentes entreprises, et deviendront probablement un standard de facto dans ce genre de fonctionnement.

Assurances

Les smart-contracts munis d'oracles permettent de rédiger précisément tout types d'assurances afin de mutualiser les risques au sein d'un groupe d'individus, en éliminant les intermédiaires (assureurs). Par exemple, un groupe de sportifs de haut-niveau peuvent décider de supporter une partie des pertes de revenus de ceux d'entre eux qui se blessent, et créer un fond commun auprès d'un smart contract.

Les entreprises pourraient également gagner un accès plus facile à l'assurance, permettant de réduire les risques de faillite. En construisant des smart contracts sur mesure, elle peuvent, contre une partie de leur revenus, assurer leurs activités contre les intempéries, les catastrophes naturelles ou tout autre évènement aléatoire imprévisible pour elles, et soumettre ces smart contracts sur les marchés financiers, faisant fonctionner au mieux les mécanismes de l'offre et de la demande.

Propriété Intellectuelle

Les smarts contracts permettent, en sauvegardant des données chiffrées sur la blockchain, de protéger de la propriété intellectuelle d'actifs numériques (comme de la musique ou du code, par exemple).

Les entreprises peuvent alors se protéger contre l'apparition de restrictions dues à des nouveaux dépôts de brevets, car elles seront capables de démontrer l'antériorité de leur utilisation des technologies concernées, sans passer par de l'entiercement. Plus besoin de tiers de confiance, vous commencez à saisir l'idée.

Dépôt de garantie

Bien entendu, les smart contracts peuvent servir à faciliter les dépôts de garantie, selon des règles libres. Par exemple, il est possible d'accorder à un tiers la possibilité de trancher le débat en cas de désaccord entre l'utilisateur et le propriétaire d'un bien, ou alors, de demander au propriétaire d'engager également des fonds dans le dépôt, afin de l'inciter lui aussi à trouver une solution en cas de désaccord.

L'avenir des smart contracts

Les smart contracts semblent être promis à un bel avenir : Il existe encore aujourd'hui beaucoup de systèmes qui reposent sur un tiers de confiance, tiers qui a un coût (parfois très significatif) et qui comporte des risques. Un système similaire supprimant ce tiers pourrait vite se retrouver très compétitif.

Le développements des plateformes, des technologies de creations et de preuves, des oracles et des systèmes de tests vont pousser toujours plus d'utilisateurs à s'engager sur la piste des smarts contracts. C'est ce qu'on observe aujourd'hui avec l'explosion récente de la DeFI.

Si la finance est un monde rempli d'intermédiaires, et qui brasse des volumes impressionnants (suffisamment pour propulser le marché des cryptos 100x plus haut que sa capitalisation actuelle), il existe des centaines d'applications possibles pour les smart contracts dans le monde de l'industrie. Si l'adoption progressive des cryptomonnaies se poursuit et que les prix se stabilisent, il est probable que nous observions un décalage progressif des différents acteurs vers cette technologie.