Bitcoin
USD 5,020.74
Bitcoin Cash
USD 343.83
Ethereum
USD 152.24

Pas le temps de lire? Téléchargez ce post en PDF 🙂

 

 

Suite à l’arrivée de la technologie Blockchain, de nouvelles fonctionnalités innovantes émergent. Parmi elles, les « Smart Contracts ». Ce terme est très souvent évoqué dans l’univers de la Blockchain et des crypto-actifs, mais de quoi en retourne-t-il vraiment ?

Nous tenterons, au travers de cet article, de définir et d’expliquer les enjeux, les applications concrètes,  ainsi que les limites de ces fameux « contrats intelligents ».

Considéré comme un objet juridique non-identifié par les spécialistes du droit, il est aujourd’hui sujet à un intérêt croissant tant dans l’écosystème Blockchain que traditionnel.

  • Qu’est-ce qu’un smart-contract ? Que représente-t-il ?

D’un point de vue technique, vous pouvez simplement voir cela comme un programme informatique ou un algorithme traditionnel. Ce dernier est rédigé directement « sur » une certaine Blockchain, par un développeur spécialisé et sachant coder un certain langage informatique. Ce dernier est souvent hybride, adapté ou optimisé dans le cadre des Smart Contracts et pour fonctionner sur une Blockchain donnée.

Il faut bien comprendre les différences fondamentales que certaines Blockchains possèdent entre-elles : la plupart sont très basiques en terme de langage informatique. Elles permettent principalement à ses utilisateurs d’effectuer des transactions financières. Elles ne permettent donc que de manière assez restreinte de programmer des transferts de crypto-actifs selon certaines conditions prédéfinies. Par exemple, la transaction peut avoir un certain délai de paiement lors d’un transfert de bitcoins entre deux personnes. Les bitcoins peuvent aussi être « gelés » un certain temps sur une adresse bitcoin, n’appartenant à aucune des deux parties, en attendant la livraison d’un bien physique.

Sachez qu’il n’en est rien comparé à d’autres Blockchains dîtes « programmables » – comme les Blockchain Ethereum, Neo ou encore Lisk – qui permettent, avec un nouveau type de langage informatique comme le Solidity pour la Blockchain Ethereum, d’effectuer des bouts de programmes directement dans leur Blockchain : il s’agit de nos fameux Smart Contracts.

En résumé, toutes les Blockchains ne peuvent pas permettre l’exécution de Smart Contracts, seules le peuvent celles ayant choisies et prévues cela en amont  grâce à un code programmable et flexible. Là où les bitcoins prétendent uniquement remplacer les monnaies traditionnelles grâce à sa Blockchain finalement très peu malléable en terme de codage, les Blockchain de “seconde génération” vont non seulement aussi permettre des transferts monétaires (en crypto-actifs bien-sûr), mais en plus  faire fonctionner des “contrats intelligents” ou “Smart Contracts”.

Une fois ce bout de programme rédigé, le Smart Contract auto-exécute tout simplement le code et les conditions qui le compose. Exactement de la même manière qu’un contrat traditionnel, si un événement X se produit (peut importe que ça soit en bien ou en mal, tant qu’il était prévu dans le code du contrat intelligent), alors le Smart Contract exécutera les conditions prédéfinies en amont, comme le ferait un avocat face à un litige où il y avait une base contractuelle de départ.

 

  • Les enjeux juridiques

Le monde juridique qualifie de contrat « intuitu personae » un accord conclu en fonction des qualités propres de la personne avec qui l’on opère. C’est-à-dire que vous n’auriez pas conclu le contrat si cela avait été avec un autre individu. Le Smart Contract agit de la même façon mais  en fonction d’un instant bien précis qui correspond au moment où toutes les conditions que vous avez déterminées sont présentes pour exécuter votre contrat. Par extension, nous pourrions qualifier le Smart Contract d’ « intuitu momentum », c’est-à-dire que nous n’aurions pas conclu ce contrat si tous les éléments permettant d’établir le contrat n’étaient pas réunis à l’instant T. La technologie Blockchain, qui représente un système d’information décentralisée, permet l’application de cette fonctionnalité qui offre l’assurance que les éléments contractuels sont réunis et donc que le contrat sera acté en bonne et due forme.

Attention, le Smart Contract est considéré comme un software, c’est-à-dire un logiciel qui intrinsèquement n’a pas d’autorité juridique (comme peut l’avoir un contrat traditionnel). Il ne représente donc qu’une application informatique d’un contrat, qu’un tiers, ou une entreprise, a rédigé.

Ainsi, puisque la chaîne de bloc est régie par un processus informatique transparent et strict, les violations de contrats sont donc elles aussi limitées [1]. En effet, la Blockchain exécute les contrats une fois que les deux parties ont rempli leur part définie en amont par chacun, ou par consensus dans le cas de Smart Contracts d’adhésions.

