Contrats intelligents

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher

Les contrats intelligents (en anglais Smart Contracts) sont des protocoles informatiques qui facilitent, vérifient et exécutent la négociation ou l'exécution d'un contrat, ou qui rendent une clause contractuelle inutile (car rattachée au contrat intelligent). Les contrats intelligents ont généralement une interface utilisateur et émulent la logique des clauses contractuelles.

Les partisans des contrats intelligents affirment que de nombreux types de clauses contractuelles peuvent ainsi être partiellement ou totalement auto-exécutées ou exécutées à la validation ou les deux.

Les contrats intelligents visent à assurer une sécurité supérieure à la mise en application de la loi sur les contrats et de réduire les coûts de transaction associés à la passation des contrats.

Histoire[modifier | modifier le code]

Le calcul agoric[1] était un mouvement des années 1980 qui cherchait à amener les mécanismes de marché tels que les ventes aux enchères à la gestion des ressources de calcul. Pendant ce temps, la cryptographie à clé publique a révolutionné ce qui était possible dans la sécurité en ligne.

L'expression « contrats intelligents » a été inventé par l'informaticien Nick Szabo en 1993, pour souligner l'importance d'apporter des pratiques « hautement évoluées » du droit des contrats et des pratiques commerciales liées à la conception de protocoles de commerce électronique entre particuliers sur Internet. Inspiré par des chercheurs comme David Chaum, Nick Szabo attendait que la spécification (définie par une logique claire), la vérification et l'exécution d'une opération grâce à des protocoles cryptographiques et d'autres mécanismes de sécurité numérique, pourraient constituer une forte amélioration par rapport à la Loi traditionnelle encadrant les contrats associés à leurs clauses contractuelles[2]. Mark Miller et d'autres chercheurs ont souligné l'intérêt que peuvent apporter les contrats intelligents en matière de sécurité[3] parallèlement à Chaum et d'autres chercheurs de la communauté de cryptographie financière qui soulignaient l'intérêt des protocoles cryptographiques pour assurer la confidentialité de l'argent numérique, les informations d'identification et la signature électronique des contrats. Le développement des contrats intelligents résulte enfin des nombreux efforts pour améliorer les opérations dans diverses industries utilisant la technologie numérique. L'IEEE a organisé deux ateliers sur les contrats électroniques, qui ont permis de faire des avancées dans ce domaine[4].

Exécution du contrat[modifier | modifier le code]

Une infrastructure de contrats intelligents peut être mise en œuvre par la réplication de registres d'actifs ou chaînes de blocs[5]. Leur exécution est possible en utilisant des chaînes de hachage cryptographique et avec une certaine tolérance aux pannes. Chaque nœud dans le réseau peer-to-peer agit comme un titre de registre et exécute le changement de propriété automatiquement selon les règles du contrat intelligent tout en vérifiant et communiquant l'information à d'autres nœuds. Askemos a mis en œuvre cette approche en 2002 en utilisant Scheme comme langage de script. Les crypto-monnaies telles que Bitcoin ont mis en œuvre de tels registres avec des mécanismes pour permettre aux titres de propriété (la monnaie) d'être transférés intelligemment par contrat. 

Ces applications peuvent inclure des instruments financiers tels que les obligations, les actions et leurs dérivés, les contrats d'assurance et autres instruments et transactions lorsque les nœuds peuvent surveiller les événements sur lesquels les règles contractuelles intelligentes sont conditionnées.

Les contrats intelligents ne sont pas équivalents à des accords contractuels. Ils contribuent à rendre la violation d'un accord coûteux car ils contrôlent un bien par le biais de moyens numériques. Ils ne sont pas non plus équivalents à des contrats ricardiens[6] où des tiers signataires au contrat interviennent pour suivre son exécution. Les contrats intelligents ne sont pas pourvus d'une intelligence propre: ce sont des codes logiciels qui fonctionnent sur une chaine de blocs et sont déclenchés par des données externes qui leur permet de modifier d'autres données[7]. Ces contrats font généralement partie d'une application décentralisée utilisant la technologie ancrée à la chaine de blocs et plusieurs contrats intelligents peuvent être adossés à cette même application.

