Les Ricardian contracts, l'avenir des smart contracts ?

« Si pour certains les problèmes ont des contrats pour les résoudre, nos problèmes sont les contrats. » Par cette phrase percutante de Ian Grigg résume la situation qui l’a mené à créer le concept des Ricardian contracts.

Les Ricardian contracts, l'avenir des smart contracts ?

Introduction

L’idée derrière les Ricardian contracts est à la fois évidente et complexe : créer un document légalement valable automatisant l’exécution des obligations.

Les contrats sont problématiques, le constat est simple. En témoignent le nombre de litiges pour interprétation des clauses des contrats. Le constat est d’ailleurs fait en 2016 par Oliver Hart et Bengt Holmström, qui se voient récompensés du prix Nobel de l'Économie pour leur travail sur l’incomplétude des contrats et l’impact que cela peut avoir dans la sphère économique.

Les contrats sont par nature imparfaits et incomplets à cause du nombre d’aléas qui peuvent survenir. Or, il se trouve que le problème de la complexité d’un contrat et de son exécution pourrait être drastiquement réduit par le codage et l'exécution automatique de certaines clauses. L'exécution automatique permettrait de gagner en clarté ainsi qu'en efficacité et serait un gain de temps précieux contrairement à un contrat classique.

Nous allons aujourd'hui nous pencher sur un concept qui vise à révolutionner le monde des contrats tel que nous le connaissons.

Historique : Ian Grigg, l’homme derrière les Ricardian contracts 

S’il faut attendre 2016 pour voir un Prix Nobel récompenser la théorisation de l’incomplétude des contrats, Ian Grigg n’a pas attendu aussi longtemps pour trouver une solution à la complexité des contrats.

En 1995, alors qu’il est employé chez Systemic Inc. il invente le concept de Ricardian contract. Pour cette raison, le Ricardian Contract est également parfois appelé Ian Grigg Ricardian contract.

Ce contrat de nouvelle génération vient en complément du système de paiement Ricardo conçu par l’entreprise. Le nom est volontairement choisi en hommage à David Ricardo, célèbre économiste libéral anglais, grand contributeur à la théorie internationale du commerce.

Le Ricardian contract est un nouveau concept qui permet de lier un contrat juridique à son équivalent en code pour automatiser l’exécution de certaines clauses. Le Ricardian n’est ni plus ni moins qu’un contrat qui peut être lu par une machine (entendre par-là un ordinateur) comme par un humain (pas forcément un avocat).

C’est donc un document qui existe en deux versions. Une version sous forme de code, lisible par la machine, et une version texte, lisible par les humains, qui est remplie et signée.

À l’origine, son inventeur le destine au monde de la Finance et à l’émission de produits financiers complexes comme l’obligation à coupon zéro. Dans ce cas, le Ricardian contract permet de conclure un contrat portant sur l’émission d’un certain nombre de produits à un prix donné et de les émettre directement. La signature du contrat implique la création automatique des produits à l’inverse du système traditionnel où le contrat n’est que papier et l’émission est exécutée séparément.

Si l’invention du Ricardian contract remonte à 1995, le terme Ricardian contract fait pour la première fois son apparition dans une publication académique intitulée « La finance cryptographique en 7 couches » parue en 1998. Il faut ensuite attendre 2004 pour que son invention fasse l’objet d’une publication spécialement dédiée au sujet. « The Ricardian Contract » détaille ainsi le problème originel et la solution conçue en réponse.

Ian Grigg n’en est pas à son coup d’essai avec la création du Ricardian contract bien avant que la blockchain soit créée et que la communauté s’empare du terme de smart contract. Il est notamment connu pour son travail sur le cash numérique dans les années 2000 avec la startup Digicash. Il est aussi l’inventeur du système de comptabilité à triple entrée

Paradoxalement, le Ricardian contract est l’ancêtre du smart contract et il est en même temps sa version améliorée. Ian Grigg avait déjà compris avant l’an 2000 l’importance d’automatiser l’exécution de certaines clauses ce qui sera plus tard le cas des smarts contracts. Mais il avait aussi pris en compte le problème de la valeur juridique d’un « morceau » de code exécutant une clause.