Par conséquent, la confiance est éliminée pour laisser place à l’assurance de bonne foi de chaque opérateur (ou “partie au Smart Contract”) cherchant à établir un contrat préalablement conforme à leur intérêts respectifs. En effet, dans la plupart des cas vous êtes en parfaite autonomie dans la réalisation d’un contrat intelligent : vous inscrivez les clauses qui vous conviennent, et prévoyez celles que vous pensez nécessaires pour votre protection “contractuelle”.

La rédaction d’un Smart Contract ne requiert pas directement d’intermédiaires, mais plutôt des connaissances approfondies en programmation (et donc sa rédaction par un développeur, pour l’instant). Une fois rédigé et inscrit sur la Blockchain, votre contrat deviendra donc public : les parties pourront consulter les transactions (financières ou encore de données diverses) effectuées automatiquement et quasi instantanément par ce dernier.
La transparence est de mise (car le code de ce petit programme est lui aussi public, et donc lisible et vérifiable par TOUS directement sur la Blockchain), l’automatisation est certaine, la rapidité est omniprésente, et surtout, les frais de création puis de transaction sont quasi nuls …

Dans le cas d’un contrat intelligent d’adhésion, les cocontractants vont tout simplement, par des méthodes cryptographiques – pouvant aujourd’hui être perçues comme encore “trop techniques” – signer et donc accepter certaines transactions de ce nouveau type de contrat, avant que l’accord  des deux parties soient donc validé par le réseau comme pour une simple transaction classique de bitcoin par exemple.


Les vices du consentement sont donc limités pour plusieurs raisons :

  • Un cocontractant se doit d’exprimer clairement ses conditions d’accord avant la rédaction du Smart Contract. Il ne peut pas se tromper sur la chose, puisque c’est lui (ou bien un développeur par procuration) qui rédige les conditions de son contrat. En revanche, il peut effectuer une erreur sur la chose (sur l’idée qu’il se faisait du Smart Contract) dans le cas d’un contrat d’adhésion concernant une offre qu’on lui a proposé.
  • Un cocontractant ou encore une personne extérieure au contrat ne peut pas cacher d’information essentielle à la conclusion du contrat (le cas de Dol), ou encore modifier les termes du contrat après sa publication sur la Blockchain afin de satisfaire ses intérêts, car l’opération est validée et analysée par le réseau de mineurs, de façon sécurisée et infaillible. De plus, puisque que le code du Smart Contract est accessible sur la Blockchain, ce dernier pourrait servir de moyen de preuve parfaite (écrite), permettant ainsi de prouver qu’un discours vicié et préalable à la formalisation du Smart Contract, ne correspondait pas du tout à ce dont le Smart Contract était prévu d’exécuter originellement.

 

3) Fonctionnalités, applications et limites des Smart Contracts

Les exemples d’application de Smart Contracts dans notre réalité ne cessent de croître. Certaines entreprises ont déjà commencé à travailler sur cette innovation, il s’agit en effet d’une arme marketing sans précédent : Elle place le client dans une relation encore plus privilégiée avec son enseigne, et lui donne la perception d’un service-client quasi-parfait et totalement transparent.

Cette avancée technique contribuera sans doute à modifier en profondeur nos attitudes face à des institutions traditionnellement positionnées en tant qu’intermédiaires des échanges (financiers, d’assurances, de documents ect..), comme le sont les  assurances, les banques ou encore les notaires et avocats. En effet, ces intermédiaires sont souvent perçu comme assez lent et coûteux pour effectuer des transactions, et il est nécessaire de leur faire confiance pour que ces transactions s’effectuent. Les contrats intelligents viennent potentiellement optimiser toutes ces mêmes caractéristiques, de façon efficiente.

Le modèle commercial qui a eu le plus de succès est celui d’Axa avec Fizzy, un système d’assurance dédommageant les retards de vols aériens. Avec ce service, vous êtes indemnisés instantanément lorsque que votre vol est en retard, sans entamer aucunes démarches administratives (longues et fastidieuses). L’assureur n’aura également pas besoin de traiter les demandes. Pour fonctionner et aller récupérer des données extérieures à sa Blockchain, le Smart Contract est connecté à une base de données prédéfinie par les parties (en amont) comme fiable, ce qui serait en l’occurrence la tour de contrôle de l’aéroport de départ pour cet exemple.

Ces fameuses  données extérieures à la Blockchain, nécessitent un système d’information (un autre programme informatique par exemple), lui aussi extérieur à la Blockchain, et qui va permettre d’inscrire ces données dans la Blockchain pour déclencher automatiquement l’exécution du Smart Contract et de ses conditions. On appelle ce(s) programme(s) relié(s) aux Smart Contracts d’une Blockchain, les “Oracles”.