Les contrats intelligents ne sont pas juridiquement exécutoire mais ils pourraient représenter des pièces d'un accord juridique[8]. Des discussions sont en cours dans certains pays.

Risques[modifier | modifier le code]

L'écriture des contrats intelligents en langue informatique peut présenter des défauts s'il n'est pas relu ou audité par plusieurs personnes. Un hacker peut alors exploiter ce défaut pour le tourner à son avantage pour détourner les sommes versées sur le contrat, obtenir un bien ou utiliser un service non-payé. La complexité du contrat augmente les risques de défaut.

Les contrats intelligents sont exécutés par l'intermédiaire d'un réseau de pair à pair (réseau P2P) rendant l'invalidation de son exécution impossible, sauf à valider consensuellement, avec plus de 50 % des mineurs du réseau, un hard fork. À défaut, la validation consensuelle d'un soft fork permet au mieux de geler les fonds détournés. L'invalidation de l'exécution d'un contrat ou le gel des fonds détournés fait l'objet de débats entre juristes et membres de la communauté des développeurs, utilisateurs et mineurs; certains alléguant qu'une erreur humaine (non intentionnelle) doit pouvoir être corrigée après l'exécution d'un contrat intelligent alors que d'autres considèrent que l'exploitation de ce défaut pour en tirer des bénéfices ne doit pouvoir être contesté[9].

Exemples[modifier | modifier le code]

Licences DRM[modifier | modifier le code]

La technologie DRM applique une protection rendant impossible de rompre un contrat passé entre un vendeur (la société de production de musique) et l'acheteur. Ce dernier ne pourra pas modifier le fichier musical acheté de manière non autorisée en le copiant car ce dernier est protégé par le droit d'auteur.

Bitcoin[modifier | modifier le code]

Les crypto-monnaies telles que Bitcoin peuvent être considérés comme un ensemble de contrats intelligents qui mettent en application le droit de propriété. Les techniques cryptographiques sont construites pour permettre au seul propriétaire d'un jeton numérique de le dépenser ou le transférer. Plusieurs échanges d'actifs décentralisés existent par bloc de transaction permettant d'élargir l'éventail des actifs pouvant être négociés sur une chaîne de blocs unique. Le même principe peut être étendu aux produits physiques avec des commandes électroniques ou des puces électroniques embarquées.

Services financiers[modifier | modifier le code]

Les contrats intelligents utilisés par BurstCoin sont en mesure d'exécuter des ventes aux enchères pour un produit donné en vérifiant automatiquement quel est l'acheteur le plus offrant dans un délai fixé et de rembourser tous les autres participants n'ayant pas remporté la mise automatiquement. Ces contrats peuvent aussi transférer automatiquement des fonds en déshérence, ou exécuter des loteries décentralisées. Ce type de contrat intelligent ne prend que des valeurs numériques très simples comme données d'entrée, procède à des évaluations purement mathématiques et délivre une opération financière par le biais d'un protocole de crypto-monnaie.

Les contrats intelligents de Bitshares par ailleurs exigent des garanties requises par les commerçants aux acheteurs. Ces contrats peuvent ensuite être cédés ou achetés. Leur valeur évolue au fur et à mesure que les garanties apportées par les acheteurs varient.

Réseau P2P[modifier | modifier le code]

Certains réseaux P2P, comme t411, ont besoin de mécanismes internes pour garantir que les participants contribuent autant qu'ils consomment les ressources du service, sans exiger une participation financière aux frais généraux par le biais de contrats intelligents (un réseau P2P peut par exemple demander à un participant du réseau qu'il émette autant de données qu'il en reçoit).

Exécution de crédit[modifier | modifier le code]