En imaginant le Ricardian contract, il répond à cette question de la valeur juridique en créant un document qui soit à la fois le contrat juridiquement valable et qui permette sa propre exécution de manière incorruptible sur la blockchain.

Autre point historiquement intéressant, c'est que le Ricardian contract, naissant bien avant la blockchain, son intérêt est limité. Il faut que le contrat soit stocké chez l’une des parties ou une tierce partie pour conserver numériquement et exécuter le code du contrat. Le Ricardian contract connaît un développement au cours des dernières années, car la blockchain vient renforcer l’intérêt qu’il peut avoir.

Le contrat peut alors être stocké et exécuté sur la blockchain avec tous les avantages que cela peut avoir (sécurité, transparence, intégrité de la donnée, etc.).

Définition d’un Ricardian contrat 

Le Ricardian contract naît de la volonté de combler le fossé entre le monde des machines et des hommes. Le contrat appartient au monde des hommes sous une forme papier, parfois numérique, uniquement lisible par les hommes. À l’inverse, le code est fait pour des machines. Rien ne les lie entre eux, ils sont tous les deux distincts, créant de facto un fossé où la complexité s’immisce.

Or, le Ricardian comble ce fossé, construit ce pont entre l’Homme et la machine en réunissant un contrat lisible par les humains et lisible par la machine.

comparatif ricardians contract

Christopher D.Clack, dans une publication de 2016, définit simplement le Ricardian contract comme un ensemble de prose, de code et de paramètres. La prose est la version humainement lisible du contrat. Le code est la version lisible par la machine.

Les paramètres sont le lien entre les deux versions du contrat. Ce sont par exemple la date à laquelle doit être exécuté le contrat, le nombre d’obligations à émettre et la valeur. Ils sont remplis par les parties au contrat dans la version lisible humainement.

Grâce à un astucieux système de balises, les paramètres sont récupérés pour compléter les « trous » manquants dans le code et exécuter le contrat à la bonne heure, avec le bon nombre d’obligations à la bonne valeur.

Exemple de ricardian contract

Exemple de Ricardian contract dans sa forme human readable avec les paramètres au-dessus

Ian Grigg précise la définition qu’il a d’un Ricardian contract dans un texte intitulé « Towards a Ricardian constitution ».

Le Ricardian contract est un template de contrat qui doit seulement être rempli par les parties et dont on peut tirer une forme qui soit lisible pour les humains (i) qui soit exécutable par une machine (ii), signé numériquement (iii), qui contient les clés privées des parties et les informations du serveur (iv) et qui possède un identifiant unique (v).

Le Ricardian contract se présente sous la forme d’un texte à trou (voir ci-dessus) que les parties remplissent (les paramètres) qui s’auto-exécute par la suite. L’ingéniosité de ce procédé vaudra au Ricardian l'appellation de « Wise contract » (contrat sage, judicieux), car il permet à la fois la lecture, la compréhension et l’exécution du contrat.

Quant à l’identifiant unique, il s’agit tout simplement du hash du contrat une fois que celui a été signé numériquement par les parties. Le hash étant une suite de chiffres et de lettres d’une longueur donnée résultant du passage d’un fichier dans une fonction de hachage.

Quel que soit le format et la taille du fichier, le hash sera toujours de la même longueur, mais ne sera jamais le même. Une simple modification d’une seule lettre dans un texte de milliers de pages entraînera une modification radicale du hash.

Concernant la signature du contrat, une fois les paramètres remplis, la signature se fait à l’aide d’une clé privée ou utilisant un protocole de type PGP.

Différence entre un smart contract et un Ricardian contract

S’il faut se pencher sur la différence entre un smart contract et un Ricardian contract, il faut déjà définir ce que désigne le premier terme. S’agit-il vraiment d’un contrat ? Si oui, quelle peut être la différence avec un smart contract ? L’avocat Josh Stark donne un début de réponse.

Le smart contract n’est pas un contrat à proprement parler, mais un morceau de code qui automatise une action sur la blockchain. Il n’existe pas vraiment de consensus sur ce point, mais pour lui il devrait y avoir une distinction entre les « smart contracts code » et les « smart legal contracts ». Ce qui est trompeur dans le terme smart contract, c’est que le mot contract ne fait pas référence à un document, mais à l’exécution d’obligations de manière automatique.

