Blockchain : quelle valeur juridique pour les smart contracts ?
Dans l’univers de la blockchain, deux des applications pratiques dont on entend le plus parler sont les cryptomonnaies et les smart contracts. Dans cet article, nous allons nous intéresser aux seconds. L’interrogation portera sur les aspects juridiques de ces “contrats”.
Une définition du smart contract
Un petit billet de Cryptoast aborde déjà la définition du smart contract. Des précisions seront apportées dans cet article qui se voudra complet sur le sujet.
Un smart-contract, rarement appelé sous sa dénomination française contrat intelligent, est un protocole informatique destiné à, numériquement, faciliter, vérifier ou faire respecter la négociation ou l’exécution d’un contrat. Dans leur version ultime, les smart contracts permettent donc la réalisation de transactions crédibles sans tiers de confiance ou sans intervention humaine. Ces transactions sont alors traçables et irréversibles. Un smart contract peut également être programmé pour exécuter certaines clauses spécifiques. En d’autres termes, ce ne sont pas réellement des contrats mais des programmes informatiques. Le terme “intelligent” est donc peut-être un peu usurpé puisque le smart contract ne fait que suivre les instructions d’un programmeur.
En pratique, le code informatique prévoit des actions précises pour l’exécution ou sanctionner la non-exécution d’une obligation. Par exemple, “Loulou verse 100 à Toutou chaque 1er du mois” ou “Toutou ne livre pas le produit P à Loulou si Loulou n’a pas payé Toutou avant la date D”.
Actuellement, dans la majorité du temps, les smart contracts sont développés grâce à la blockchain Ethereum. Ils sont même la principale raison pour laquelle sa cryptomonnaie, l’ether, a été créée. En effet, dans les smart contracts, le paiement est facilité s'il est effectué en ether.
Les smart contract ne sont toutefois pas sortis du chapeau de Vitalik Buterin, l’un des co-fondateurs d’Ethereum. En effet, dès 1996, Nick Szabo avait développé et conceptualisé le smart contract. Ce dernier est considéré comme l’une des têtes pensantes des concepts de cryptomonnaie (avec Bitgold) et de blockchain. Il pourrait même être l'une des personnes voire la personne se cachant derrière Satoshi Nakamoto...
Le code du smart contract doit-il être open source ? En droit français, il n'y a aucune obligation. La pratique est donc facultative et peut être encouragée pour une éventuelle utilisation ultérieure.
Les avantages du smart contract
Le smart contract présente de nombreux avantages pour permettre une bonne exécution des obligations contractuelles. Ainsi, lorsque les parties à un contrat manquent de confiance l’une envers l’autre pour diverses raisons, le recours à un smart contract pourrait remédier à cette difficulté. Par exemple, lorsque les sommes en jeu sont importantes ou si des influences extérieures pourraient corrompre le contrat, les parties font en général appel à un intermédiaire.
Or, un intermédiaire peut présenter des inconvénients. D’une part, il coûte de l’argent et parfois beaucoup. D’autre part, cela est difficile à accepter pour certains mais c’est un humain… Un humain est un être vivant doué d’émotions. Il est donc sujet à être partial, faillible, malade, incompétent voire corruptible. Tout le contraire d’un programme informatique sans âme… et bien moins cher !
Le code informatique utilisé pour l’exécution du contrat serait uniquement réalisé en fonction des instructions des parties. La réalisation est assurée par un programmeur informatique qui n’aurait aucun intérêt à avantager l’une ou l’autre des parties. Ces dernières auraient, de toute façon, le dernier mot pour valider ledit code. Il serait alors consultable, ou auditable en bon langage juridique, par les parties en toute transparence pendant l’exécution du contrat. Surtout, les actions prévues dans le smart contract ne seraient pas modifiables. Un principe de base de la technologie blockchain. Le changement d’avis d’une partie serait donc, en principe, impossible. Nous reviendrons sur ce dernier point.
Le smart contract pourrait aussi permettre l’exécution de l’ensemble des obligations des parties dans des contrats simples. Le protocole informatique implique alors l’exécution de formules logiques “si… donc“. Nous avons eu un exemple réel avec le contrat Fizzy d’Axa, une assurance en cas de retard d’avion. Une expérience aujourd'hui abandonnée par l'assureur. Jusqu’à 15 jours avant le départ, vous pouvez souscrire un contrat onéreux en donnant les informations nécessaires (numéro de vol, coordonnées nominales et bancaires). Si le vol a 2 heures de retard ou plus, le voyageur est automatiquement indemnisé sur son compte bancaire, possiblement quelques minutes après l’arrivée du vol. Tout ceci sans aucune autre intervention humaine que celle du voyageur lors de la souscription ! Voici un exemple pratique de ce que pourrait apporter un smart contract.
Un autre exemple, celui-ci non expérimenté à ce jour : dans les services administratifs, pour toute délivrance d’un document d’identité, un usager donne les informations nécessaires à l’obtention. Ces informations sont vérifiées par la blockchain et, si elles sont complètes et exactes, le document est directement délivré à l’usager. Le tout sans aucun déplacement et aucune intervention humaine autre que celle de l’usager. Une exécution bête et méchante d’un code informatique !
La question essentielle de la valeur juridique des smart contracts
Le contrat conclu par voie électronique est défini par l'article 1127-1 du code civil. Il peut être conclu par "quiconque propose à titre professionnel, par voie électronique, la fourniture de biens ou la prestation de services, met à disposition les stipulations contractuelles applicables d'une manière qui permette leur conservation et leur reproduction". Très vite, on remarque les limites de cette définition pour les smart contracts : à titre professionnel, mise à disposition des stipulations contractuelles applicables, reproduction desdites stipulations.
Si la technologie semble convaincante et serait un réel progrès dans de nombreux domaines, aucun professionnel de droit ne se laissera méprendre. Juridiquement, les smart contracts ne sont pas des contrats. Ils sont, au mieux, des supports au contrat classique.
L’article 1128 du code civil dispose que la validité d’un contrat repose sur la capacité des parties à contracter, leur consentement et un contenu licite et certain. Certains s’interrogent sur la capacité de contracter car un smart contract signifierait la maîtrise du code informatique pour bien comprendre ce à quoi on s’engage. Mais cette théorie semble un peu fumeuse puisque cette incapacité ne concerne que les mineurs et les majeurs protégés (art. 1146). Il n’est donc pas nécessaire de maîtriser le code informatique tant qu’il est retranscrit en langage intelligible pour un non-initié. C'est un peu comme la "traduction" d'un contrat de mariage par un notaire à sa clientèle.
Toutefois, comme vu précédemment, les smart contracts ont la seule intelligence de leur programmeur. Ce dernier aura sans doute besoin d’un juriste pour rédiger certaines clauses. Le smart contract se présente alors comme les modalités d’exécution du contrat classique lorsqu’il est rattaché aux effets du contrat.
L'absence de valeur juridique réelle des smart contracts
Plus précisément, ce sont les smarts contracts SEULS qui n’ont pas de valeur juridique ! Si celui-ci est accompagné d’un contrat classique alors il n’est pas dépourvu de valeur juridique. Néanmoins, cette précision ne modifie pas en tant que telle la contradiction juridique entre le droit des contrats et les smart contracts.
La première difficulté arrive dès la formation du contrat. L’article 1113 du code civil dispose que “le contrat est formé par la rencontre d’une offre et d’une acceptation par lesquelles les parties manifestent leur volonté de s’engager“. Or, si les informations présentes sur la blockchain sont chiffrées, quid de l’accord des volontés si les parties ne sont pas identifiables ? En outre, peut-on être certain que l’offre a bien été comprise par la personne l’acceptant lorsque l’algorithme est complexe ? Le smart contract laisse un vide sur ces questions. En conclusion, seul un contrat classique peut permettre de répondre aux conditions de forme imposées aux contrats. Et nous n’évoquons même pas les contrats à formalisme renforcé comme ceux prévus en droit de la consommation.
Une autre problématique juridique du smart contract est liée à son terme. En effet, l’un des principes de la blockchain est son inaltérabilité et son impossibilité de la modifier : il est intangible et irréversible. Or, quid en cas de modification du smart contract voulue par les parties ? Quid de la demande en nullité ou en résiliation ? Aujourd’hui, les smart contracts ne permettent pas de répondre à ces questions
Le seul moyen de remédier à cette difficulté serait de prévoir, dans le code informatique, la possibilité pour une partie de demander la résiliation ou la nullité du contrat pour une raison précise. En d’autres termes, d’une part, cette possibilité doit être prévue à l’avance dans le code informatique car elle ne pourrait pas être ajoutée a posteriori. D’autre part, la demande doit répondre à la formule logique “si… donc“. Par exemple, “si Loulou ne délivre pas le bien avant lundi, donc le contrat est résilié”. Ainsi, elle n’est pas à proprement parler une demande mais l’exécution d’une obligation. La partie n’a même pas à demander la résiliation puisque c’est prévu dans le code.
En termes simples, il n’y a pas de place pour l’aléa dans un smart contract. Une partie ne peut pas changer d’avis. Si Toutou souhaite accorder un délai à Loulou mais que le smart contract ne le prévoit pas, le contrat sera résilié si la possibilité d’accorder un délai n’est pas prévue dans le code. D’une manière plus générale, la force majeure ou l’imprévision sont des concepts inconnus du smart contract. Il faudrait prévoir une multitude de clauses pour que l’inexécution d’une obligation pour force majeure ou imprévision ne soit pas transformée en exécution forcée du débiteur.
En outre, la résolution d’un contrat est, à ce jour, impossible. En effet, la résolution se différencie de la résiliation dans le sens où elle annule rétroactivement un contrat. Autrement dit, le contrat n’a jamais existé et il doit disparaître de la blockchain. Chose impossible dans la blockchain publique telle qu’elle est aujourd’hui connue, notamment avec la blockchain bitcoin.
La délicate question de la responsabilité dans un smart contract
Dans un smart contract, les questions relatives à la responsabilité se posent. S'il arrive une difficulté au cours de l'exécution du smart contract, il y a clairement une difficulté. En effet, le code informatique n'a pas de personnalité juridique. Il ne peut donc être considéré comme responsable du litige.
La rédaction du smart contract peut être effectuée par un programmeur indépendant, plusieurs développeurs, une entreprise ou encore une organisation. Ce sont eux, en quelque sorte, les tiers de confiance. S'ils font une erreur dans la programmation, quid de sa responsabilité ? Les parties elles-mêmes sont-elles responsables de quoi que ce soit ? A ce jour, la réponse à ces questions est inconnue. On serait donc dans des cas de responsabilité connus liés au contrat classique. Mais, même avec cette échappatoire de la responsabilité classique, le fondement juridique de la responsabilité de l’oracle n’est pas connu. Nous pourrions ajouter à cela les Oracles qui sont des tierces parties qui peuvent permettre le déclenchement d'un smart-contract.
Aussi, que faire en cas de cyberattaque ? L'exemple de "the DAO" est particulièrement topique. Des millions d'éthers ont été détournés car, pour résumer grossièrement, le code informatique n'était pas assez robuste. La gouvernance du projet étant entièrement décentralisée, aucun responsable de cette catastrophe dans le monde de la blockchain n'a pas être désigné.
La responsabilité est clairement la problématique la plus importante du smart contract et tout reste encore en l'état de discussions au sein même des institutions européennes.
Les autres problématiques liées aux smart contracts
Entré en application en mai 2018, le règlement général sur la protection des données (RGPD) a renforcé les droits des personnes dont les données sont traitées. Un smart contract doit clairement prendre en compte cette réglementation car un certain nombre de données personnelles peuvent y figurer. Par exemple, dans le secteur bancaire, en plus des noms et prénoms, on y trouve en effet une résidence fiscale, un numéro de compte bancaire ou encore le statut familial. Quant aux noms et prénoms, on les retrouve dans tous les smart contracts. Aussi le RGPD semble incompatible avec le smart contract, et la blockchain en général, sur un point précis : le droit à l'effacement ou droit à l'oubli. Si le smart contract est présent ad vitam aeternam sur la blockchain, il y a clairement une difficulté avec le droit à l'oubli.
? Blockchain et RGPD, sont-ils compatibles ?
Cette problématique des données personnelles peut être renversée en cas d'anonymat des parties. S'il n'y a pas de données personnelles à protéger, l'anonymat ne permet pas au smart contract d'être juridiquement valable car un contrat nécessite l'identification des parties.
Aussi le code du smart contract peut être audité en fonction de l'importance du projet. Par exemple, dans le cadre d'une ICO visée par l'AMF et accompagnée d'un smart contract, le code du smart contract fera presque à coup sûr l'objet d'un audit par l'ANSSI. C'est aussi le cas de gros projets, notamment dans les secteurs énergétique, pharmaceutique, bancaire et financier, mais sans obligation réglementaire. Ce n'est pas une obligation légale pour la plupart, ni une problématique en soi, mais c'est un élément à prévoir et pouvant faire ralentir le projet.
Aujourd'hui, au niveau européen, il y a peu de projets permettant de tester des projets, via la création d'un Digital Lab. Ceci permettrait d'expérimenter de nouvelles façons de traiter les crypto-actifs sans être en pleine conformité avec la totalité de la réglementation UE si elles sont des barrières aux tests. Le test de smart contracts est alors envisagé.
Conclusion
Le smart contract est une création formidable aux applications infinies. Si techniquement, l’offre est séduisante, elle suppose de s’adapter à la législation en vigueur. Or, sur ce point, le smart contract reste un concept trop flou.
Un smart contract ne peut être que le support d’un contrat classique. Il sera une aide précieuse pour l’exécution contractuelle si le contrat en question est un contrat simple. En présence d’une seule condition et d’une seule obligation, le smart contract est même un protocole efficient et l’exemple de Fizzy l'a démontré. Toutefois, seul, il ne répond pas aux critères de formation d’un contrat, ni à l’exécution d’un contrat plus complexe supposant la possibilité d’aléas, de résiliation, de modification et de résolution. Il n’a donc aucune valeur juridique s’il n’est pas accompagné d’un contrat classique.
Toutefois, le futur est loin d’être morose. Les progrès de l’intelligence artificielle, une plus grande souplesse de la blockchain sans perdre en intégrité et en sécurité, et la multiplicité des applications sont de nature à rendre optimiste la généralisation du smart contract. Les difficultés juridiques présentées dans cet article sont toutes surmontables, même la résolution. Mais elles nécessiteront plusieurs années de pratique.