Cependant, un oracle peut être facilement corrompu (puisque extérieur à la Blockchain), c’est pourquoi les parties à un Smart Contract doivent toujours définir en amont quel sera le(s) Oracle(s) privilégié(s) pour faire rentrer des données et événements extérieurs qui exécuteront le contrat dans la Blockchain.

Le contrat intelligent permettrait également, par exemple, de révolutionner les paris en ligne : imaginons que vous ayez parié sur la victoire de la France face à la Croatie en finale de coupe du Monde. Dès le coup de sifflet final et l’inscription de l’information par l’Oracle dans la Blockchain, le Smart Contract de pari, qui indiquait cette information, en déduit que vous avez gagné votre pari, et que l’individu ayant adhéré en pariant contre vous, a perdu. Vous auriez donc reçu vos fonds pariés en crypto-actifs, instantanément dans votre “Wallet” (sorte de compte en banque pour crypto-actifs). Un projet Blockchain travaille d’ailleurs sur ce concept depuis 2014.

Bien d’autres applications sont possibles grâce aux contrats intelligents (notamment la possibilité de lever des fonds en crypto-actifs de façon quasiment autonome : il s’agit des “ICO“, comparables aux IPO traditionnelles, sauf qu’utilisant souvent des Smart Contracts pour des raisons de transparence et de praticité), mais nous ne les énumérerons simplement pas tous ici. Cependant, une Startup française a bien avancé sur une nouvelle application possible grâce aux Smart Contracts concernant le marché de la réservation en ligne.

Comme précisé plus haut, une fois inscrit dans la Blockchain il y’a impossibilité de se rétracter envers son engagement (Smart) contractuel. Perçu comme un avantage, c’est également une critique que l’on pourrait adresser à ces programmes informatiques, finalement tout puissants dès lors qu’ils sont déployés sur une Blockchain (cela pourrait d’ailleurs poser des problème concernant la GRPD).

En effet, la Blockchain ne permet pas cette fonctionnalité : lors de la publication du contrat, sa transaction s’effectue dans un bloc (parmi d’autres transactions), et étant donné que chaque bloc est dépendant de celui qui le précède, si un cocontractant souhaite se rétracter (ou falsifier le contrat ou ses informations), cela implique pour lui de modifier tous les blocs qui ont créés puis validés depuis le moment où la transaction du contrat a été publiée (ce qui est tout simplement impossible du fait, d’une part qu’il ne possède pas la puissance de calcul nécessaire pour faire “consensus” et faire valider ce bloc frauduleux par d’autres ordinateurs, et d’autres parts car même si ce dernier arrive à remonter la chaîne pour essayer de la modifier, la validation des blocs, après la transaction publiée du contrat, continue avec une majorité des ordinateurs validateurs) : c’est peine perdue pour le fraudeur.

Autre problématique, et non des moindres, comment savoir si un Smart Contract est juridiquement  considéré comme légal ou non ? Comment savoir qu’il n’est pas utilisé par un vendeur de drogue par exemple ? Et d’ailleurs, en cas de litige ou de préjudice, qui est le responsable ? Le développeur du Smart Contract, la partie défaillante, les “mineurs” (ceux qui font fonctionner la Blockchain grâce à leur ordinateur) qui permettent finalement eux aussi indirectement au Smart Contract d’exister et de s’effectuer … ?

Au niveau juridique, toutes ces questions sont encore en suspens, il faudra certainement un moment avant que des législations à la fois souples pour ne pas freiner l’innovation, mais fermes pour faire respecter le droit en vigueur, voient le jour.

[1] Pour vicier une Smart Contract, il faudrait que le système d’information relié à la Blockchain soit détourné, ou que 51 % de la puissance de calcul invalide la création du contrat.

[2] Ce qui pose tout un tas de problématiques sur la véracité de l’information que l’on fait passer pour « fait » dans la Blockchain.

 

Auteurs : Thibault Langlois-BerthelotSerge PETROFF

KryptoSphere France
Suivez-nous

KryptoSphere France

Nous sommes des étudiants de la première association étudiante en France, spécialisée en Blockchain et crypto-actifs. Nous sommes présents à l'ENSAE ParisTech, l'IMT-TSP, Kedge Business School et Rennes School of Business(Paris-Marseille-Rennes).
Nous rédigeons régulièrement des articles sur Blockchain Magazine.
KryptoSphere France
Suivez-nous

Les derniers articles par KryptoSphere France (tout voir)

Related Posts

Laisser un commentaire

cypherpunk's Manifesto (Manifesto pour la confidentialité)

  • "Puisque nous souhaitons la confidentialité, nous devons nous assurer que chaque partie n’a connaissance que de ce qui le concerne directement"...

    Lire

Catégories

error: Content is protected !!