Le terme "smart contract" (ou "contrat intelligent") est apparu avec l'essor des blockchains, et notamment la blockchain Ethereum. Mais qu'est-ce qu'un smart contract exactement ? Est-ce un contrat au sens juridique du terme ? Quels sont ses avantages et ses inconvénients ? Et comment peut-il révolutionner les relations contractuelles ? Cet article se propose de répondre à ces questions en explorant en profondeur le monde des smart contracts.

Qu'est-ce qu'un Smart Contract ?

Un smart contract est un programme informatique auto-exécuté, inscrit sur une blockchain. Il s'agit d'un protocole informatique qui exécute un ensemble de conditions prédéfinies sous la forme d'une boucle conditionnelle : « If this (condition(s)) then that (conséquence(s)) ». En d'autres termes, c'est un contrat dont le fonctionnement repose sur la blockchain, ce qui permet d'automatiser son exécution.

Les Origines du Concept

Le premier à avoir utilisé le terme de smart contract est Nick Szabo, dans les années 1990. Il l'imagine en observant le fonctionnement d’un distributeur de boissons. L’insertion de l’appoint de monnaie entraîne invariablement la réception d’une canette. Le développement de la blockchain lui vaut aujourd’hui un regain d’intérêt.

Smart Contract vs. Contrat Traditionnel

Juridiquement, un contrat est formé dès lors qu’une offre rencontre une acceptation. Traditionnellement, cette rencontre se fait de façon formelle ou informelle, par la rencontre des contractants ou leur mise en relation. Il convient donc de rédiger par écrit le contrat pour en officialiser les termes et garantir les obligations des cocontractants sur le plan juridique. Le smart contract reprend l’ensemble de ces notions du contrat mais résulte d’un programme informatique inscrit dans une blockchain au même titre que les cryptomonnaies.

En droit, un contrat est un accord de volonté entre deux parties. Le smart contract n’est donc pas assimilable à un contrat au sens juridique du terme. Il est donc tout à fait possible de signer un contrat classique dans le cadre d’un smart contract.

Lire aussi: Causes et prévention de la naissance prématurée

Comment Fonctionne un Smart Contract ?

En pratique, un smart contract exécute automatiquement des conditions prédéfinies et inscrites dans une blockchain. Seul le code informatique décide de l’exécution totale ou partielle d’un contrat. C’est cette spécificité qui rend ces protocoles “intelligents”.

Le Rôle de l'Oracle

Pour automatiser l’exécution d’un contrat, le programme informatique qui assure le fonctionnement du smart contract a besoin de données. Un oracle est une source de données fiable qui permet au smart contract de fonctionner sans l’intervention des parties. La nature de l’oracle dépendra de l’objet du smart contract en question. Si le smart contract a pour objet un pari portant sur un match de football, les parties peuvent convenir qu’ils se fieront au résultat officiel du match.

L'Exécution Automatique

L’ensemble de ces fonctionnalités sont assurées par le caractère informatisé des smarts contracts. Ainsi, lorsque les conditions pré-établies seront remplies, alors le contrat prendra forme et chaque contractant sera débiteur de son obligation. En comparaison avec son homologue traditionnel, le Smart Contrat en plus de définir les règles d’un accord entre plusieurs parties, fige les règles de celui-ci dans la blockchain en assurant le transfert d’un actif lorsque les conditions contractuelles se vérifient. L’ensemble du processus de contractualisation est donc automatisé, de la rédaction à la fin du contrat, assurant une “notarisation” du processus contractuel.

Les Avantages des Smart Contracts

