Dans notre monde numérique, la protection de la vie privée et la sécurité des données sensibles sont des préoccupations majeures. Avec la prolifération des applications décentralisées via la technologie blockchain, de nouvelles solutions émergent pour relever ces défis. Le Fully Homomorphic Encryption (ou chiffrement homomorphe en français) en est une.
L'un des projets prometteurs dans ce domaine est Fhenix, un optimistic rollup proposant une interprétation de la technologie FHE, permettant des calculs sécurisés et privés sur la blockchain Ethereum.
Sommaire
- Qu’est ce que Fhenix ?
- Optimistic Rollup ou ZK Rollup, c'est-à-dire ?
- Les différentes propositions de chiffrement existantes
- Le coeur de l’architecture Fhenix : la bibliothèque fheOS
- Le Threshold Services Network
- Le Proof of Fraud
- Une collaboration Fhenix – EigenLayer
- Les cas d’usages de Fhenix
- Conclusion
- Pour aller plus loin
Qu’est ce que Fhenix ?
Lancé par les équipes de Secret Network, Fhenix est un rollup sur le réseau Ethereum. Il s’agit du premier réseau Web3 ayant annoncé l’utilisation de la technologie FHE, développée par les équipes de Zama.
Avant d’analyser le cœur de cette blockchain et son écosystème, quelques mots de remise en contexte sont nécessaires pour expliquer le principe de FHE.
Le FHE est une forme de chiffrement qui permet le calcul et l’utilisation de données chiffrées sans la nécessité de les décoder. Cette nouvelle technologie dans l’univers de la blockchain a d’énormes implications pour tous ceux qui travaillent avec des données sensibles nécessitant une protection de la vie privée.
Que nous envoyons un sms ou un mail, que nous consultons le solde de nos comptes bancaires, le chiffrement est la technologie qui garantit que seuls vous et les parties que vous autorisez sont en mesure de consulter ces informations.
Bien que le chiffrement soit la norme dans les télécommunications modernes, des vols de données privées sont divulgués chaque semaine dans la presse.
Plusieurs problématiques peuvent être à l'origine de ces fuites. En effet, soit les données n'ont jamais été chiffrées, soit elles ont été déchiffrées par des “pirates” afin d'être traitées ou utilisées, puis rechiffrées ensuite, rompant ainsi le cercle du chiffrement des données.
C’est dans cette optique que Fhenix, utilisant le fhEVM de Zama, veut révolutionner la confidentialité dans l’écosystème Web3. En effet, contrairement à d'autres méthodes, le FHE permet le calcul et l’utilisation de données chiffrées. Cette nouvelle technologie propose donc un chiffrage sur l'entièreté du cheminement de la donnée.
Fhenix ambitionne donc d’apporter de la confidentialité sur l’écosystème d’Ethereum en créant un rollup (layer 2) alimenté via cette technologie. Totalement compatible avec l’EVM, permettant la création de dApps via le langage Solidity, Fhenix s’interface aussi très facilement avec les outils les plus utilisés de l’écosystème.
Ainsi, le projet est conçu afin qu’il soit aisé pour les développeurs de construire des dApps sans avoir besoin de comprendre l’ingénierie mathématique derrière le concept de FHE.
Optimistic Rollup ou ZK Rollup, c'est-à-dire ?
Alors qu’Ethereum fonctionne généralement en gérant lui-même l'exécution et le consensus, un Layer 2 gère le processus d’exécution “au dessus” réseau principal (Layer 1). Les transactions sont regroupées, puis envoyées en une seule transaction sur le réseau parent.
Il existe 2 grandes familles de rollups :
- Les Optimistics
- Les Zero Knowledge.
Les Optimistic Rollups sont plus faciles à mettre en œuvre que les ZK rollups. Ces derniers nécessitent aussi plus de puissance de calcul et de temps pour créer les preuves ZK. Leur développement est aussi plus complexe. Pour ces raisons, la mise en œuvre de FHE par une approche optimiste est actuellement bien simple. C’est donc celle qui a été préférée par Fhenix.
Des travaux sont cependant en cours pour réfléchir à du ZK via FHE (aka zkFHE).
Les différentes propositions de chiffrement existantes
Les rollups FHE ne sont pas les premières solutions de confidentialité imaginées pour les smarts contracts. En effet, d’autres technologies existaient déjà :
Trusted Execution Environments (TEE) : le TEE est un système où les transactions sont calculées sur un environnement sécurisé. Malheureusement, le code s'exécutant dans le TEE est protégé contre les accès non autorisés de l'extérieur, mais le TEE n'empêche pas les fuites de données sensibles depuis l’environnement sécurisé vers l’extérieur. Ternoa fait parti des projets de rollups Ethereum exploitant cette technologie.
Secure MPC (Multi Party Computation) : cette technologie utilise le secret-sharing ou partage de secrets. Assez similaire au FHE, ce système n’est cependant pas adapté à une architecture de rollup. En effet, le fait que les parties doivent communiquer avec toutes les autres entraîne une utilisation trop importante de la bande passante et une perte de scalabilité.
Le FHE Rollup est la première solution de chiffrement de bout en bout qui fonctionne entièrement et nativement en tant que Layer 2. Aucune technologie externe qui induirait de potentielles failles de sécurité n’est requise.
Le coeur de l’architecture Fhenix : la bibliothèque fheOS
Fhenix se veut modulaire. Cela signifie qu'elle permet la division entre ses différentes couches. Plus précisément, Fhenix s'occupe de la couche d’exécution (séquenceur), ainsi que la validation des transactions. Cette séparation des couches permet au rollup de s'exécuter efficacement tout en conservant l'accès nécessaire à la disponibilité des données (Data Availability) d'Ethereum.
Le fheOS sera responsable de la communication et de l'authentification entre le rollup et le Threshold Services Network, que nous verrons dans le prochain chapitre, pour les demandes de chiffrement et de déchiffrement tout en prouvant que la demande de déchiffrement est légitime.
Sans entrer dans les détails mathématiques, la bibliothèque fheOS ouvre aux développeurs la possibilité d’utiliser des primitives permettant d’intégrer des données chiffrées dans leurs smarts contracts.
Les développeurs auront le choix de décider ce qui sera chiffré et ce qui restera visible. fheOS est adapté à l’EVM via la librairie de Zama, appelée fhEVM.
Le Threshold Services Network
Le Threshold Services Network (TSN) ou réseau de service à seuil, est un composant clé de l’architecture Fhenix.
Il s’agit d’un réseau séparé du layer 1 ou du rollup qui va se voir confier un clé pour permettre le déchiffrement. L’implémentation est effectuée via un algorithme s’appelant le partage de secret de Shamir.
Il arrive que le réseau ait la nécessité de déchiffrer certains résultats pour un utilisateur désigné. Le TSN est responsable de toute demande de chiffrement/déchiffrement provenant du rollup et peut y répondre en utilisant le Threshold Decryption Protocol.
Imaginons un smart contrat régissant un vote sur le rollup Fhenix. Lorsque les utilisateurs votent pour un certain candidat, ils chiffrent leurs votes et le contrat comptabilise ces votes. À un moment donné, une fonctionnalité du contrat doit obligatoirement pouvoir déchiffrer le décompte des voix afin d’annoncer le vainqueur. Cette demande sera alors transmise au TSN, qui la déchiffre et renvoie le résultat à stocker dans le contrat.
Le Proof of Fraud
Une notion fondamentale concernant les Optimistic Rollups réside dans leur mécanisme de preuve de fraude. Adapter ce mécanisme à l'EVM d'Ethereum pour fonctionner avec des contrats intelligents exécutant la technologie FHE sur des données chiffrées nécessite une nouvelle approche technique.
Le mécanisme de preuve de fraude de Fhenix repose sur la capacité de la blockchain Ethereum (Layer 1) à déterminer si un nœud provenant du layer 2 triche. Cependant, il est impossible de valider l’exécution car aucun support natif n’existe sur Ethereum pour la technologie FHE.
La solution qu’apporte Fhenix réside dans l'utilisation du prouveur de fraude Nitro d'Arbitrum, repensé pour pouvoir utiliser la technologie FHE en WebAssembly et exécuter le processus de preuve entièrement sur Ethereum. Ainsi, Fhenix innove en proposant une solution permettant d’assurer l’absence de fraude en intégrant la technologie FHE sans la nécessité de modifier quoique ce soit sur le layer 1.
Une collaboration Fhenix – EigenLayer
En avril 2024, Fhenix et EigenLayer ont annoncé un partenariat pour le développement d’un coprocesseur FHE.
Un coprocesseur est un processeur complémentaire conçu pour assister et accélérer le processeur principal via la prise en charge de certaines tâches de calcul.
L'architecture de rollup optimiste de Fhenix nécessite normalement une période de contestation de 7 jours pour la finalité des preuves de fraude. Le partenariat avec EigenLayer permet de confirmer immédiatement les preuves de fraude, supprimant ce délai et permettant un débit de transactions chiffrées beaucoup plus élevé.
Ces deux éléments sont cruciaux pour permettre des calculs FHE performants et sécurisés sur la blockchain.
De plus, en s'appuyant sur EigenLayer, les coprocesseurs FHE de Fhenix peuvent hériter de la sécurité d'Ethereum via le mécanisme de restaking.
Les cas d’usages de Fhenix
L'introduction de la technologie FHE par Fhenix ouvre les portes à de nombreux uses-cases, en particulier ceux qui nécessitent des niveaux élevés de confidentialité et de sécurité des données :
- Vérification d’identité : le FHE peut fournir un moyen sûr et privé de vérifier les identités sur la blockchain, protégeant ainsi les informations personnelles contre des accès non autorisés.
- Transactions financières : le FHE permettra de garantir la confidentialité des transactions via des transferts sécurisés et confidentiels.
- Gaming décentralisé : la technologie FHE peut révolutionner l’industrie gaming en permettant des expériences de jeu privées. Par exemple, il sera possible de s’assurer qu’un croupier ne connaît pas à l'avance la valeur des cartes au poker, ce qui garantit l’équité et la confidentialité.
- Vote privé : le FHE peut également faciliter les mécanismes de vote privés et sécurisés, ce qui pourra s’avérer essentiel pour les DAO.
Un tas d'autres uses-cases existent et continuent d’être explorés tous les jours. Parmi eux, nous pouvons citer la confidentialité autour de l’IA, l’exploration de futurs systèmes d'enchères anonymes ou encore la protection MEV.
Conclusion
Fhenix est le premier rollup d’Ethereum intégrant la technologie FHE, et donc, une solution de confidentialité sur les environnements EVM. Leur approche tire parti de la puissance du FHE pour permettre l’utilisation et la manipulation de données chiffrées, révolutionnant la façon dont les transactions sont exécutées et les données confidentielles sont traitées.
L’approche de Fhenix adopte une structure d’optimistic rollup, évitant ainsi les complexités induites par le ZK, conduisant à une solution efficace, rapide et pratique.
En outre, Fhenix propose une solution à l'épreuve des fraudes qui ne nécessite aucune modification sur le réseau principal.
Le travail important de Fhenix contribue au développement d'une nouvelle vague d'applications décentralisées centrées sur la vie privée, en renforçant la confiance des utilisateurs, en élargissant les cas d'utilisation potentiels et en augmentant la sécurité et l'utilité globale du réseau Ethereum.