C’est un mode d’exécution préalablement convenu par les parties, mais en aucun cas le document qui recueille le consentement. Le terme de contrat est abusif et issu d’une déformation de la part du milieu. Un smart contract est uniquement lisible par une machine et représente du code exécutable.

Ses principales caractéristiques sont  qu’il est immuable grâce à la blockchain, source de gain de temps, auto-exécutable en fonction de paramètres définis et sur la base du code fourni. Finalement, ce n’est pas un document légalement valable.

Le Ricardian contract est un contrat juridiquement valable en premier lieu qui s’auto-exécute en second lieu, comme un smart contract. Là où le smart contract ne peut être qu’un mode d’exécution du contrat sur la blockchain (le contrat est un document séparé), le Ricardian contract est à la fois le contrat et le mode d’exécution sur la blockchain.

De plus, le smart contract ne prévoit par l’issue de nombreuses situations qui peuvent survenir dans un contrat, les contrats étant par nature incomplets. Le smart contract peut donc prévoir l’arrêt de son exécution, mais pas l’issue définitive d’une situation. Il faut alors renvoyer vers un contrat légalement valable qui est inexistant dans le cas du smart contract.

Le Ricardian en cas d’échec de l’automatisation de certaines actions prévoit une issue légalement approuvée par les parties par exemple le renvoi devant un juge ou un arbitre.

En résumé, un Smart contract automatise l’exécution d’obligations, mais n’est pas un contrat ni juridiquement ni légalement valable. À la différence, un Ricardian contract est d’abord un contrat légalement et juridiquement valable et auto exécutable sur la blockchain.

Tableau comparatif entre les Ricardian contracts et les smart contracts

Tableau résumant les différences entre contrat, smart contract et Ricardian contracts

Comment fonctionne un Ricardian contract ? 

Un Ricardian contract contient nécessairement certaines informations qui sont obligatoires.

Le premier élément concerne le nombre de parties au contrat (que contient un contrat est les parties au contrat). Elles sont au nombre de deux minimum et peuvent être plus si nécessaire.

Le deuxième élément est temporel. Il renseigne les parties sur la durée de validité du contrat (la limite avant expiration ou toute autre information temporelle utile).

Le troisième élément constitue le corps du contrat puisque ce sont les obligations et clauses entre les parties. Les clauses peuvent être diverses et variées et même suspensives à la décision d’un organisme tiers (clause IFFT). Dans le cas d’une vente de voiture par exemple, le Ricardian contract ne sera valable que si un garagiste appose une signature électronique certifiant qu’elle a passé le contrôle technique. Si la condition n’est pas remplie, la vente ne pourra pas avoir lieu, le code l’en empêchera. Graphe ricardian

Illustration de la structure d’un Ricardian contract - Source : WebFunds.org

Étant un contrat en premier lieu, la rédaction d’un Ricardian contract est faite par des avocats et par les parties. Le but est qu’il soit rédigé par des avocats et qu’il soit intelligible par tous. Comme il s’agit le plus souvent d’un template, les parties précisent uniquement les termes et les clauses spécifiques à leur situation.

Le Ricardian contract est ensuite numérisé, signé avec des clés privées. Après signature, le contrat est hashé. Le hash est un élément important. Produit une fois la signature des deux parties réunie, il permet d’avoir toujours une référence simple au contrat.

De plus, il empêche toute modification du contrat de manière unilatérale grâce au fait - comme vu précédemment - que le simple changement d’un seul caractère, d’une seule virgule modifierait radicalement le hash. Si le contrat doit donner lieu à plusieurs transactions, il sera toujours facile d’intégrer le hash du contrat dans la transaction pour savoir à quel contrat les parties se réfèrent.

Finalement, le hash du contrat est présent sur la blockchain. N’importe qui ayant le document papier peut vérifier la correspondance du hash du contrat avec un hash présent sur la blockchain. Si jamais doute il y a, un passage du document dans un algorithme de hachage et la vérification est vite opérée.

Après cette étape, le Ricardian est mis sur blockchain ou l’automatisation des clauses pourra avoir lieu.

