Le terme “smart contract” (ou “contrat intelligent”) est apparu avec l’émergence des blockchains, et notamment la blockchain Ethereum. Ce type de contrat est dit intelligent, car son exécution peut être automatisée grâce à un programme informatique.
Dans cet article, Captain Contrat vous présente le smart contract et son fonctionnement.
Qu’est-ce qu’un smart contract ?
Un smart contract est un contrat dont le fonctionnement repose sur la blockchain, ce qui permet d’automatiser son exécution. Concrètement, les parties vont s’entendre sur l’objet du contrat et sur ses conditions, et vont développer un programme informatique qui va exécuter le contrat automatiquement.
Deux sociétés concluent un contrat de vente portant sur du matériel informatique. Un smart contract peut être capable de transférer automatiquement les fonds correspondant au prix de vente depuis le portefeuille cryptomonnaie de l’acquéreur vers le portefeuille du vendeur. Le programme informatique développé pour ce smart contract peut prévoir que ce transfert aura lieu dès lors que l’acquéreur aura reçu la livraison du matériel.
Qu'est-ce qu'un oracle ?
Pour automatiser l’exécution d’un contrat, le programme informatique qui assure le fonctionnement du smart contract a besoin de données. Par exemple, si le contrat prévoit un transfert de fonds au moment de la livraison, le programme a besoin de savoir quand cette livraison a lieu.
Un oracle est une source de données fiable qui permet au smart contract de fonctionner sans l’intervention des parties. Dans l’exemple précédent, c’est La Poste qui peut jouer ce rôle en confirmant que le bien a été livré. Il peut également s’agir de la SNCF qui peut donner des informations relatives à l’heure à laquelle un train est arrivé à destination.
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. Dans ce cas, la ligue de football professionnel peut jouer le rôle d’oracle.
Quelle est la différence entre un smart contract et un contrat classique ?
En droit, un contrat est un accord de volonté entre deux parties. Le smart contract ne remplace pas le contrat, cet accord de volonté existe toujours indépendamment de l’existence du smart contract.
Le smart contract n’est donc pas assimilable à un contrat au sens juridique du terme. En revanche, le smart contract organise l’exécution de ce contrat dès lors que des conditions prédéfinies sont remplies.
Il est donc tout à fait possible de signer un contrat classique dans le cadre d’un smart contract. Ainsi, le contrat va définir les obligations des parties et le code informatique qui assure le fonctionnement du smart contract va s’occuper de l’exécuter.
Quels sont les avantages du smart contract ?
- Gain de temps : l’automatisation de l’exécution du contrat permet de gagner du temps. Le contrat peut être exécuté sans que les parties aient besoin d’intervenir.
- Économie : pour les contrats complexes à exécution successive, le smart contract peut permettre d’économiser de l’argent. Les parties n’ont pas besoin de faire appel à des tiers de confiance pour sécuriser l’opération.
- Sécurité : La blockchain utilisée pour le smart contract permet de sécuriser les échanges monétaires entre les parties.
Quels sont les inconvénients du smart contract ?
- 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. Il faut donc s’assurer de la fiabilité de l’oracle pour éviter les risques.
- 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. Ainsi, si ce code informatique contient des failles ou des bugs, un hacker pourrait l’utiliser pour récupérer les fonds.
- 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. Ainsi, si le programme a fait une erreur ou s’il a été piraté, il n’est pas possible de faire marche arrière.
En 2016, the DAO, un programme décentralisé de financement participatif sur la blockchain a été victime d’un piratage. Le hacker a profité d’une faille sur le smart contract pour exécuter plusieurs fois la même requête. Cela lui a permis de siphonner les fonds qui étaient gérés par ce programme informatique.
Quelles sont les applications possibles pour les smart contracts ?
Les cas d’usages possibles pour les smart contracts sont infinies. Cependant, certains secteurs en particulier se sont emparés de cette technologie pour fluidifier leurs échanges.
Le secteur de l’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é. On peut imaginer qu’un smart contract pourrait automatiser le versement de l’indemnisation à l’assuré dès lors qu’un oracle donne l’information de l’existence d’un préjudice.
Ainsi, le secteur de l’assurance voyage aérien est souvent cité comme un exemple d’application possible pour les smart contracts. Le programme informatique pourrait ainsi récupérer automatiquement les données relatives aux retards ou aux annulations de vols pour rembourser automatiquement les passagers assurés sans que ces derniers aient besoin de faire une réclamation.
Le secteur de l’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. Le bien immobilier est divisé en token (ou jeton) qui représentent chacun une fraction d’un bien immobilier.
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. Ces jetons peuvent être échangés sans incidence pour le locataire.
Par ailleurs, un smart contract pourrait également permettre de transférer facilement la propriété d’un bien immobilier sans risque de contestation.
Le transport et la logistique
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. Cette solution permet de réduire les coûts et les délais de paiement tout en améliorant le suivi de la chaine d’approvisionnement.
- Un smart contract est un programme informatique basé sur une blockchain.
- Ce programme permet d’automatiser l’exécution d’un contrat sans avoir à faire appel à un tiers de confiance.
- Le smart contract permet aux parties au contrat d’économiser du temps et de l’argent.
FAQ
-
📌 Le smart contract est-il un contrat ?
Le contrat est un accord de volonté entre plusieurs parties. Le smart contract n’est donc pas un contrat au sens juridique du terme. En revanche, il permet d’automatiser l’exécution de ce contrat grâce à un programme informatique.
-
Qu'est-ce que la blockchain ?
La blockchain (ou chaîne de blocs) est un registre décentralisé qui permet d’enregistrer des informations et des transactions. Ce registre est partagé entre tous les utilisateurs. Compte tenu de la difficulté pour la pirater, la blockchain est dite immuable. Les blockchains les plus connues sont Bitcoin et Ethereum.
Une question ? Laissez votre commentaire