CGV – CGU

2021 – Rapport du 117e congrès – Commission 3 – Chapitre I – Une approche pratique des smart contracts

PARTIE I – L’adaptation du droit des contrats au monde numérique
Titre 2 – L’exécution du contrat dans le monde numérique
Sous-titre 1 – L’automatisation de l’exécution du contrat

Chapitre I – Une approche pratique des smart contracts

3238 En 1994, Nick Szabo imagine le smart contract comme un « protocole de transaction informatisé qui exécute automatiquement les termes d’un contrat »368 (Section I). Le développement de la technologie blockchain lui vaut aujourd’hui un regain d’intérêt (Section II) et de belles perspectives d’avenir (Section III).

Section I – Un processus informatique fondé sur une transaction

3239 – Le mouvement d’automation. – Bien avant l’ère numérique, est né un mouvement d’automation369 dit « mécaniciste » portant l’idée d’automatiser un certain nombre de tâches à l’aide des nouvelles technologies et sans intervention humaine. Dans notre vie quotidienne, les exemples nés de ce courant sont nombreux. Les essuie-glaces s’activent lorsqu’il pleut. Le chauffage se déclenche si la température baisse en dessous d’un seuil prédéterminé. Les volets se ferment quand la nuit tombe, etc.
3240 – Un programme informatique. – Dans les années 1990, Nick Szabo propose d’étendre ce mouvement aux normes juridiques. Conceptualisé de longue date, ce projet se développe grâce aux progrès informatiques.
Le concept naît en observant le fonctionnement d’un distributeur de boissons. L’insertion de l’appoint de monnaie entraîne invariablement la réception d’une canette. L’idée est de reproduire cette instruction conditionnelle dans un code informatique. D’une condition booléenne370 naît une action. Le smart contract est basé sur cette boucle conditionnelle : « If this (condition booléenne) then that (conséquence) ».
Fonctionnement d’un smart contract
L’objectif de cette technologie est d’assurer l’efficacité des transactions en automatisant leur exécution. Lorsque les conditions prédéterminées par les parties sont remplies, le smart contract s’exécute automatiquement.
3241 – La traduction d’une transaction. – Techniquement, la norme juridique est exprimée en langage naturel373 dans un document appelé contrat « fiat »374. Le langage de programmation (ou script) traduit la norme juridique en norme informatique. Trois familles de script existent. Les interpréteurs traduisent l’action au fur et à mesure de son exécution, permettant une correction du programme au cours de sa conception. Les compilateurs sont plus rapides. Ils transposent entièrement les instructions en code informatique, lequel s’exécute en une seule fois. En revanche, l’erreur n’est pas permise375. Une catégorie hybride, dite « JIT »376, compile dans l’instant.
Seul un langage « Turing-complet »377 permet de programmer un smart contract. Ce langage a trois qualités. Il est capable de mettre en place des boucles conditionnelles de type « If this… then that… ». Il est déterministe dans la mesure où les mêmes actions combinées aux mêmes conditions donneront toujours le même résultat. Il est en mesure de s’arrêter pour éviter que les boucles ne se reproduisent indéfiniment.
3242 Cette technique avancée vaut sa qualification de smart au contrat autoexécutant. Néanmoins, le programme informatique lui-même n’a aucune intention. Il est ce que le programmeur a voulu qu’il soit378. Ainsi, si l’exécution ne nécessite aucune intervention humaine, la traduction du programme en langage machine est bien le fait de l’homme.
Le smart contract ne doit pas son existence à la blockchain. Le mécanisme est indépendant et peut exister indépendamment d’une infrastructure blockchain. En revanche, lorsque Vitalik Buterin, un jeune programmeur, l’imagine comme une application décentralisée379 sur une blockchain, il lui donne un nouveau souffle. En plus de l’automatisme, le mécanisme profite des avantages de la blockchain, infalsifiable, immuable, transparente. L’objectif est d’utiliser le climat de confiance créé par la blockchain propice à son développement (Section II).

Section II – Un processus informatique hébergé sur une blockchain

3243 Vitalik Buterin envisage tout d’abord son projet sur la blockchain Bitcoin380, mais il rencontre immédiatement des difficultés. Il s’agit d’une base de données décentralisée consignant l’ensemble des transactions réalisées. Elle crée un historique irrévocable et vérifiable, consultable directement et réputé infalsifiable381. Ainsi l’existence de chaque bitcoin contenu dans un porte-monnaie électronique peut être vérifiée à tout instant. La blockchain est un registre ne trouvant d’application que dans le domaine monétaire.
La blockchain Bitcoin permet de réaliser des échanges. Vitalik Buterin souhaite ajouter la possibilité de définir des conditions à ces échanges en profitant des avantages de la blockchain.
3244

