Introduction
L'émergence des smart contracts a révolutionné le monde de la blockchain, offrant des possibilités d'automatisation et de désintermédiation des échanges. Cependant, une limitation majeure réside dans l’impossibilité d’effectuer des calculs sur des données chiffrées. Le chiffrement homomorphe vise à résoudre ce problème, ouvrant de nouvelles perspectives pour la confidentialité et la sécurité des données dans les applications blockchain.
La Blockchain : Une Base de Données Décentralisée et Sécurisée
La technologie blockchain, apparue en 2008 suite à une étude de Nakamoto, fondateur du bitcoin, est une base de données accessible à tous. Elle intègre progressivement notre droit. S’il est vrai que la technologie blockchain a permis la création du bitcoin, elle a bien d’autres fonctions et peut donner naissance à bien d’autres monnaies. Comme le précise le site blockchain France « La blockchain est une technologie de stockage et de transmission d’informations, transparente, sécurisée, et fonctionnant sans organe central de contrôle ». Cette base de données est sécurisée et distribuée : elle est partagée par ses différents utilisateurs, sans intermédiaire, ce qui permet à chacun de vérifier la validité de la chaîne. C’est un réseau pair-à-pair. C’est un répertoire d’information publique irréversible et incorruptible.
La blockchain, est une chaîne de blocs. C’est un logiciel s’exécutant sur un ordinateur appelé « nud ». Chaque nud est relié au réseau blockchain et peut soumettre et recevoir des transactions. Le logiciel sassure que chaque nud accepte, dans un processus appelé consensus. Il sagit de blocs individualisés numériques sur lesquels sont stockées des informations. Chaque bloc de transactions est lié au suivant par son empreinte ou « hash » qui permet détablir la continuité de la blockchain. Lensemble des blocs forme une base de données comparable à un registre de comptes décentralisé donc hébergé par certains utilisateurs adhérents. Les transactions sont émises et regroupées dans un bloc qui sera validé avec une clé cryptographique unique. Une fois le bloc validé, il est horodaté et ajouté à la chaîne de blocs. La transaction est alors visible pour le récepteur ainsi que pour lensemble du réseau. Chaque acteur, émetteur ou récepteur a un identifiant qui permet de le tracer tout en protégeant son identité. Ces identifiants sont les clés privées ou publiques. Son adresse blockchain sera calculée à partir de sa clé publique. Lorsquil souhaite effectuer une transaction sur la blockchain, lutilisateur va chiffrer le hash de son message avec sa clé privée. Les mineurs vérifient ensuite que la clé privée correspond à la clé publique qui est stockée dans la blockchain pour valider la transaction. Ce nest pas nécessairement lécrit numérique qui est stocké.
Les blocs doivent être validés. Le consensus est en effet le mécanisme permettant de sassurer que chaque nud du réseau dispose bien de la même information avant denregistrer définitivement une opération dans la blockchain. Dans un premier temps, cest le système dit du « mining » qui sest imposé. Il faut alors la preuve du travail (proof of work). Ce sont les mineurs qui procèdent alors au minage, cest-à-dire qui gèrent les serveurs contre rémunération. Comme le décrit clairement F.-R. Velde « Le problème mathématique repose sur une fonction de hachage, à savoir une fonction qui prend une séquence de lettres et de chiffres x de longueur arbitraire, et en tire une autre y de longueur fixe. Comme il nest pas possible daller à lenvers et de calculer n, la seule méthode consiste à essayer des nombres n les uns après les autres, jusquà ce que lon trouve un y qui réponde à la condition. Le minage consiste, pour le mineur à se livrer à des opérations de hachage de len-tête avec lobjectif dêtre le premier à trouver une valeur pour le nonce qui permette au hash obtenu de commencer par un certain nombre de zéros prévu par lalgorithme. Le premier mineur qui trouve le nombre n le fait savoir au réseau. Le premier qui a réussi la résolution du problème propose la validation aux autres. Le système doit être validé par 51 % des participants. Ce processus peut être ainsi résumé. Concrètement, chaque nud du réseau reçoit en permanence des messages dont certains proposent de nouvelles transactions à ajouter à la blockchain. Lapplication blockchain installée sur le serveur dun mineur vérifie alors la validité de la transaction. Lapplication réalise ensuite une empreinte mathématique comprenant la transaction, le numéro du bloc précédent dans la blockchain et un fichier proof of work (POW) qui mesure la quantité de travail utilisée par le mineur pour réaliser lopération. Cette empreinte correspond de façon unique à la transaction. Linnovation de la technologie blockchain tient à la combinaison de la technique de sécurisation des blocs par cryptage et de celle de lexploitation dun réseau distribué pour réaliser des calculs.
Les Smart Contracts : Automatisation et Désintermédiation
Les Smart Contracts sont au cœur du développement des blockchains et du Web3 en assurant la désintermédiation des échanges grâce à un code prédéfini qui s’exécute automatiquement. Imaginés par Nick Szabo, spécialiste du chiffrement et créateur d’un précurseur déchu du Bitcoin, le « BitGold », les smart contracts ont pour la première fois été mentionnés en 1994, mais ce n’est que récemment que le concept s’est démocratisé. Désormais connus grâce à la popularisation des crypto monnaies, les smart contracts sont devenus la clé de voute de la révolution crypto et sont au cœur du développement technologique et juridique qui pourraient bouleverser de nombreuses industries.
Lire aussi: Gestion de programme et réalisation des bénéfices
Définition et Fonctionnement des Smart Contracts
« Les Smart Contracts garantissent un ensemble très précis de conditions d’exécution. Il n’y a plus de confusion ni de besoin de résoudre des litiges. C’est vraiment un ensemble de conditions finies et assurées par l’informatique ».Jeff Garzik, co-fondateur de BlogLes smart contracts, ou contrats intelligents sont des programmes informatiques autonomes, exécutés lorsque les conditions prédéterminées sont remplies. Ce concept a été conçu pour garantir la force obligatoire des contrats par un code informatique, comme l’avait exprimé Lawrence Lessig sous cette célèbre formule : Code is Law.🇬🇧 Code is Law → 🇫🇷 Le code fait loi.
Le programmeur Nick Szabo désirait initialement permettre à des étrangers, qui n’ont aucun moyen d’avoir confiance l’un envers l’autre, de réaliser des transactions en toute sécurité. Pour cela, il a imaginé des smart contracts construits sur un système de conditions en utilisant des conditions IF/THEN (si/alors). Ce protocole fonctionne de la manière suivante : SI la condition A est remplie, ALORS il faut exécuter B. Si et seulement si les conditions sont remplies, alors le contrat intelligent s’exécutera et sera soumis à sa validation par les nœuds. Le contrat intelligent va remplacer le rôle du tiers de confiance.
On peut ainsi définir le smart contract comme un protocole informatique qui exerce les clauses contractuelles de manière automatique. Les contrats intelligents sont des « contrats » numériques stockés sur la blockchain afin de permettre des échanges automatisés, sécurisés et décentralisés. Clé de voûte des blockchains, les smart contracts sont voués à transformer nos relations contractuelles et faciliter nos échanges sur les réseaux. Un contrat numérique automatiséSimilaire à un contrat légal traditionnel à quelque chose près, bien qu’il ne soit pas encore reconnu juridiquement, celui-ci est automatisé et ne nécessite d’aucun intermédiaire pour valider le contrat entre les deux parties, mais alors comment fonctionne-t-il ? Premièrement, les parties contractantes doivent déterminer les conditions du contrat, une fois finalisées, elles sont traduites en programme informatique. Fondamentalement, le code représente un certain nombre d’instructions et de conditions qui décrivent les scénarios possibles de futures transactions. Lorsque le code est enfin créé, il est stocké dans la blockchain et répliqué parmi les participants à la blockchain, afin que le code soit exécuté par tous les nœuds. Si les conditions du contrat sont satisfaites et vérifiées par tous les participants du réseau blockchain, alors la transaction correspondante est exécutée puis validée.
Les Frais de Transaction : "Gas Fees"
Le « Gas » fait référence aux frais de transaction nécessaires pour compenser l’énergie du calcul essentielle à la validation par les nœuds du réseau. Tout comme Satoshi Nakamoto l’avait théorisé et appliqué à son protocole du Bitcoin, il est nécessaire de les rémunérer afin d’assurer leur intérêt à sécuriser le réseau. Car les mineurs réalisent les tâches importantes de vérification et de traitement des transactions sur le réseau, mais peuvent également le corrompre et l’attaquer. Il était donc indispensable de les rémunérer pour assurer le fonctionnement et la sécurité des réseaux. La limite de gas représente la quantité maximale de gas que vous êtes prêt à dépenser pour une transaction. Cependant, si la « limite de gas » est trop basse, un mineur peut choisir d’ignorer ces transactions ce qui implique une fluctuation des frais en fonction de l’offre et de la demande. Sur le réseau Ethereum par exemple, les frais s’effectuent avec la cryptomonnaie native d’Ethereum, l’éther $ETH. Les prix du gas sont indiqués en gwei : 1 gwei = 1 nanoETH = 0,000000001 ETH (10 -9 ETH). Si vous souhaitez en savoir plus sur les calculs des frais de transaction sur Ethereum, voici notre article dédié sur le sujet.Note : les frais de transactions sont un élément de concurrence majeur sur le marché des crypto monnaies. Ethereum est particulièrement visée pour ses frais de transaction très élevés et fait l’œuvre de nombreuses critiques. Les développeurs mettent donc en œuvre de nombreuses solutions pour résoudre ce problème.
La Blockchain et les Nouveaux Tiers de Confiance : "Code is Law"
Le contrat intelligent pourrait donc devenir une vraie révolution pour les relations contractuelles en éliminant les tiers de confiance tout en assurant la sécurité et la confiance nécessaire à l’automatisation des contrats. Comme l’explique le fondateur d’Ethereum Vitalik Buterin, le caractère autonome de ces contrats pourrait permettre l’annulation ou la suspension d’un contrat si une obligation n’était pas exécutée. Seul le code informatique peut définir si un contrat a été entièrement ou partiellement exécuté, rendant ces protocoles « intelligents ». Une blockchain est dotée de machines virtuelles afin que chaque nœud puisse exécuter ces contrats autonomes.
Lire aussi: Fabriquer une Tétine pour Poupée Reborn
Les Smart Contracts : Une Question de Droit
Un smart contract n’est pas exactement similaire à un contrat au sens classique, son appellation de « contrat » vient du fait qu’il s’agisse d’un programme informatique qui applique des clauses préalablement définies. Ils n’ont à ce jour aucune valeur juridique, aucun recours contre le vol n’est encore possible tant que les législations ne reconnaissent pas cette innovation sur le plan juridique. Comme le souligne Bill Marino, avocat spécialiste de la blockchain, le smart contract n’est pas la solution à tous les problèmes et certaines situations nécessiteraient un contrat plus flexible. Dans le cas où un contrat doit être annulé, dans le cas d’un bien immobilier par exemple, un contrat traditionnel pourrait être annulé en justice, mais pas un smart contract.
Applications des Smart Contracts
Si les individus ont dans un premier temps propulsé les cryptomonnaies au centre de l’actualité, ces dernières intéressent désormais les États et les entreprises. Mais alors comment la blockchain peut-elle réellement aider les différentes industries ? Les smart contracts jouent ce rôle d’accélérateur construit pour faciliter et sécuriser les transactions sur les réseaux décentralisés, mais ils permettent également la conservation et l’échange de données. Car si l’on pense tout d’abord à l’échange de cryptomonnaies, ces derniers peuvent en réalité se révéler révolutionnaires pour les industries et s’appliquer dans de nombreux domaines. Plus qu’un simple moyen d’échange, les smart contracts sont des transporteurs d’informations, et peuvent donc jouer un rôle majeur dans les stratégies économiques, logistiques et organisationnelles des entreprises :
- Sécuriser un accord grâce à l’immutabilité et la transparence de la blockchain
- Limiter les coûts intermédiaires, comme les notaires ou les avocats, pour l’élaboration, le suivi et la passation d’un contrat
- Réduire les risques d’erreurs et d’interprétations
- Simplifier les transactions entre différents acteurs
- Automatiser les obligations contractuelles, telles que le paiement. Cela permet d’éliminer les risques d’impayés, par un transfert automatique des fonds, qui auront été placés sous séquestre par exemple
Selon une étude d’Accenture publiée début 2017, les banques d’investissements pourraient à elles seules économiser jusqu’à 12 milliards de dollars par an en adoptant la blockchain et les contrats intelligents. Le prestigieux cabinet de conseil Gartner a estimé que d’ici 2023, plus de 25% des organisations mondiales utiliseront les smart contracts. « Lorsqu’une organisation adopte des contrats intelligents sur la blockchain, elle bénéficie de l’augmentation associée de la qualité des données, qui augmentera de 50 % d’ici 2023 », a déclaré Lydia Clougherty Jones, directrice de recherche principale chez Gartner.
De nombreux secteurs seront impactés par la révolution cryptographique et l’avènement de l’Internet des Objets (IoT) :
- Gouvernance
- Finance
- Assurances
- Énergie
- Immobilier
- Transports
- Santé
- Médias
- Divertissements…
L’Internet des Objets prendra place grâce l’environnement cryptographique qui est en construction. La blockchain et les cryptomonnaies offrent à tous, gouvernements, entreprises, développeurs et individus le pouvoir d’échanger, d’innover et de construire un internet éthique, transparent et sécurisé.
Lire aussi: Britax B-Smart : Est-ce le Bon Choix ?
Le Chiffrement Homomorphe : Une Solution pour la Confidentialité des Données
Contrairement aux méthodes de chiffrement traditionnelles, le chiffrement homomorphe permet d'effectuer des calculs directement sur des données chiffrées sans avoir besoin d'une clé secrète. Cela permet de maintenir la confidentialité des données tout en les partageant avec des tiers pour du traitement. Cela est rendu possible grâce à des opérations mathématiques. À présent, les secteurs public et privé adoptent ce nouveau paradigme de sécurité et s'efforcent activement de rendre le chiffrement homomorphe plus pratique et accessible. Avec RSA, multiplier deux textes chiffrés avec la même clé équivaut à élever le produit des données en clair à la puissance de la clé publique. Cela rend possible l'exécution de calculs complexes sur des textes en clair, incluant le Machine Learning et le calcul multipartite sécurisé (MPC). Par exemple, dans la supply chain, souvent cible de piratages, il réduit le risque de fuite de données sensibles.
Exemples d'Applications du Chiffrement Homomorphe dans les Smart Contracts
- Private Smart Contract : Par exemple, l'utilisateur transmet une transaction chiffrée ainsi qu’une preuve à divulgation nulles de connaissances (ZK Proof) prouvant que les conditions nécessaires à la transaction sont satisfaites.
- Trustless Gaming : De nombreux jeux vidéo nécessitent que certains éléments soient dissimulés vis-à-vis des adversaires, tout en permettant le calcul de données. En plus de prouver certaines caractéristiques de l'identité, comme l'empreinte digitale, en ne divulguant que les informations choisies, il est possible de faire des calculs sur ces données de manière privée.
Acteurs Innovants dans le Domaine du Chiffrement Homomorphe
Comme le rappelle son PDG, Rand Hindi, la blockchain n'est qu'un point d'entrée sur le marché. Fhenix permet aux développeurs d'Ethereum de créer des smart contracts chiffrés et d'effectuer des calculs sur les données chiffrées, tout en utilisant Solidity et d'autres outils familiers. Elle permet la création de dApps ressemblant de près au Web 2 et se distingue par sa capacité à générer de l'aléatoire on-chain privé en utilisant des clés publiques pour produire un flux de bits sécurisé via FHE. Récemment, leur collaboration avec EigenLayer, le leader du restaking sur Ethereum, a renforcé leur notoriété. Cette collaboration vise à augmenter la confidentialité sur Ethereum et à renforcer le lien entre Cosmos et Ethereum. En février dernier, Inco est parvenu à lever plus de 4,5 millions de dollars auprès de fonds bien connus de l'écosystème tels que Matter Labs, Circle Ventures, Polygon Ventures et d’autres.
tags: #chiffrer #réalisation #smart #contract #exemples
