Processus FHE, source de l’image : Data Privacy Made Easy
FHE (Fully Homomorphic Encryption) est une technologie de chiffrement avancée qui permet le calcul direct des données chiffrées. Cela signifie que les données peuvent être traitées tout en préservant la confidentialité. FHE a plusieurs cas d’utilisation potentiels, en particulier pour le traitement et l’analyse des données sous protection de la vie privée, tels que les domaines de la finance, de la santé, de l’informatique en nuage, de l’apprentissage automatique, des systèmes de vote, de l’internet des objets et de la protection de la vie privée sur la blockchain. Cependant, la commercialisation nécessite toujours du temps, principalement en raison des coûts de calcul et de mémoire extrêmement élevés générés par son algorithme, ainsi que d’une évolutivité médiocre. Nous allons maintenant décrire brièvement les principes fondamentaux de l’algorithme et nous concentrer sur les problèmes auxquels il est confronté.
Principe de base
Chiffrement homomorphique图示
Tout d’abord, nous devons effectuer des calculs sur les données de chiffrement et obtenir le même résultat. Nous visualisons cela comme indiqué dans le graphique ci-dessus. C’est notre objectif principal. En cryptographie, on utilise généralement des polynômes pour masquer les informations du texte clair, car les polynômes peuvent être transformés en problèmes d’algèbre linéaire ou en problèmes de calcul de vecteurs, ce qui facilite les calculs sur les vecteurs pour les ordinateurs modernes hautement optimisés (comme le calcul parallèle). Par exemple, 3 x 2 + 2 x + 1 peut être représenté par le vecteur [1, 2, 3].
Supposons que nous devons chiffrement 2, dans un système HE simplifié, nous pourrions :
Choisissez un polynôme Clé secrète , par exemple s(x) = 3 x 2 + 2 x + 1
Générer un polynôme aléatoire, par exemple a(x) = 2 x 2 + 5 x + 3
Générer un petit polynôme « d’erreur », par exemple e(x) = -1 x + 2
c(x) = 2 + a(x)*s(x) + e(x)
Nous expliquons pourquoi nous avons besoin de le faire. Nous supposons maintenant que nous avons le Texte chiffré c(x). Si nous voulons obtenir le Texte clair m, la formule est c(x) - e(x) - a(x)*s(x) = 2. Ici, nous supposons que le polynôme aléatoire a(x) est public, donc la Clé secrète s(x) doit être confidentielle. Si nous connaissons s(x), ajouté à c(x) comme une petite erreur, cela peut être théoriquement ignoré et nous pouvons obtenir le Texte clair m.
Il y a un premier problème ici, il y a tellement de polynômes, comment choisir un polynôme ? Quelle est la meilleure taille pour le degré du polynôme ? En fait, le degré du polynôme est déterminé par l’algorithme de mise en œuvre de HE. Il s’agit généralement d’une puissance de 2, telle que 1024 / 2048, etc. Les coefficients du polynôme sont choisis de manière aléatoire dans un corps fini q, par exemple, en prenant mod 10000, puis en choisissant de manière aléatoire parmi 0-9999. Il y a de nombreux algorithmes de sélection aléatoire de coefficients, tels que la distribution uniforme, la distribution gaussienne discrète, etc. Différentes solutions ont également des exigences différentes en matière de sélection de coefficients, généralement pour répondre au principe de résolution rapide sous cette solution.
Deuxième question, qu’est-ce que le bruit ? Le bruit est utilisé pour tromper les attaquants, car si nous supposons que tous nos chiffres sont s(x) et que les polynômes aléatoires sont dans un domaine donné, il existe un certain schéma. En entrant suffisamment de fois le texte clair m, on peut déterminer les informations des deux s(x) et c(x) en fonction de la sortie c(x). Si on introduit du bruit e(x), on peut garantir qu’il est impossible d’obtenir s(x) et c(x) simplement en les énumérant car il y a une petite erreur aléatoire complètement aléatoire. Ce paramètre est également appelé budget de bruit (Noise Budget). Supposons que q = 2 ^ 32, le bruit initial peut être d’environ 2 ^ 3. Après quelques opérations, le bruit peut augmenter jusqu’à 2 ^ 20. À ce stade, il reste suffisamment d’espace pour le déchiffrement car 2 ^ 20 << 2 ^ 32.
Après avoir obtenu le polynôme, nous devons maintenant transformer l’opération c(x) * d(x) en un ‘circuit’, ce qui est également courant dans ZKP, principalement parce que le concept abstrait de circuit fournit un modèle de calcul universel pour représenter n’importe quel calcul, et le modèle de circuit permet de suivre précisément et de gérer le bruit introduit par chaque opération, et facilite également l’introduction ultérieure dans du matériel spécialisé tel que ASIC, FPGA pour accélérer les calculs, comme le modèle SIMD. Toute opération complexe peut être cartographiée en éléments de circuit modulaires simples, tels que l’addition et la multiplication.
Circuit arithmétique
L’addition et la multiplication peuvent exprimer la soustraction et la division, ce qui permet d’effectuer n’importe quel calcul. Les coefficients des polynômes sont représentés en binaire et sont appelés entrées de circuit. Chaque Nœud du circuit représente une addition ou une multiplication. Chaque (*) représente une porte de multiplication, et chaque (+) représente une porte d’addition. C’est l’Algorithme du circuit.
Cela soulève une question : pour éviter toute fuite d’informations sémantiques, nous introduisons e(x) en tant que bruit. Dans nos calculs, l’addition transforme deux polynômes e(x) en polynômes homogènes. En revanche, la multiplication de deux polynômes de bruit augmente de manière exponentielle le degré de e(x) et la taille du texte. Si le bruit est trop important, le calcul du résultat devient impossible à ignorer, ce qui rend la récupération du texte d’origine impossible. C’est là la principale raison pour laquelle l’Algorithme HE est limité dans son expression de tout calcul arbitraire, car le bruit augmente de manière exponentielle, atteignant rapidement un seuil inutilisable. Dans les circuits, cela correspond à la profondeur du circuit, c’est-à-dire le nombre de fois où la multiplication est effectuée.
Le principe fondamental du chiffrement homomorphique HE est illustré dans le schéma ci-dessus et plusieurs solutions ont été proposées pour résoudre le problème du bruit qui limite le chiffrement homomorphique.
LHE est un algorithme très approprié car, sous cet algorithme, toute fonction peut être exécutée dans la profondeur déterminée. Cependant, PHE et SHE ne peuvent pas être Turing complet. Par conséquent, les cryptographes ont mené des recherches et proposé trois techniques pour construire FHE, un chiffrement homomorphe complet, afin de réaliser la vision d’exécuter n’importe quelle fonction à une profondeur infinie.
Key switching (switching de clé) : Après chaque multiplication, le Texte chiffré augmente de manière exponentielle, ce qui pose une demande considérable en termes de mémoire et de ressources de calcul. Par conséquent, la mise en œuvre d’un switching de clé après chaque multiplication peut comprimer le Texte chiffré, mais cela introduira un peu de bruit.
Modulus Switching (commutation de module): Que ce soit pour la multiplication ou le key switching, le niveau de bruit augmente de manière exponentielle. Le module q est le Mod 10000 dont nous avons parlé précédemment, qui ne peut être pris que dans [0, 9999], plus q est grand, plus le bruit est petit après plusieurs calculs et il peut être déchiffré. Par conséquent, après plusieurs opérations, afin d’éviter une augmentation exponentielle du niveau de bruit au-delà du seuil, il est nécessaire d’utiliser la commutation de module pour réduire le budget de bruit et ainsi réduire le bruit. Nous pouvons obtenir un principe de base ici, si notre calcul est très complexe, que la profondeur du circuit est grande, alors nous avons besoin d’un module q plus grand pour accommoder la hausse exponentielle de niveau de bruit après plusieurs utilisations.
Bootstrap: Cependant, pour réaliser un calcul de profondeur infinie, Modulus ne peut que limiter la hausse du bruit, mais à chaque commutation, la plage de q devient plus petite, nous savons que dès qu’elle diminue, cela signifie que la complexité du calcul doit diminuer. Bootstrap est une technique de rafraîchissement qui réinitialise le bruit au niveau initial, au lieu de le réduire, le bootstrap ne nécessite pas de réduction du module, il peut donc maintenir la capacité de calcul du système. Mais son inconvénient est qu’il nécessite une grande quantité de ressources de calcul.
En général, pour les calculs limités, l’utilisation de la commutation de module peut réduire le bruit, mais elle peut également réduire le module, c’est-à-dire le budget de bruit, ce qui entraîne une compression de la capacité de calcul. Par conséquent, cela ne s’applique qu’aux calculs limités. Pour la réinitialisation de bruit, Bootstrap peut réaliser une FHE véritablement illimitée pour toutes les fonctions sur la base de l’algorithme LHE, ce qui signifie également la signification complète de FHE.
Cependant, les inconvénients sont évidents, car ils nécessitent une grande quantité de ressources de Puissance de calcul, de sorte que dans la plupart des cas, ces deux techniques de réduction de bruit sont combinées, le Modulus switching étant utilisé pour la gestion quotidienne du bruit, tandis que la latence nécessite un temps de démarrage. Lorsque le Modulus switching ne peut plus contrôler efficacement le bruit, le bootstrap plus coûteux en calcul est utilisé.
Les solutions actuelles de FHE comprennent les implémentations suivantes, qui utilisent toutes la technologie centrale Bootstrap :
Cela nous amène également à un type de circuit dont nous n’avons pas encore parlé, à savoir le circuit booléen. Nous avons principalement présenté des circuits arithmétiques jusqu’à présent. Les circuits arithmétiques sont des opérations abstraites comme 1+1 ou la division, tandis que les Nœuds sont des opérations booléennes, y compris les opérations NOT, OR, AND, similaires à la mise en œuvre de circuits informatiques. Les circuits arithmétiques sont encore plus abstraits que les circuits booléens. Tous les chiffres sont convertis en base 01 et tous les Nœuds sont des opérations booléennes.
Par conséquent, nous pouvons voir très grossièrement les opérations booléennes comme un traitement flexible moins dense en données, tandis que les opérations arithmétiques sont une solution pour les applications à forte densité de données.
Problèmes auxquels FHE est confronté
En raison de nos besoins en chiffrement et en transformation en “circuit” pour nos calculs, le simple calcul de 2 + 4 est considérablement amplifié après le chiffrement, introduisant de nombreux calculs cryptographiques indirects et des techniques de pointe telles que Bootstrap pour résoudre les problèmes de bruit, ce qui entraîne un coût de calcul de l’ordre de N pour un calcul normal.
Nous utilisons un exemple du monde réel pour permettre aux lecteurs de comprendre les coûts supplémentaires des processus cryptographiques sur les ressources de calcul. Supposons qu’un calcul régulier nécessite 200 cycles d’horloge sur un processeur de 3 GHz, alors le déchiffrement AES-128 régulier prend environ 67 nanosecondes (200/3 GHz). La version FHE prend 35 secondes, soit environ 522 388 060 fois la version régulière (35/67 e-9). Cela signifie que, en utilisant les mêmes ressources de calcul, les exigences en matière de ressources de calcul pour le même algorithme régulier et l’algorithme FHE sont d’environ 500 millions de fois plus élevées.
Programme DARPA dprive, source de l’image : DARPA
Dans le but de garantir la sécurité des données, le DARPA américain a spécifiquement mis en place en 2021 le programme Dprive, qui a invité plusieurs équipes de recherche, dont Microsoft, Intel, etc. Leur objectif est de créer un accélérateur FHE et une pile logicielle correspondante pour rendre la vitesse de calcul FHE plus conforme aux opérations similaires sur les données non chiffrées, avec pour objectif d’atteindre une vitesse de calcul FHE d’environ 1/10 de celle des calculs classiques. Tom Rondeau, le responsable du projet DARPA, a déclaré : “Dans le monde du FHE, notre vitesse de calcul est estimée être environ un million de fois plus lente que dans le monde du texte pur.”
Dprive se concentre principalement sur les aspects suivants :
Augmenter la longueur du mot du processeur : Les systèmes informatiques modernes utilisent des mots de 64 bits, c’est-à-dire qu’un nombre peut contenir jusqu’à 64 bits au maximum. En réalité, q est souvent de 1024 bits. Si l’on souhaite le réaliser, il est nécessaire de diviser notre q, ce qui entraînera une perte de ressources mémoire et de vitesse. Ainsi, pour obtenir un q plus grand, il est nécessaire de construire un processeur avec un mot de 1024 bits ou plus. Le domaine fini q est très important, comme mentionné précédemment, plus il est grand, plus le nombre d’étapes calculables est important. Cela permet de retarder autant que possible les opérations de bootstrap, ce qui réduit la consommation globale de ressources informatiques. q joue un rôle central dans le FHE, il affecte presque tous les aspects du schéma, y compris la sécurité, les performances, la quantité de calcul possible et les ressources mémoire nécessaires.
Construire un processeur ASIC: Nous avons mentionné précédemment que nous construisons des polynômes pour faciliter la parallélisation et d’autres raisons, et nous construisons des circuits à partir de ces polynômes, ce qui est similaire à ZK. Les CPU et GPU actuels n’ont pas la capacité (en termes de ressources de puissance de calcul et de mémoire) pour exécuter ces circuits, il est donc nécessaire de construire un processeur ASIC spécialisé pour permettre l’algorithme FHE.
Construire une architecture parallèle MIMD, contrairement à l’architecture parallèle SIMD, SIMD ne peut exécuter qu’une seule instruction sur plusieurs données, c’est-à-dire la division et le traitement parallèle des données, mais MIMD peut diviser les données pour utiliser différentes instructions de calcul. SIMD est principalement utilisé pour la parallélisation des données, c’est aussi la principale architecture de traitement parallèle des transactions pour la plupart des projets Blockchain. En revanche, MIMD peut gérer différents types de tâches parallèles. MIMD est techniquement plus complexe et nécessite une attention particulière pour traiter les problèmes de synchronisation et de communication.
Il ne reste qu’un mois avant la fin du programme DEPRIVE de DARPA, qui devait initialement se dérouler en trois phases de septembre 2021 à septembre 2024. Cependant, il semble que les progrès soient lents et qu’ils n’aient pas encore atteint l’objectif prévu d’une efficacité 1/10 par rapport à l’informatique conventionnelle.
Bien que les progrès de la technologie FHE soient lents, tout comme la technologie ZK, il est confronté au problème crucial de la mise en œuvre matérielle, qui est une condition préalable à la mise en œuvre technologique. Cependant, nous pensons toujours que, à long terme, la technologie FHE a encore une signification unique, en particulier en ce qui concerne la protection de la vie privée des données sensibles que nous avons énumérées dans la première partie. Pour le département de la défense de la DARPA, il détient de nombreuses données sensibles et s’il souhaite libérer la capacité générique de l’IA dans le domaine militaire, il doit former l’IA sous forme de sécurité des données. De plus, cela s’applique également aux données sensibles telles que la santé et la finance. En fait, le FHE ne convient pas à tous les calculs ordinaires, mais plutôt aux besoins de calcul dans les données sensibles. Cette sécurité est particulièrement importante pour l’ère post-quantique.
Pour cette technologie de pointe, il est nécessaire de considérer l’écart entre la période d’investissement et le moment de la commercialisation. Par conséquent, nous devons considérer avec beaucoup de prudence le moment de la commercialisation de FHE.
La combinaison de la blockchain
Dans la blockchain, FHE est principalement utilisé pour protéger la confidentialité des données, notamment dans les domaines de la confidentialité off-chain, de la confidentialité des données d’entraînement de l’IA, de la confidentialité des votes off-chain, de la transaction sécurisée off-chain, etc. FHE est également l’une des solutions potentielles pour le MEV off-chain. Selon notre article sur le MEV “Éclairer la forêt sombre - Lever le voile sur le MEV”, de nombreuses solutions MEV actuelles ne font que reconstruire l’architecture MEV et ne résolvent pas réellement les problèmes d’UX causés par les attaques sandwichs. Notre solution consiste à chiffrer directement les transactions tout en maintenant la transparence de l’état.
Processus MEV PBS
Mais il y a aussi un problème, si nous chiffrons complètement les transactions, cela fera également disparaître les externalités positives apportées par les bots MEV, les validateurs Builder doivent fonctionner sur une Machine virtuelle pour effectuer FHE, les validateurs doivent également valider les transactions pour déterminer la validité de l’état final, ce qui augmentera considérablement les exigences en termes de Nœud, ralentissant ainsi le débit de l’ensemble du réseau d’un million de fois.
Projets principaux
Paysage FHE
FHE est une technologie assez récente, et la plupart des projets qui utilisent cette technologie proviennent de Zama, tels que Fhenix, Privasea, Inco Network et Mind Network. Les capacités de mise en œuvre du projet FHE de Zama ont été reconnues par ces projets. La plupart de ces projets sont construits à l’aide de la bibliothèque fournie par Zama, la principale différence étant le modèle commercial. Fhenix souhaite construire un Optimism Layer 2 axé sur la confidentialité, Privasea souhaite utiliser les capacités de FHE pour effectuer des calculs de données LLM, mais il s’agit d’une opération très lourde en données, qui nécessite des exigences techniques et matérielles particulièrement élevées pour FHE, et l’utilisation de TFHE sur lequel repose Zama pourrait ne pas être le choix optimal. Inco Network et Fhenix utilisent tous deux fhEVM, l’un pour construire Layer 1 et l’autre pour Layer 2. Arcium est une fusion de plusieurs techniques cryptographiques, notamment FHE, MPC et ZK. Le modèle commercial de Mind Network est assez original, il a choisi la piste du Restaking pour résoudre les problèmes de sécurité économique et de confiance dans le vote de la couche de consensus en offrant une sécurité de liquidité et une architecture de sous-réseau basée sur FHE.
Zama
Zama is a scheme based on TFHE, which uses Bootstrap technology. It focuses on handling Boolean operations and low-bit integer operations. Although it is a faster technical implementation in our FHE scheme, it still has a significant gap compared to regular calculations. Moreover, it cannot achieve arbitrary computations. When facing data-intensive tasks, these operations will cause the Depth of the circuit to be too large to handle. It is not a data-intensive scheme and is only suitable for chiffrement processing of certain key steps.
TFHE a actuellement du code implémenté prêt à l’emploi, le principal travail de Zama est de réécrire TFHE en utilisant le langage Rust, c’est-à-dire ses crates rs-TFHE. En même temps, afin de réduire la barrière d’entrée des utilisateurs de Goutte en Rust, il a également construit un outil de transpilation, Concrate, qui peut convertir Python en rs-TFHE équivalent. En utilisant cet outil, les grands langages de modèles basés sur Python peuvent être traduits en langage rust basé sur TFHE-rs. Cela permet d’exécuter des grands modèles basés sur le chiffrement homomorphique, mais les tâches intensives en données ne conviennent pas vraiment au scénario TFHE. Le produit fhEVM de Zama est une technologie qui met en œuvre des Smart Contracts confidentiels sur EVM en utilisant exclusivement le chiffrement homomorphique (FHE), capable de prendre en charge des Smart Contracts chiffrement de bout en bout compilés en langage Solidity.
En général, en tant que produit To B, Zama a construit une pile de développement blockchain+IA basée sur TFHE relativement complète. Cela peut aider les projets web3 à construire facilement l’infrastructure et les applications FHE.
Octra
Octra a une particularité : elle utilise une technologie innovante pour mettre en œuvre FHE. Elle utilise une technique appelée hypergraphes pour réaliser un amorçage. Bien qu’elle soit basée sur des circuits booléens, Octra estime que la technologie basée sur les hypergraphes permet d’obtenir un FHE plus efficace. Il s’agit d’une technologie originale mise en œuvre par Octra pour le FHE, et l’équipe possède des compétences techniques et cryptographiques très solides.
Octra a développé un nouveau langage de smart contracts, utilisant les bibliothèques de code OCaml, AST, ReasonML (un langage spécialement conçu pour interagir avec le réseau Octra Blockchain et les smart contracts et applications) et C++. Il a développé une bibliothèque Hyperghraph FHE qui est compatible avec tout projet.
Son architecture est également similaire à celle des projets Mind Network, Bittensor, Allora, etc. Il construit un Mainnet, tandis que les autres projets deviennent des sous-réseaux, créant ainsi un environnement d’exécution isolé. De plus, comme ces projets, il construit également de nouveaux protocoles de consensus émergents qui conviennent mieux à l’architecture elle-même. Octra construit un protocole de consensus basé sur l’apprentissage automatique appelé ML-consensus, qui est essentiellement basé sur un graphe acyclique orienté (DAG).
Le principe technique de ce Consensus n’a pas encore été divulgué, mais nous pouvons faire une estimation approximative. Fondamentalement, les transactions sont soumises au réseau, puis l’algorithme SVM (Support Vector Machine) est utilisé pour déterminer le meilleur traitement du nœud, principalement en fonction de la charge actuelle du réseau de chaque nœud. Le système utilisera des données historiques (apprentissage par algorithme ML) pour déterminer le meilleur chemin pour parvenir à un consensus des nœuds parents. Il suffit de satisfaire 1/2 des nœuds pour parvenir à un consensus continu de la base de données.
En attente
État actuel du développement de la cryptographie avancée, source de l’image : Verdict
La technologie FHE est une technologie axée sur l’avenir, mais son développement est encore en retard par rapport à la technologie ZK en raison du manque de capitaux investis, de l’inefficacité et des coûts élevés liés à la protection de la vie privée, ce qui décourage la plupart des institutions commerciales. Le développement de la technologie ZK a été accéléré grâce aux investissements de Crypto VC. FHE est encore à un stade très précoce et il y a encore peu de projets sur le marché en raison de son coût élevé, de sa difficulté technique et de son manque de perspectives commerciales claires. En 2021, DAPRA a lancé un plan de conquête FHE de 42 mois en collaboration avec plusieurs entreprises telles que Intel et Microsoft. Bien qu’il y ait eu des progrès, les objectifs de performance restent encore éloignés. Avec l’attention croissante des investisseurs Crypto VC dans ce domaine, plus de fonds devraient affluer dans l’industrie, ce qui devrait entraîner l’apparition de plus de projets FHE et la mise en avant d’équipes ayant de solides capacités techniques et de recherche, telles que Zama et Octra. La combinaison de la technologie FHE avec la commercialisation et le développement de la blockchain mérite encore d’être explorée, mais son application est encore limitée, comme l’anonymisation des votes des nœuds de vérification, bien que son champ d’application soit encore restreint.
Comme ZK, la commercialisation des puces FHE est l’une des conditions préalables à la commercialisation du FHE. Actuellement, plusieurs fabricants tels qu’Intel, Chain Reaction, Optalysys, etc. explorent ce domaine. Même si le FHE rencontre de nombreuses résistances techniques, l’atterrissage des puces FHE, en tant que technologie prometteuse et demandée, apportera une transformation profonde dans des secteurs tels que la défense, la finance, la santé, etc., libérant le potentiel de ces données confidentielles combinées avec des technologies futures telles que les algorithmes quantiques, et ouvrant la voie à leur explosion.
Nous sommes prêts à explorer cette technologie de pointe précoce. Si vous construisez un produit FHE vraiment commercialisable, ou si vous avez des innovations technologiques plus avant-gardistes, n’hésitez pas à nous contacter!
Voir l'original
Cette page peut inclure du contenu de tiers fourni à des fins d'information uniquement. Gate ne garantit ni l'exactitude ni la validité de ces contenus, n’endosse pas les opinions exprimées, et ne fournit aucun conseil financier ou professionnel à travers ces informations. Voir la section Avertissement pour plus de détails.
Institut de recherche Gate Ventures : FHE, revêtant la cape d'invisibilité de Harry Potter
Qu’est-ce que FHE
Processus FHE, source de l’image : Data Privacy Made Easy
FHE (Fully Homomorphic Encryption) est une technologie de chiffrement avancée qui permet le calcul direct des données chiffrées. Cela signifie que les données peuvent être traitées tout en préservant la confidentialité. FHE a plusieurs cas d’utilisation potentiels, en particulier pour le traitement et l’analyse des données sous protection de la vie privée, tels que les domaines de la finance, de la santé, de l’informatique en nuage, de l’apprentissage automatique, des systèmes de vote, de l’internet des objets et de la protection de la vie privée sur la blockchain. Cependant, la commercialisation nécessite toujours du temps, principalement en raison des coûts de calcul et de mémoire extrêmement élevés générés par son algorithme, ainsi que d’une évolutivité médiocre. Nous allons maintenant décrire brièvement les principes fondamentaux de l’algorithme et nous concentrer sur les problèmes auxquels il est confronté.
Principe de base
Chiffrement homomorphique图示
Tout d’abord, nous devons effectuer des calculs sur les données de chiffrement et obtenir le même résultat. Nous visualisons cela comme indiqué dans le graphique ci-dessus. C’est notre objectif principal. En cryptographie, on utilise généralement des polynômes pour masquer les informations du texte clair, car les polynômes peuvent être transformés en problèmes d’algèbre linéaire ou en problèmes de calcul de vecteurs, ce qui facilite les calculs sur les vecteurs pour les ordinateurs modernes hautement optimisés (comme le calcul parallèle). Par exemple, 3 x 2 + 2 x + 1 peut être représenté par le vecteur [1, 2, 3].
Supposons que nous devons chiffrement 2, dans un système HE simplifié, nous pourrions :
Nous expliquons pourquoi nous avons besoin de le faire. Nous supposons maintenant que nous avons le Texte chiffré c(x). Si nous voulons obtenir le Texte clair m, la formule est c(x) - e(x) - a(x)*s(x) = 2. Ici, nous supposons que le polynôme aléatoire a(x) est public, donc la Clé secrète s(x) doit être confidentielle. Si nous connaissons s(x), ajouté à c(x) comme une petite erreur, cela peut être théoriquement ignoré et nous pouvons obtenir le Texte clair m.
Il y a un premier problème ici, il y a tellement de polynômes, comment choisir un polynôme ? Quelle est la meilleure taille pour le degré du polynôme ? En fait, le degré du polynôme est déterminé par l’algorithme de mise en œuvre de HE. Il s’agit généralement d’une puissance de 2, telle que 1024 / 2048, etc. Les coefficients du polynôme sont choisis de manière aléatoire dans un corps fini q, par exemple, en prenant mod 10000, puis en choisissant de manière aléatoire parmi 0-9999. Il y a de nombreux algorithmes de sélection aléatoire de coefficients, tels que la distribution uniforme, la distribution gaussienne discrète, etc. Différentes solutions ont également des exigences différentes en matière de sélection de coefficients, généralement pour répondre au principe de résolution rapide sous cette solution.
Deuxième question, qu’est-ce que le bruit ? Le bruit est utilisé pour tromper les attaquants, car si nous supposons que tous nos chiffres sont s(x) et que les polynômes aléatoires sont dans un domaine donné, il existe un certain schéma. En entrant suffisamment de fois le texte clair m, on peut déterminer les informations des deux s(x) et c(x) en fonction de la sortie c(x). Si on introduit du bruit e(x), on peut garantir qu’il est impossible d’obtenir s(x) et c(x) simplement en les énumérant car il y a une petite erreur aléatoire complètement aléatoire. Ce paramètre est également appelé budget de bruit (Noise Budget). Supposons que q = 2 ^ 32, le bruit initial peut être d’environ 2 ^ 3. Après quelques opérations, le bruit peut augmenter jusqu’à 2 ^ 20. À ce stade, il reste suffisamment d’espace pour le déchiffrement car 2 ^ 20 << 2 ^ 32.
Après avoir obtenu le polynôme, nous devons maintenant transformer l’opération c(x) * d(x) en un ‘circuit’, ce qui est également courant dans ZKP, principalement parce que le concept abstrait de circuit fournit un modèle de calcul universel pour représenter n’importe quel calcul, et le modèle de circuit permet de suivre précisément et de gérer le bruit introduit par chaque opération, et facilite également l’introduction ultérieure dans du matériel spécialisé tel que ASIC, FPGA pour accélérer les calculs, comme le modèle SIMD. Toute opération complexe peut être cartographiée en éléments de circuit modulaires simples, tels que l’addition et la multiplication.
Circuit arithmétique
L’addition et la multiplication peuvent exprimer la soustraction et la division, ce qui permet d’effectuer n’importe quel calcul. Les coefficients des polynômes sont représentés en binaire et sont appelés entrées de circuit. Chaque Nœud du circuit représente une addition ou une multiplication. Chaque (*) représente une porte de multiplication, et chaque (+) représente une porte d’addition. C’est l’Algorithme du circuit.
Cela soulève une question : pour éviter toute fuite d’informations sémantiques, nous introduisons e(x) en tant que bruit. Dans nos calculs, l’addition transforme deux polynômes e(x) en polynômes homogènes. En revanche, la multiplication de deux polynômes de bruit augmente de manière exponentielle le degré de e(x) et la taille du texte. Si le bruit est trop important, le calcul du résultat devient impossible à ignorer, ce qui rend la récupération du texte d’origine impossible. C’est là la principale raison pour laquelle l’Algorithme HE est limité dans son expression de tout calcul arbitraire, car le bruit augmente de manière exponentielle, atteignant rapidement un seuil inutilisable. Dans les circuits, cela correspond à la profondeur du circuit, c’est-à-dire le nombre de fois où la multiplication est effectuée.
Le principe fondamental du chiffrement homomorphique HE est illustré dans le schéma ci-dessus et plusieurs solutions ont été proposées pour résoudre le problème du bruit qui limite le chiffrement homomorphique.
LHE est un algorithme très approprié car, sous cet algorithme, toute fonction peut être exécutée dans la profondeur déterminée. Cependant, PHE et SHE ne peuvent pas être Turing complet. Par conséquent, les cryptographes ont mené des recherches et proposé trois techniques pour construire FHE, un chiffrement homomorphe complet, afin de réaliser la vision d’exécuter n’importe quelle fonction à une profondeur infinie.
En général, pour les calculs limités, l’utilisation de la commutation de module peut réduire le bruit, mais elle peut également réduire le module, c’est-à-dire le budget de bruit, ce qui entraîne une compression de la capacité de calcul. Par conséquent, cela ne s’applique qu’aux calculs limités. Pour la réinitialisation de bruit, Bootstrap peut réaliser une FHE véritablement illimitée pour toutes les fonctions sur la base de l’algorithme LHE, ce qui signifie également la signification complète de FHE.
Cependant, les inconvénients sont évidents, car ils nécessitent une grande quantité de ressources de Puissance de calcul, de sorte que dans la plupart des cas, ces deux techniques de réduction de bruit sont combinées, le Modulus switching étant utilisé pour la gestion quotidienne du bruit, tandis que la latence nécessite un temps de démarrage. Lorsque le Modulus switching ne peut plus contrôler efficacement le bruit, le bootstrap plus coûteux en calcul est utilisé.
Les solutions actuelles de FHE comprennent les implémentations suivantes, qui utilisent toutes la technologie centrale Bootstrap :
Cela nous amène également à un type de circuit dont nous n’avons pas encore parlé, à savoir le circuit booléen. Nous avons principalement présenté des circuits arithmétiques jusqu’à présent. Les circuits arithmétiques sont des opérations abstraites comme 1+1 ou la division, tandis que les Nœuds sont des opérations booléennes, y compris les opérations NOT, OR, AND, similaires à la mise en œuvre de circuits informatiques. Les circuits arithmétiques sont encore plus abstraits que les circuits booléens. Tous les chiffres sont convertis en base 01 et tous les Nœuds sont des opérations booléennes.
Par conséquent, nous pouvons voir très grossièrement les opérations booléennes comme un traitement flexible moins dense en données, tandis que les opérations arithmétiques sont une solution pour les applications à forte densité de données.
Problèmes auxquels FHE est confronté
En raison de nos besoins en chiffrement et en transformation en “circuit” pour nos calculs, le simple calcul de 2 + 4 est considérablement amplifié après le chiffrement, introduisant de nombreux calculs cryptographiques indirects et des techniques de pointe telles que Bootstrap pour résoudre les problèmes de bruit, ce qui entraîne un coût de calcul de l’ordre de N pour un calcul normal.
Nous utilisons un exemple du monde réel pour permettre aux lecteurs de comprendre les coûts supplémentaires des processus cryptographiques sur les ressources de calcul. Supposons qu’un calcul régulier nécessite 200 cycles d’horloge sur un processeur de 3 GHz, alors le déchiffrement AES-128 régulier prend environ 67 nanosecondes (200/3 GHz). La version FHE prend 35 secondes, soit environ 522 388 060 fois la version régulière (35/67 e-9). Cela signifie que, en utilisant les mêmes ressources de calcul, les exigences en matière de ressources de calcul pour le même algorithme régulier et l’algorithme FHE sont d’environ 500 millions de fois plus élevées.
Programme DARPA dprive, source de l’image : DARPA
Dans le but de garantir la sécurité des données, le DARPA américain a spécifiquement mis en place en 2021 le programme Dprive, qui a invité plusieurs équipes de recherche, dont Microsoft, Intel, etc. Leur objectif est de créer un accélérateur FHE et une pile logicielle correspondante pour rendre la vitesse de calcul FHE plus conforme aux opérations similaires sur les données non chiffrées, avec pour objectif d’atteindre une vitesse de calcul FHE d’environ 1/10 de celle des calculs classiques. Tom Rondeau, le responsable du projet DARPA, a déclaré : “Dans le monde du FHE, notre vitesse de calcul est estimée être environ un million de fois plus lente que dans le monde du texte pur.”
Dprive se concentre principalement sur les aspects suivants :
Il ne reste qu’un mois avant la fin du programme DEPRIVE de DARPA, qui devait initialement se dérouler en trois phases de septembre 2021 à septembre 2024. Cependant, il semble que les progrès soient lents et qu’ils n’aient pas encore atteint l’objectif prévu d’une efficacité 1/10 par rapport à l’informatique conventionnelle.
Bien que les progrès de la technologie FHE soient lents, tout comme la technologie ZK, il est confronté au problème crucial de la mise en œuvre matérielle, qui est une condition préalable à la mise en œuvre technologique. Cependant, nous pensons toujours que, à long terme, la technologie FHE a encore une signification unique, en particulier en ce qui concerne la protection de la vie privée des données sensibles que nous avons énumérées dans la première partie. Pour le département de la défense de la DARPA, il détient de nombreuses données sensibles et s’il souhaite libérer la capacité générique de l’IA dans le domaine militaire, il doit former l’IA sous forme de sécurité des données. De plus, cela s’applique également aux données sensibles telles que la santé et la finance. En fait, le FHE ne convient pas à tous les calculs ordinaires, mais plutôt aux besoins de calcul dans les données sensibles. Cette sécurité est particulièrement importante pour l’ère post-quantique.
Pour cette technologie de pointe, il est nécessaire de considérer l’écart entre la période d’investissement et le moment de la commercialisation. Par conséquent, nous devons considérer avec beaucoup de prudence le moment de la commercialisation de FHE.
La combinaison de la blockchain
Dans la blockchain, FHE est principalement utilisé pour protéger la confidentialité des données, notamment dans les domaines de la confidentialité off-chain, de la confidentialité des données d’entraînement de l’IA, de la confidentialité des votes off-chain, de la transaction sécurisée off-chain, etc. FHE est également l’une des solutions potentielles pour le MEV off-chain. Selon notre article sur le MEV “Éclairer la forêt sombre - Lever le voile sur le MEV”, de nombreuses solutions MEV actuelles ne font que reconstruire l’architecture MEV et ne résolvent pas réellement les problèmes d’UX causés par les attaques sandwichs. Notre solution consiste à chiffrer directement les transactions tout en maintenant la transparence de l’état.
Processus MEV PBS
Mais il y a aussi un problème, si nous chiffrons complètement les transactions, cela fera également disparaître les externalités positives apportées par les bots MEV, les validateurs Builder doivent fonctionner sur une Machine virtuelle pour effectuer FHE, les validateurs doivent également valider les transactions pour déterminer la validité de l’état final, ce qui augmentera considérablement les exigences en termes de Nœud, ralentissant ainsi le débit de l’ensemble du réseau d’un million de fois.
Projets principaux
Paysage FHE
FHE est une technologie assez récente, et la plupart des projets qui utilisent cette technologie proviennent de Zama, tels que Fhenix, Privasea, Inco Network et Mind Network. Les capacités de mise en œuvre du projet FHE de Zama ont été reconnues par ces projets. La plupart de ces projets sont construits à l’aide de la bibliothèque fournie par Zama, la principale différence étant le modèle commercial. Fhenix souhaite construire un Optimism Layer 2 axé sur la confidentialité, Privasea souhaite utiliser les capacités de FHE pour effectuer des calculs de données LLM, mais il s’agit d’une opération très lourde en données, qui nécessite des exigences techniques et matérielles particulièrement élevées pour FHE, et l’utilisation de TFHE sur lequel repose Zama pourrait ne pas être le choix optimal. Inco Network et Fhenix utilisent tous deux fhEVM, l’un pour construire Layer 1 et l’autre pour Layer 2. Arcium est une fusion de plusieurs techniques cryptographiques, notamment FHE, MPC et ZK. Le modèle commercial de Mind Network est assez original, il a choisi la piste du Restaking pour résoudre les problèmes de sécurité économique et de confiance dans le vote de la couche de consensus en offrant une sécurité de liquidité et une architecture de sous-réseau basée sur FHE.
Zama
Zama is a scheme based on TFHE, which uses Bootstrap technology. It focuses on handling Boolean operations and low-bit integer operations. Although it is a faster technical implementation in our FHE scheme, it still has a significant gap compared to regular calculations. Moreover, it cannot achieve arbitrary computations. When facing data-intensive tasks, these operations will cause the Depth of the circuit to be too large to handle. It is not a data-intensive scheme and is only suitable for chiffrement processing of certain key steps.
TFHE a actuellement du code implémenté prêt à l’emploi, le principal travail de Zama est de réécrire TFHE en utilisant le langage Rust, c’est-à-dire ses crates rs-TFHE. En même temps, afin de réduire la barrière d’entrée des utilisateurs de Goutte en Rust, il a également construit un outil de transpilation, Concrate, qui peut convertir Python en rs-TFHE équivalent. En utilisant cet outil, les grands langages de modèles basés sur Python peuvent être traduits en langage rust basé sur TFHE-rs. Cela permet d’exécuter des grands modèles basés sur le chiffrement homomorphique, mais les tâches intensives en données ne conviennent pas vraiment au scénario TFHE. Le produit fhEVM de Zama est une technologie qui met en œuvre des Smart Contracts confidentiels sur EVM en utilisant exclusivement le chiffrement homomorphique (FHE), capable de prendre en charge des Smart Contracts chiffrement de bout en bout compilés en langage Solidity.
En général, en tant que produit To B, Zama a construit une pile de développement blockchain+IA basée sur TFHE relativement complète. Cela peut aider les projets web3 à construire facilement l’infrastructure et les applications FHE.
Octra
Octra a une particularité : elle utilise une technologie innovante pour mettre en œuvre FHE. Elle utilise une technique appelée hypergraphes pour réaliser un amorçage. Bien qu’elle soit basée sur des circuits booléens, Octra estime que la technologie basée sur les hypergraphes permet d’obtenir un FHE plus efficace. Il s’agit d’une technologie originale mise en œuvre par Octra pour le FHE, et l’équipe possède des compétences techniques et cryptographiques très solides.
Octra a développé un nouveau langage de smart contracts, utilisant les bibliothèques de code OCaml, AST, ReasonML (un langage spécialement conçu pour interagir avec le réseau Octra Blockchain et les smart contracts et applications) et C++. Il a développé une bibliothèque Hyperghraph FHE qui est compatible avec tout projet.
Son architecture est également similaire à celle des projets Mind Network, Bittensor, Allora, etc. Il construit un Mainnet, tandis que les autres projets deviennent des sous-réseaux, créant ainsi un environnement d’exécution isolé. De plus, comme ces projets, il construit également de nouveaux protocoles de consensus émergents qui conviennent mieux à l’architecture elle-même. Octra construit un protocole de consensus basé sur l’apprentissage automatique appelé ML-consensus, qui est essentiellement basé sur un graphe acyclique orienté (DAG).
Le principe technique de ce Consensus n’a pas encore été divulgué, mais nous pouvons faire une estimation approximative. Fondamentalement, les transactions sont soumises au réseau, puis l’algorithme SVM (Support Vector Machine) est utilisé pour déterminer le meilleur traitement du nœud, principalement en fonction de la charge actuelle du réseau de chaque nœud. Le système utilisera des données historiques (apprentissage par algorithme ML) pour déterminer le meilleur chemin pour parvenir à un consensus des nœuds parents. Il suffit de satisfaire 1/2 des nœuds pour parvenir à un consensus continu de la base de données.
En attente
État actuel du développement de la cryptographie avancée, source de l’image : Verdict
La technologie FHE est une technologie axée sur l’avenir, mais son développement est encore en retard par rapport à la technologie ZK en raison du manque de capitaux investis, de l’inefficacité et des coûts élevés liés à la protection de la vie privée, ce qui décourage la plupart des institutions commerciales. Le développement de la technologie ZK a été accéléré grâce aux investissements de Crypto VC. FHE est encore à un stade très précoce et il y a encore peu de projets sur le marché en raison de son coût élevé, de sa difficulté technique et de son manque de perspectives commerciales claires. En 2021, DAPRA a lancé un plan de conquête FHE de 42 mois en collaboration avec plusieurs entreprises telles que Intel et Microsoft. Bien qu’il y ait eu des progrès, les objectifs de performance restent encore éloignés. Avec l’attention croissante des investisseurs Crypto VC dans ce domaine, plus de fonds devraient affluer dans l’industrie, ce qui devrait entraîner l’apparition de plus de projets FHE et la mise en avant d’équipes ayant de solides capacités techniques et de recherche, telles que Zama et Octra. La combinaison de la technologie FHE avec la commercialisation et le développement de la blockchain mérite encore d’être explorée, mais son application est encore limitée, comme l’anonymisation des votes des nœuds de vérification, bien que son champ d’application soit encore restreint.
Comme ZK, la commercialisation des puces FHE est l’une des conditions préalables à la commercialisation du FHE. Actuellement, plusieurs fabricants tels qu’Intel, Chain Reaction, Optalysys, etc. explorent ce domaine. Même si le FHE rencontre de nombreuses résistances techniques, l’atterrissage des puces FHE, en tant que technologie prometteuse et demandée, apportera une transformation profonde dans des secteurs tels que la défense, la finance, la santé, etc., libérant le potentiel de ces données confidentielles combinées avec des technologies futures telles que les algorithmes quantiques, et ouvrant la voie à leur explosion.
Nous sommes prêts à explorer cette technologie de pointe précoce. Si vous construisez un produit FHE vraiment commercialisable, ou si vous avez des innovations technologiques plus avant-gardistes, n’hésitez pas à nous contacter!