3245 Cette technologie a été imaginée et mise en place par des informaticiens, des cryptographes et des programmeurs. Vitalik Buterin a écrit la genèse d’Ethereum. Il explique avoir mené à bien ce projet notamment avec Gavin Wood388, Jeffrey Wilcke389 et toute une équipe de programmeurs. Les smart contracts ont été pensés comme une technique numérique sans réfléchir à leur compatibilité avec les règles juridiques. Ils trouvent application dans de nombreux domaines et tendent à se développer.
3246 Sans être exhaustif, des exemples concrets permettent de mieux comprendre l’intérêt des smart contracts. Il est double. Le smart contract permet de mettre en place une boucle conditionnelle permettant d’automatiser l’exécution. Le paiement intervient dès la réunion des conditions de la vente. Mais il s’agit également d’automatiser la sanction de l’inexécution. Ainsi le retard d’un avion ou d’un train peut être indemnisé automatiquement par le seul constat de ce retard sans qu’une réclamation auprès de la compagnie d’assurance soit nécessaire. La seule constatation d’une intempérie frappant un terrain agricole suffit à déclencher l’indemnisation pour la perte d’exploitation prévue au contrat d’assurance. Le non-paiement d’un loyer verrouille le véhicule ou l’appartement objet du bail, etc.
Les smart contracts trouvent d’ores et déjà application dans divers domaines tels que le droit des assurances ou encore le droit des entreprises, précisément au sein des pactes d’actionnaires. Depuis peu, une librairie de cinq smart contracts, touchant au droit des sociétés, a été mise à disposition des juristes en libre accès.
L’interaction des smart contracts avec les objets connectés leur donne des perspectives d’avenir plus importantes encore.

Section III – Les principales applications et les perspectives d’avenir

3247
3248 Le smart contract est prometteur. Il réduit les coûts grâce à la décentralisation et à la disruption des intermédiaires tels que les banques, les assurances, les juristes, les plateformes de mise en relation, etc., et généralement les tiers de confiance. Soutenu par la blockchain, il garantit la sécurité des transactions. Fiabilité du protocole, gain de temps et réduction de coût sont autant d’arguments séduisants pour le consommateur. Le smart contract assure à l’utilisateur final une amélioration de son expérience grâce à son efficience.
Nul doute qu’avec de telles qualités, le smart contract poursuivra son développement dans l’avenir448. Ce constat nécessite toutefois de s’interroger sur sa nature juridique et d’en appréhender les principales caractéristiques sous le prisme du droit (Chapitre II).
3249