Les contrats intelligents peuvent être utilisés pour étendre le droit de propriété. Après avoir été convenus à l'avance, ils s'activent automatiquement si l'emprunteur n'arrive pas à remplir ses obligations de crédit. Par exemple, un acheteur peut choisir de s’octroyer une nouvelle voiture à crédit avec sa banque qui décide de passer un contrat intelligent avec son client. Si dans le futur l'emprunteur n'arrivait pas à remplir ses obligations contractuelles de remboursement, le contrat intelligent peut activer un verrouillage automatique de ses portes de voiture jusqu'à ce que les obligations de l'emprunteur soient régularisés. Le recours au contrat intelligent évite l'addition de clauses supplémentaires au contrat de crédit que la banque devra faire valoir par un jugement exécutoire. D'autres possibilités existent comme l'équipement de produits électriques d'un «kill switch» dont l'activation est possible si une condition simple du contrat n'est pas remplie.

Machines à Oracle[modifier | modifier le code]

Les principales limites à ce qui peut être fait avec des contrats intelligents est qu'un programme d'ordinateur ne peut pas facilement et de manière fiable dire ce qui se passe dans le monde physique ou valider qui dit la vérité. Par exemple vérifier si un paiement de Bitcoin a été fait est une tâche simple et appropriée pour un programme d'ordinateur, mais dans la plupart des contrats et des situations du monde réel, l'ordinateur n'a pas la possibilité de vérifier que la contrepartie, le produit acheté en l'occurrence, a vraiment été livré ou qu'un pigiste a bien rempli les exigences énoncées par son employeur. L'exécution d'un contrat intelligent n'est efficace que si ses données d'entrée sont valables et il peut être difficile de trouver des entrées suffisantes pour valider ce contrat. Une solution à ce problème pourrait être le recours à des machines à oracle ou fournisseurs de services en ligne dont le travail consiste à diffuser des données qui peuvent être utilisés comme données d'entrée pour les contrats intelligents. Une machine à oracle peut par exemple diffuser de nouvelles entrées sur un registre de décès, pour être utilisée par des contrats intelligents dans l'exécution des testaments ou diffuser les résultats d'un match de football, pour être utilisé dans le règlement des paris de jeu.

Double-fort[modifier | modifier le code]

Les contrats intelligents ont été utilisés dans le domaine de la crypto-monnaie comme méthode de double de dépôt proposé par des sociétés comme BitHalo et BlackHalo. Lorsqu'un tel contrat intelligent est exécuté, chaque personne est tenue de faire un dépôt de crypto-monnaie dans un temps imparti. Si ces personnes ne peuvent pas parvenir à un accord sur la façon de procéder avant que le contrat expire, les fonds sont «brûlés» - c'est-à-dire sont envoyés à une adresse dont personne ne connaît la clé privée: les fonds sont alors irrécupérables pour les deux parties. Le contrat intelligent n'a pas, par conséquent, à décider si chaque partie a rempli ses obligations ou à décider ce qu'il convient de faire pour remplir les conditions acceptées réciproquement. Il rend en revanche impossible aux parties impliquées de tricher l'une sur l'autre en veillant à ce que, en rompant le contrat, chacun perde exactement ce qu'ils pouvait gagner. Il pousse également toutes les parties à mettre un maximum d'efforts dans la résolution des différends avant le délai imparti et la destruction conséquente des fonds.

Dans la culture populaire[modifier | modifier le code]

Permanence (2002) de Karl Schroeder dispose d'une «économie des droits", dans lequel tous les objets physiques sont nano-marqués avec des exigences contractuelles afin que le paiement puisse être exécuté pour toutes les utilisations confidentielles des informations. Par exemple une mission militaire dans l'espace doit constamment justifier le rapport coût-bénéfice de la mission à bord du navire ou ce dernier cessera de fonctionner.

Références[modifier | modifier le code]

Voir aussi[modifier | modifier le code]