“Smart Contract” est une expression en anglais qui se traduit en français par “contrat intelligent”. Cela désigne un programme informatique qui s’exécute automatiquement lorsque les conditions configurées par les deux parties sont remplies.
Les contrats intelligents peuvent être vus comme des relations contractuelles stockées dans la blockchain, qui ont la capacité d’exécuter des actions en suivant un ensemble de paramètres préprogrammés. Ils sont transparents et leur mode de fonctionnement est immuable.
Sommaire
Quelle est l’origine des Smart Contracts ?
C’est Nick Szabo, un juriste et cryptographe américain, qui a utilisé pour la première fois l’expression “Smart Contract”, 1994. Il définissait alors un contrat intelligent comme un protocole de transaction informatisé qui exécute les termes d’un contrat.
Pour Nick Szabo, les objectifs généraux de la conception de contrats intelligents sont de satisfaire les conditions contractuelles courantes (telles que les conditions de paiement, les privilèges, la confidentialité et même l’exécution), de minimiser les exceptions et le besoin d’intermédiaires de confiance.
Cela permet d’atteindre des objectifs économiques comme la réduction des pertes dues à la fraude, les coûts d’arbitrage, d’exécution et de transaction.
Malgré la naissance de cette idée au cours des années 90, les contrats intelligents ne sont pas apparus tout de suite. En effet, la conception des smart contracts fait appel à des domaines tels que l’économie et la cryptographie, dont la communication croisée était très faible à cette époque.
D’une part, les connaissances techniques étaient limitées et d’autre part, on ignorait l’étendue des utilisations commerciales, ce qui explique que les contrats intelligents aient eu besoin de plus de temps pour devenir une réalité.
Avec l’arrivée du Bitcoin en 2009, les conditions ont changé. Grâce à la cryptomonnaie et à la blockchain, des efforts ont été faits pour lier davantage l’économie et la cryptographe. Cela a permis l’émergence progressive des contrats intelligents, tels que Nick Szabo les décrivait en 1994.
Comment fonctionnent les Smart Contracts ?
Les blockchains compatibles avec l’exécution de contrats intelligents exploitent une machine virtuelle. Cette dernière fonctionne sur tous les ordinateurs du réseau et interprète les instructions des smart contracts.
Les premiers contrats intelligents sont ainsi apparus sur la blockchain de Bitcoin, qui permet d’exécuter des programmes codés dans un langage baptisé Script. Malheureusement, ce langage de programmation est limité aux opérations les plus simples, il ne permet donc pas de réaliser des boucles, par exemple.
Pour pallier à ces lacunes, d’autres blockchains qui possèdent une machine virtuelle bien plus complètes sont apparues. C’est notamment le cas de celle d’Ethereum, qui a été spécifiquement conçue pour faciliter l’exécution de contrats intelligents. Ces derniers sont codés à l’aide de Solidity, un langage de plus haut niveau, plus simple à maîtriser pour les développeurs.
Solidity permet d’effectuer des boucles et des instructions récursives. Pour éviter que des contrats intelligents mal conçus ne parviennent à congestionner le réseau, Ethereum a mis en place un système de paiement des transactions, appelé “gaz”.
Ainsi, on observe une différence tarifaire entre l’exécution d’un contrat intelligent basique et d’un autre plus complexe.
Les contrats intelligents sont extrêmement efficaces pour exécuter automatiquement deux types de transactions que l’on retrouve dans de nombreux contrats :
- Assurer le paiement de fonds lors de certains évènements déclencheurs.
- Imposer des pénalités financières si certaines conditions objectives ne sont pas remplies.
Dans chaque cas, le contrat intelligent déployé et opérationnel permet de se passer de toute intervention humaine. Les tiers de confiance et le système judiciaire ne sont pas nécessaires, ce qui réduit les coûts d’exécution et d’application du processus contractuel.
Actuellement, les paramètres d’entrée et les étapes d’exécution d’un contrat intelligent doivent être spécifiques et objectifs. En d’autres termes, si l’évènement X se produit, il faut exécuter l’action Y. Par conséquent, les tâches réelles que les contrats intelligents exécutent sont assez rudimentaires, comme le déplacement automatique d’un montant de cryptomonnaie du portefeuille d’une partie à une autre lorsque certains critères sont satisfaits.
Toutefois, au fur et à mesure que l’adoption de la blockchain se répand et que davantage d’actifs y circulent, les contrats intelligents deviennent de plus en plus complexes et capables de gérer des transactions sophistiquées. En effet, les développeurs enchainent déjà plusieurs étapes de transactions pour former des contrats intelligents plus complexes.
Néanmoins, il faut encore patienter un certain temps avant qu’un code puisse déterminer des critères juridiques plus subjectifs, comme le fait de savoir si une partie a fait des efforts commercialement raisonnables ou si une clause d’indemnisation doit être déclenchée et l’indemnité versée.
Aujourd’hui, on utilise des oracles pour alimenter la blockchain en données provenant du monde réel. Ce système doit encore être amélioré pour garantir sa fiabilité, en particulier dans son utilisation avec une application décentralisée.
Exemple d’un contrat intelligent : la gestion des approvisionnements
Imaginons qu’un contrat intelligent soit déployé pour éliminer les délais entre l’approvisionnement et le paiement. Au moment où un produit arrive dans un entrepôt, il est scanné. Cet évènement peut immédiatement déclencher l’exécution du contrat intelligent, qui déclenche les demandes d’autorisation nécessaires et dès qu’il les obtient, réalise le transfert des fonds de l’acheteur au vendeur.
Ce type de contrat arrangerait les vendeurs, qui n’auraient pas à perdre de temps et d’énergie en relaçant leurs clients pour un paiement en attente. Les acheteurs, de leur côté, pourraient réduire leurs frais en évitant d’utiliser leur compte fournisseur. Finalement, cela pourrait diminuer directement les besoins en fonds de roulement et simplifier toutes les transactions entre les deux parties.
Quels usages pour les Smart Contracts ?
Nous venons d’illustrer les contrats intelligents à l’aide d’un exemple applicable au domaine de la logistique et des approvisionnements. Mais il existe une large variété de situations dans lesquelles les smart contracts peuvent offrir une solution technique meilleure que celle en place actuellement.
Voici plusieurs applications possibles de contrats intelligents :
- Le dépôt fiduciaire. Dans ce cas, le contrat intelligent peut mettre sous séquestre des fonds jusqu’à la validation d’une condition comme la réception d’un bien ou l’exécution d’un service. Certaines plateformes d’échange de cryptomonnaies de pair à pair utilisent ce type de contrat pour sécuriser les transactions.
- La tokénisation. Derrière ce terme barbare se cache la création d’un actif numérique sur la blockchain. Si l’actif créé est un stablecoin, le contrat intelligent peut s’assurer que la quantité de monnaie fiat déposée corresponde bien au montant de jetons émis.
- Les comptes multisignatures. Par défaut, les portefeuilles numériques sont individuels. En utilisant un contrat prenant en charge la multisignature, on peut reproduire l’effet d’un compte joint en différant l’exécution d’un paiement jusqu’à ce que l’ensemble des propriétaires du portefeuille valide la transaction.
- Les prêts décentralisés. C’est une des applications les plus en vogue des contrats intelligents. Les prêteurs peuvent déposer des fonds et obtenir régulièrement des intérêts. Les emprunteurs saisissent le montant dont ils ont besoin et s’engagent à le rembourser selon le calendrier et le taux définis. Le contrat intelligent permet d’automatiser cette mise en relation, sans intervention d’un tiers ni contact entre les deux parties.
En complément de ces exemples orientés vers l’économie et les cryptomonnaies, les contrats intelligents offrent aussi des cas d’usages intéressants dans la vie réelle :
- L’assurance retard ou annulation de vol. Si une modification sur le vol entre dans les critères mis en place par l’assurance, le voyageur reçoit immédiatement la compensation prévue, sans avoir à réaliser de démarches administratives ni attendre un certains délai.
- La santé. Les smart contracts peuvent enregistrer des données médicales personnelles pour n’en donner accès qu’au patient et à ses médecins, afin de renforcer le secret médical.
- La démocratie. On peut imaginer un contrat intelligent offrant un moyen transparent de gérer les votes de tous les citoyens.
- La comptabilité des entreprises. On peut réduire drastiquement le besoin en personnel administratif et financier en ayant recours aux contrats intelligents pour gérer les approvisionnements, les salaires, les charges et toutes les dépenses récurrentes.
Bilan : Quelles perspectives pour les Smart Contracts ?
Les contrats intelligents sont une solution technique très récente qui offre de larges perspectives dans de nombreux domaines. Ils permettent souvent d’économiser du temps, de l’argent et de l’énergie en supprimant le besoin d’intermédiaires comme les banques et les avocats. ils peuvent aussi réduire la fraude et les délais liés à la lourdeur bureaucratique de nos administrations.
Comme tout programme informatique, les contrats intelligents sont sujets à un risque de piratage, comme l’a démontré le scandale TheDAO en 2017, ce dernier ayant abouti à la scission entre Ethereum et Ethereum Classic. Pour limiter ces risques, le code de tous les smart contracts doit être publié et vérifié par la communauté et par des experts en informatique.
Enfin, les contrats intelligents n’ont pas encore de valeur juridique. Nous espérons que cette situation change afin de faciliter l’adoption de cette technologie par l’ensemble des personnes physiques et morales.