BowTie model ricardian

Quels sont les bénéfices d’un Ricardian contract ?

Comme on a pu le voir au cours de cet article, les Ricardian contracts offrent une sécurité supérieure à celle d’un contrat papier, car la signature cryptographique est difficilement contre-faisable. Sécurité encore une fois grâce au hash du contrat qui évite toute modification unilatérale du contrat. Sécurité une fois de plus grâce au fait que le contrat estsoit stocké et exécuté sur une blockchain. Impossible de le modifier sans laisser une trace. De plus, tout le processus d’exécution laisse une trace sur la blockchain.

Ils sont légalement valables et exécutoires grâce notamment à la signature du document avec une clé privée qui est la preuve de l’intention d’une partie.

Ils sont source d’un gain de temps considérable en permettant d’automatiser l’exécution de tout ou partie du contrat. Ce gain de temps est aussi source d’économie en termes de coût humain et financier. Ian Grigg rapporte que le gain financier et humain est considérable, mais que contrairement à ce qu’on pourrait penser, il n’y a pas intérêt à automatiser toutes les clauses d’un contrat pour la simple et bonne raison que certaines sont trop complexes. Par ailleurs, il n’y a pas forcément de demande ni d’utilité de la part des professions concernées.

La place des avocats par exemple est vite reconnue comme utile et ne saurait être remplacée correctement uniquement par des lignes de codes, c’est du moins le retour qu’en fait I.Grigg après son expérience chez Systemic Inc.

Quel avenir pour les Ricardian contracts ?

Malgré tous les avantages cités plus haut, de son propre aveu, le créateur des Ricardian contracts admet que des questions restent en suspens :

  • Comment les Ricardian contracts seront-ils accueillis par les droits nationaux ?
  • Que se passe-t-il si la version lisible par la machine contient des erreurs ?
  • Que se passe-t-il s’il existe une contradiction entre la version lisible par les humains et la version lisible par des machines ?

Toutes ces questions n’ont pas encore de réponses alors que les Ricardian contracts de Systemic Inc. fonctionnent depuis désormais plus de 20 ans pour des instruments financiers et que d’autres entreprises les emploient aujourd’hui.

Par exemple Open Bazaar, une plateforme de vente de pair-à-pair utilise des Ricardian contracts pour régler les relations entre l’acheteur et le vendeur. Block.one a annoncé en 2018 le support de Ricardian contract sur la blockchain EOS. L’arrivée des Ricardian contracts sur Ethereum est d’ailleurs scrutée avec intérêt par la communauté.

 

Tout comme pour l’adoption massive d’une technologie, l’adoption des Ricardian contracts pourrait prendre du temps bien que les bénéfices soient évidents. Le plus probable est que le jour où vous signerez un Ricardian contract le seul indice que vous aurez sera un hash sur l’en-tête de la copie de votre contrat. 

Cet article a été rédigé par Titouan Galpin de l'association blockchain étudiante KryptoSphere

👉 Retrouvez les autres articles de KryptoSphere en cliquant ici.

Newsletter 🍞

Recevez un récapitulatif de l'actualité crypto chaque lundi par mail 👌

Subscribe
Me notifier des
guest
0 Commentaires
Inline Feedbacks
View all comments
Voir plus
Tout voir

Cryptoast

Le site qui explique tout de A à Z sur le Bitcoin, la blockchain et les crypto-monnaies. Des actualités et des articles explicatifs pour découvrir et progresser dans ces secteurs !


Les articles les plus lus

Londres : une femme arrêtée en possession de 2 milliards de livres (GBP) de cryptomonnaies

Londres : une femme arrêtée en possession de 2 milliards de livres (GBP) de cryptomonnaies

La France est 4e des pays d'Europe qui taxent le plus les cryptomonnaies

La France est 4e des pays d'Europe qui taxent le plus les cryptomonnaies

Date et compte à rebours du halving Bitcoin de 2024

Date et compte à rebours du halving Bitcoin de 2024

Bitcoin (BTC) : le halving est dans moins d'un mois, qu'est-ce qui va changer ?

Bitcoin (BTC) : le halving est dans moins d'un mois, qu'est-ce qui va changer ?