• Aucun résultat trouvé

Les contrats intelligents, que l'on retrouve souvent dans la littérature francophone sous le terme anglo-saxon "smart contract", sont des contrats qui sont stockés dans une blockchain. L'idée de contrats intelligents ne date pas de la blockchain. En effet, dès 1996, Nick Szabo définit le contrat intelligent comme un protocole digital qui permet d'effectuer automatiquement des transactions lorsque certaines conditions sont remplies. Cependant, à l'époque, le niveau technologique ne permettait pas de mettre en œuvre un tel système. (77)

L'idée de base est simple et consiste à soumettre l'exécution d'un contrat à un programme informatique, à savoir réaliser un transfert de fond ou de propriété par exemple lorsque qu'une condition contractuelle se vérifie comme un paiement.

Tout d'abord, revenons sur la définition d'un contrat. Le dictionnaire Larousse définit un contrat comme suit : (78) "Convention, accord de volontés ayant pour but d'engendrer une obligation d'une ou de plusieurs personnes envers une ou plusieurs autres. (Quatre conditions sont nécessaires pour la validité du contrat : le consentement des parties, la capacité de contracter, un objet certain, une cause licite.)"

Les conséquences d'un contrat sont donc des obligations d'une ou plusieurs personnes envers une ou plusieurs autres. Historiquement, ces obligations doivent donc être réalisées de bonne foi par les contractants, ou le cas échant, être tranchées par le pouvoir judiciaire.

Prenons l'exemple d'un contrat fictif de location entre deux personnes privées. Monsieur A souhaite louer le bien de madame B. Un contrat est établi entre monsieur A et madame B. Le contrat stipule que monsieur A peut disposer du bien locatif en contrepartie d'un loyer mensuel de 500 euros, et qu'en cas de non versement, le garant de monsieur A devra s'acquitter du montant du loyer. La location peut prendre fin à tout moment après un préavis d'un délai de 3 mois à la demande de monsieur A ou de madame B.

Si l'application de ce contrat peut se révéler extrêmement simple en cas de bonne foi dans son exécution de la part de tous les co-contractants, le non-respect d'une des obligations par une des parties peut amener une situation complexe. Par exemple, si monsieur A ne paie pas son loyer, madame B peut devoir aller devant les tribunaux pour réclamer une somme qui n'est qu'une obligation découlant du contrat. Cette situation sera potentiellement longue et coûteuse à résoudre. Les contrats intelligents se proposent de résoudre plusieurs problématiques liées aux contrats, principalement celles concernant les applications des obligations.

Un premier niveau d'intégration des contrats à la blockchain est de stocker de manière statique le contrat comme une donnée. Nous pouvons imaginer une blockchain permettant de garder une copie des contrats signés entre les partis, par exemple, le contrat signé cryptographiquement par les différents contractants (madame B, monsieur A et son garant, par exemple). Nous pouvons imaginer également que cette blockchain soit capable de stocker toutes modifications ou avenants au contrat si ces derniers sont signés par tous les co- contractants. L'intérêt d'une telle blockchain réside dans le fait qu'en cas de litige, les co- contractants, ou le pouvoir judiciaire le cas échéant, peuvent se baser sur une version du

contrat ne laissant aucune ambiguïté quant à sa version, ou sur une éventuelle falsification de sa ratification par un des contractants.

Cependant, l'intérêt de la blockchain ne s'arrête pas là. Des blockchains comme Ethereum ou NEO sont capables de stocker plus que de simples données, comme par exemple des programmes informatiques qui s'exécutent automatiquement. Ceci permet de franchir le pas technologique qui manquait à Nick Szabo. Ainsi, les blockchains contenant des contrats intelligents exécutent les contrats qu'elles contiennent à la demande des utilisateurs. Les contrats stockés sous formes de code informatique appliqueront donc automatiquement les obligations qui en sont issues selon si les conditions sont remplies ou pas. Dans notre exemple de location, si le contrat est stocké sous forme de contrat intelligent, alors il peut être codé que, tous les 1ers du mois, l'équivalent de 500 euros en cryptomonnaie sont transférés automatiquement du wallet de monsieur A vers celui de madame B. Il est aussi tout à fait envisageable de coder que si le wallet de monsieur A n'est pas suffisamment approvisionné, alors ce sera le wallet du garant qui sera prélevé. Il est même possible de prévoir dans le contrat qu'une demande de préavis soit émise directement dans la blockchain. Si monsieur A ou madame B émet une demande de préavis signée cryptographiquement avec sa clé privée, alors le contrat prend fin 3 mois après, stoppant de ce fait tous les prélèvements. Une fois le contrat mis en place dans la blockchain, il n'est pas possible à un des co- contractants de se soustraire aux obligations dans la mesures où ces dernières sont appliquées de manière automatique. Ainsi, monsieur A ne peut pas empêcher le virement, dès lors qu'il dispose des fonds suffisant. Le cas échéant le garant sera prélevé.

Il existe, à priori, peu de choses qui ne peuvent pas être retranscrites sous forme de code informatique. Cependant, la difficulté de coder un contrat réside dans l'appréciation de ce dernier. Dans notre exemple, la condition d'exécution de l'obligation du contrat, à savoir le virement mensuel, est soumis uniquement à une contrainte temporelle. Le programme doit se contenter de connaître la date et d'effectuer un virement le 1er du mois tant que le contrat court, ce qui est aisé pour un ordinateur. Cependant, beaucoup de contrats nécessitent des informations sur le monde physique afin de pouvoir s'exécuter. Il existe des services qui connectent les blockchains au monde physique : les oracles de blockchain.