Les smart contracts offrent de nombreux avantages par rapport aux contrats traditionnels.

  • Gain de temps : l’automatisation de l’exécution du contrat permet de gagner du temps.
  • Économie : pour les contrats complexes à exécution successive, le smart contract peut permettre d’économiser de l’argent.
  • Sécurité : L’immutabilité, la traçabilité, la sécurité et l’intégrité - caractéristiques essentielles de la blockchain - sont au service de la force obligatoire du contrat. Réputée infalsifiable, l’ancrage d’un smart contract sur la blockchain permet son horodatage. Enfermé dans un bloc de la chaîne, le smart contract revêt le caractère infaillible de la blockchain. L’enchaînement des blocs rend le smart contract traçable et indélébile. Décentralisée, la distribution des données dans une multitude de serveurs permet d’en garantir la sécurité.
  • Réduction des risques d'erreur : Parce qu’ils simplifient et fluidifient les transactions entre différents acteurs, qui n’ont pas besoin de se faire confiance ni même de se connaître, ils ont toutes les chances de s’imposer.
  • Suppression des frictions liées aux obligations contractuelles : L’automatisation de l’exécution rend caduque toute nécessité d’interpréter les termes du contrat. Soit les obligations sont remplies, soit elles ne le sont pas - point.
  • Efficacité accrue : Le modèle le plus fréquent est un contrat conclu dans le monde physique, contrat « fiat », dont l’exécution est assurée par un ou des protocoles de smart contract, dispositif qui garantit une plus grande effectivité et une plus grande efficacité des engagements.

Les Inconvénients et les Risques des Smart Contracts

Malgré leurs nombreux avantages, les smart contracts présentent également des inconvénients et des risques qu'il est important de prendre en compte.

Lire aussi: La Couche Réseau Expliquée

  • Erreur de l’oracle : Dans la plupart des cas, le smart contract récupère la donnée d’un oracle pour exécuter le contrat. Si cette donnée n’est pas fiable (erreur de la poste par exemple), le contrat sera tout de même exécuté sans possibilité de revenir en arrière.
  • Piratage : si la blockchain sur laquelle repose le smart contract ne peut pas être piratée, il n’en est pas de même pour le programme informatique qui exécute le contrat.
  • Immuabilité de la blockchain : la blockchain est par nature immuable. Cela signifie qu’il n’est pas possible d’annuler une opération qui a déjà eu lieu. 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. De fait, un smart contract reste un programme informatique comme un autre, soumis à des risques de failles. C’est ce qu’il s’est passé lors du piratage du projet « The DAO » qui a eu pour conséquence le vol de plus de 150 millions de dollars en jetons ETH.
  • Le contrôle des sources d’informations : La limite de cette nouvelle technologie est le contrôle des sources d’informations. L’analyse des sources de données constitue la base de tout protocole. Comment peut-on juger une source fiable pour exécuter telle ou telle clause? Il s’agit sûrement ici de l’une des limites des smart contracts.
  • Volatilité des crypto-monnaies : Ensuite, nous l’avons vu, les fonds sont séquestrés dans le smart contract. Si c’est de l’Ether (ETH), le cours Ethereum 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.
  • Difficulté de vérifier les informations hors blockchain : Enfin, s’il est possible de vérifier ce que contient un smart contract ou une adresse Ethereum assez facilement en termes 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 ? 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 ?

Les Cas d'Usage des Smart Contracts

Les cas d’usages possibles pour les smart contracts sont infinies.

  • Assurance : L’automatisation des smart contracts est particulièrement intéressante pour le secteur de l’assurance. En effet, un contrat d’assurance prévoit que l’assuré obtient une indemnisation lorsqu’il subit un préjudice donné. Ainsi, le secteur de l’assurance voyage aérien est souvent cité comme un exemple d’application possible pour les smart contracts. Par exemple, Fizzy a été la première assurance française développée sur la blockchain au moyen d’un smart contract. L’équation était la suivante : si l’avion a plus de 2 heures de retard, base de données de l’aéroport à l’appui, alors l’indemnisation du passager est automatique.
  • Immobilier : Le secteur de l’immobilier est un autre cas d’usage possible pour les smart contracts. Aujourd’hui, il est possible d’acheter une fraction d’un bien immobilier sur la blockchain. C’est ce qu’on appelle la tokenisation immobilière. Si le bien est mis en location, le smart contract peut permettre de verser le loyer aux différents propriétaires du bien en fonction du nombre de token en leur possession.
  • Gestion de la chaîne d'approvisionnement : La blockchain permet d’assurer la traçabilité des produits dans une chaine d’approvisionnement. Plus encore, le smart contract peut fluidifier les échanges monétaires entre les différents acteurs. Par exemple, le smart contract peut payer automatiquement chaque transporteur dès lors qu’il a livré un produit à sa destination.
  • Crowdfunding : 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. 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. 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 (ETH) d’une adresse à une autre. 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 ? Qui peut tricher ? Personne, car il est impossible de modifier les règles une fois le smart contract envoyé sur la Blockchain.
  • Objets connectés : Le smart contract peut aussi servir à développer des objets connectés tels que la location d’une voiture ou d’un appartement, la clé électronique cessant de fonctionner en cas de non paiement et inversement (v. Slock.it).
  • Echange d’électricité peer to peer : Il peut servir à l’échange d’électricité peer to peer dans un quartier ou un immeuble (Bouygues immobilier, Stratumn…).