369) Forgé par D.S. Harder, vice-président de la Ford Motor en 1951.
370) Langage informatique binaire inventé par G. Boole consistant à programmer des variables où le chiffre 0 correspond à « non » et « faux » et où le chiffre 1 correspond à « oui » et « vrai ».
371) E. Netter, Numérique et grandes notions du droit privé, Ceprisca, coll. « Essais », 2019, no 4.
372) V. infra, no 3240.
373) V. Glossaire : « Langage naturel ».
374) V. Glossaire : « Fiat ».
375) Différence entre un compilateur et un interpréteur (www.youtube.com/watch?v=4lXp_89c3RU, consulté le 27 mars 2020).
376) Just In Time.
377) Du nom du mathématicien et cryptographe A. Turing, inventeur de « La Bombe de Turing » capable de déchiffrer « Enigma », la machine cryptant les messages des Allemands pendant la Seconde Guerre mondiale.
378) S. Abiteboul et G. Dowek, Le temps des algorithmes, Le Pommier, 2017, p. 8. Adde p. 177 et s.
379) Elles sont dites « DApps » et sont développées sur blockchain par opposition aux applications développées sur serveurs centralisés ; V. Glossaire : « DApps ».
380) V. Glossaire : « Bitcoin ».
381) V. supra, nos 3219 et s.
382) Ether : cryptomonnaie sur Ethereum, V. Glossaire : « Ether », « Ethereum ».
383) V. supra, no 3241.
384) Langage de script le plus courant pour créer des smart contracts. Il existe d’autres langages Turing-complet tels que C, C++, JavaScript, Python, Regex, Perl… Le langage Solidity est simple d’utilisation, raison pour laquelle il est le plus courant. Le langage Michelson est développé sur la blockchain Tezos. Il est très complexe mais dispose d’une sémantique formalisée pour éviter les erreurs d’exécution.
385) Application Binary Interface.
386) PwC, EY et d’autres proposent un service d’audit de smart contracts et de tokens dans le but de détecter les éventuels mauvais fonctionnements ou failles de sécurité.
387) V. Glossaire : « Oracle » ; V. infra, nos 3353 et s.
388) G. Wood est un programmeur informatique britannique, cofondateur d’Ethereum. Il a écrit Solidity and the Yellow Paper définissant Ethereum Virtual Machine, et a été le premier directeur technologique d’Ethereum.
389) J. Wilcke est un programmeur informatique, cofondateur d’Ethereum.
390) V. infra, nos 3421 et s.
391) Ord. no 2016-520, 28 avr. 2016, relative aux bons de caisse : JO 29 avr. 2016, no 0101, texte no 16.
392) Ord. no 2017-1674, 8 déc. 2017, relative à l’utilisation d’un dispositif d’enregistrement électronique partagé pour la représentation et la transmission de titres financiers : JO 9 déc. 2017, no 0287, texte no 24.
393) D. no 2018-1226, 24 déc. 2018, relatif à l’utilisation d’un dispositif d’enregistrement électronique partagé pour la représentation et la transmission de titres financiers et pour l’émission et la cession de minibons : JO 26 déc. 2018, no 0298, texte no 33.
394) Sur la digitalisation du droit des affaires : V. supra, no .
397) V. Glossaire : « Crowdfunding ».
398) Ord. no 2016-520, 28 avr. 2016, relative aux bons de caisse : JO 29 avr. 2016, no 0101, texte no 16.
399) G. Cornu, Vocabulaire juridique, PUF, 13e éd., 2020, p. 131.
400) V. Glossaire : « Cryptoactif ».
401) V. Glossaire : « Jeton ».
402) V. supra, no .
403) V. infra, no 3373.
405) L. no 2019-486, 22 mai 2019, relative à la croissance et la transformation des entreprises.
406) V. supra, no .
407) V. supra, nos  et s.
408) À l’exception des sociétés par actions simplifiées pour lesquelles la nullité du non-respect de la clause de préférence est prévue légalement (C. com., art. L. 227-15).
409) Cass. com., 11 mars 2014, no 13-10.366, publié au bulletin.
410) Et dans le cadre des sociétés cotées, la communication obligatoire à l’AMF (C. com., art. L. 233-11).
412) https://opensmartcontract-front.netlify.app/dashboard/clauses/
413) V. Glossaire : « Jeton ».
414) Infrastructures servant de contrepartie unique entre vendeur et acquéreurs sur les marchés financiers. Concrètement, elles sont chargées de garantir la livraison et le paiement de titres ou de marchandises entre des investisseurs ne se connaissant pas.
415) V. supra, nos 3244 et  : le wallet est un portefeuille numérique permettant le stockage de cryptoactifs.
416) L. 6 juill. 1989, art. 22-1-1.
418) Également appelées « indicielles », ces couvertures reposent sur des paramètres objectivables (temporels, de pluviométrie, de température, d’humidité, ou de rendements de culture par exemple) permettant de fixer des seuils de déclenchement pour le paiement des sinistres et non sur une déclaration de sinistre.
419) V. supra, no 3254.
421) L. no 2014-617, 13 juin 2014, relative aux comptes bancaires inactifs et aux contrats d’assurance-vie en déshérence : JO 15 juin 2015, no 0137, p. 9951, texte no 1.
423) C. Vaysse, La blockchain et le smart contract au service du formalisme du contrat administratif… les acheteurs publics sur la sellette ? : LPA 12 janv. 2021, no 8, p. 9.
425) V. Glossaire : « IoT ».
426) V. supra, no 3255.
427) L’assurtech Cuvva met en place une méthode de paiement pour son offre d’assurance « Pay as you drive ».
431) Machine to Machine : sans l’intervention de l’homme.
432) www.blockchains.com/, consulté le 9 novembre 2020.
433) www.wis-ecoles.com/objets-connectes-energie/, consulté le 27 février 2021.
436) V. Glossaire : « Pair-à-pair ».
437) Si je produis plus d’électricité que je n’en consomme, alors je la propose sur le réseau. Si je consomme plus d’électricité que je n’en produis, alors j’en achète sur le réseau. Le smart contract automatise l’ensemble de la procédure.
439) Société d’intérêt public de l’État de New York se définissant elle-même comme offrant « des informations et des analyses objectives, des programmes innovants, une expertise technique et un soutien pour aider les New-yorkais à accroître l’efficacité énergétique, à économiser de l’argent, à utiliser des énergies renouvelables et à réduire la dépendance aux combustibles fossiles » (www.nyserda.ny.gov/).
441) Plateforme logicielle spécialisée dans la maîtrise de l’énergie.
442) Concepteur et programmeur de smart contracts.
445) The Energy Origin, startup interne à Engie.
447) www.smartgrids-cre.fr/index.php?p=microgrids, consulté le 28 février 2021.


Aller au contenu principal