Le Cadre Juridique des Smart Contracts

Aujourd’hui, le cadre légal des smarts contracts n’est pas défini ni par la juridiction française, ni par la juridiction européenne. Cela étant, cette nouvelle technologie étant en plein essor, la justice devra trancher quant à son inscription dans le droit des contrats actuel ou à la création d’un encadrement juridique propre à ces programmes informatiques.

Smart Contracts et Droit Marocain

En droit marocain, l’article 417-1 du DOC reconnaît la validité des écrits électroniques. Cette disposition offre une base juridique pour considérer les smart contracts comme des contrats électroniques.

L'Importance de l'Harmonisation Internationale

Bien qu’ils puissent être reconnus comme des contrats électroniques au Maroc, leur mise en œuvre effective nécessite des ajustements législatifs et une meilleure harmonisation internationale.

Comment Créer un Smart Contract ?

Créer un smart contract est dans les grandes lignes strictement réservée aux développeurs web, car elle repose sur ce qu'on appelle des dApp (applications décentralisées), aussi appelées en anglais des "dee-app". Ces dApp ne convergent pas vers un serveur central, comme il est coutume d'être, mais elles se connectent directement à la blockchain dans laquelle elles seront intégrées, en général celle d'Ethereum. Le développeur doit donc se connecter à son portefeuille digital via une API. Ce portefeuille digital, une fois connecté à la blockchain, va agir en tant que backend. L'écriture du smart contract requiert un langage particulier, appelé Solidity. Il en existe d'autres, mais c'est le langage le plus utilisé pour la création de dApp. Pour les développeurs, il ne faudra surtout pas oublier qu'un smart contract doit toujours prendre la forme d'une classe avec variables.

Lire aussi: Définition du lait anti-colique

L'Avenir des Smart Contracts

Ces contrats pourraient révolutionner les relations contractuelles dans la mesure où le caractère automatique de celui-ci pourrait entraîner l’annulation du contrat ou la suspension du paiement en cas de rupture des termes du contrat ou d’inexécution totale ou partielle d’une obligation. Le remboursement automatique fait également parti des possibilités offertes par les contrats intelligents. Le but de ces contrats est de faciliter les transactions entre des acteurs qui ne se connaissent pas, de garantir que chaque cocontractant tiendra ses engagements et d’éviter toute falsification. En d’autres mots, ils permettraient de réduire les délais de paiements ainsi que les risques d’erreurs mais aussi d’éviter d’éventuelles frictions liées aux termes du contrat et aux obligations mutuelles.

L'Impact Juridique

D’un point de vue juridique, cette technologie permettrait de soulager la justice de tous les contentieux liés à des contrats répondant aux même critères que les smart contract. Le caractère sécurisé et intelligent de ces protocoles ne laisserait alors plus de place pour les hésitations ou interprétations, les contrats devant être exécutés dans les termes définies et acceptés, sans possibilité de contourner le système.

Les Domaines Concernés

Les débouchés pour cette nouvelle technologies sont nombreux. Les secteurs seront divers comme par exemple : assurance, banque, logistique, immobilier, l’agroalimentaire. Mais la nature des transactions pourra également être diverse et variée à savoir la prestation, la location, la vente.

tags: #définition #smart #contract

Articles populaires: