Auteur: EQ Labs Source: equilibrium Traduction: Shanolva, Golden Finance
Notre série sur la vie privée, partie 1, présente la signification de la « vie privée », la différence entre la vie privée sur le réseau Blockchain et la vie privée sur le web2, ainsi que les difficultés de mise en œuvre de la vie privée sur le réseau Blockchain.
Le point principal de cet article est que si l’état final idéal est une infrastructure de confidentialité avec une programmabilité, capable de traiter des états privés partagés sans aucun point de défaillance unique, alors toutes les routes mènent à MPC. Nous examinerons également la maturité de MPC et ses hypothèses de confiance, mettrons l’accent sur les alternatives, les compromis et fournirons un aperçu de l’industrie.
Se libérer des entraves du passé et accueillir l’avenir
L’infrastructure de confidentialité actuellement présente dans le Bloc vise à traiter des cas d’utilisation très spécifiques, tels que les paiements privés ou les votes. Il s’agit d’une vision assez étroite, principalement reflétant les cas d’utilisation actuels du Bloc (transactions, transferts et spéculation). Comme l’a dit Tom Walpo - Les cryptoactifs souffrent du paradoxe de Fermi : 01928374656574839201
En plus d’accroître la liberté personnelle, nous pensons que la confidentialité est une condition préalable à l’élargissement de l’espace de conception du Bloc, au-delà des métadonnées spéculatives actuelles. De nombreuses applications nécessitent un certain état privé et/ou une logique cachée pour fonctionner correctement :
L’analyse empirique (provenant de web2 et web3) montre que la plupart des utilisateurs ne sont pas prêts à payer des frais supplémentaires ou à sauter des étapes supplémentaires pour améliorer la confidentialité, et nous sommes d’accord sur le fait que la confidentialité elle-même n’est pas un argument de vente. Cependant, elle permet bel et bien de nouveaux cas d’utilisation (espérons-le) plus significatifs de se développer sur la blockchain - nous échappons ainsi au paradoxe de Fermi.
Les technologies de renforcement de la confidentialité (PET) et les solutions cryptographiques modernes (« Programmabilité cryptographique ») sont les modules de base pour réaliser cette vision (pour plus d’informations sur les différentes solutions disponibles et leurs compromis, veuillez vous référer à l’annexe).
Notre vision du développement de l’infrastructure de confidentialité de la blockchain est basée sur trois hypothèses clés :
En tenant compte des hypothèses susmentionnées, quel est l’objectif final de l’infrastructure de confidentialité des blocs? Y a-t-il une méthode qui convient à toutes les applications? Existe-t-il une technologie d’amélioration de la confidentialité qui peut gouverner toutes les applications?
Pas tout à fait. Tout cela implique des compromis différents, nous les avons vus se combiner de différentes manières. Globalement, nous avons identifié 11 méthodes différentes.
Actuellement, les deux méthodes les plus populaires pour construire des infrastructures de confidentialité dans la blockchain sont l’utilisation de ZKP ou de FHE. Cependant, les deux présentent des défauts fondamentaux :
Si l’état final idéal est d’avoir une infrastructure de confidentialité avec la Programmabilité, capable de traiter des états privés partagés sans aucun point de défaillance unique, alors deux voies peuvent mener à MPC :
Veuillez noter que bien que ces deux méthodes finissent par converger, les utilisations de MPC sont différentes :
Bien que la discussion se tourne vers des points de vue plus détaillés, les garanties sous-jacentes à ces différentes approches n’ont pas encore été pleinement explorées. Étant donné que notre hypothèse de confiance se réduit à l’hypothèse du MPC, trois questions clés doivent être posées :
Permettez-nous de répondre plus en détail à ces questions.
Chaque fois qu’une solution utilise FHE, les gens se demandent toujours : “Qui possède la Clé secrète ?”. Si la réponse est “le réseau”, la question suivante est : “Quelles entités réelles composent ce réseau ?”. La question ultérieure est liée à tous les cas d’utilisation qui dépendent d’une manière ou d’une autre de MPC.
Source: Speech by Zama on ETH CC
Le principal risque du MPC est la collusion, c’est-à-dire qu’il y a suffisamment de parties prenantes malveillantes qui collaborent pour décrypter les données ou voler des calculs. La collusion peut être réalisée off-chain et ne sera révélée que lorsque les parties malveillantes prennent des mesures évidentes (chantage, création de jetons Jeton à partir de rien, etc.). Il ne fait aucun doute que cela a un impact majeur sur la confidentialité que le système peut offrir. Le risque de collusion dépend de :
TLDR: Pas aussi puissant que nous l’espérions, mais plus puissant que de compter sur un tiers centralisé.
Le seuil requis pour le déchiffrement dépend du schéma MPC choisi, en grande partie un compromis entre la vivacité* (« livraison de sortie garantie »)* et la sécurité. Vous pouvez prendre un schéma N/N très sécurisé, mais dès qu’un nœud est hors ligne, il plante. D’autre part, le schéma N/2 ou N/3 est plus robuste mais présente un risque de collusion plus élevé.
Les deux conditions à équilibrer sont :
Les plans choisis varient en fonction de la mise en œuvre. Par exemple, l’objectif de Zama est de N/3, tandis que Arcium met actuellement en œuvre un plan N/N, mais prendra également en charge ultérieurement des plans avec une garantie d’activité plus élevée (et des hypothèses de confiance plus importantes).
À ce point de compromis, une solution de compromis est d’adopter une solution mixte :
Bien que cela soit théoriquement attrayant, cela introduit également une complexité supplémentaire, par exemple comment le comité de calcul interagit avec le comité de haute confiance.
Un autre moyen de renforcer la sécurité est d’exécuter le MPC dans un matériel de confiance pour partager et stocker la Clé secrète dans une zone sécurisée. Cela rend l’extraction ou l’utilisation de la Clé secrète pour des opérations autres que la définition du protocole plus difficile. Au moins Zama et Arcium explorent l’angle TEE.
Les risques plus subtils incluent des situations marginales telles que l’ingénierie sociale, par exemple, toutes les entreprises du cluster MPC emploient un ingénieur principal depuis plus de 10 à 15 ans.
Du point de vue des performances, MPC est confronté au défi clé de l’overhead de communication. Il hausse avec la complexité des calculs et l’augmentation du nombre de Nœuds dans le réseau (nécessitant plus de communications aller-retour). Pour les cas d’utilisation de la Bloc, cela entraînera deux impacts concrets :
Source: Speech by Zama on ETH CC
2.
3. Ensemble d’opérateurs sous licence: Dans la plupart des cas, l’ensemble d’opérateurs est autorisé. Cela signifie que nous nous appuyons sur la réputation et les contrats légaux plutôt que sur la sécurité économique ou le chiffrement. Le principal défi d’un ensemble d’opérateurs sans licence est de ne pas savoir si les gens sont en collusion hors chaîne. De plus, il faut régulièrement guider ou redistribuer les parts de clés pour permettre aux nœuds d’entrer ou de sortir dynamiquement du réseau. Bien que l’ensemble d’opérateurs sans licence soit l’objectif ultime et que des recherches soient en cours sur la façon d’étendre le mécanisme de preuve d’enjeu (PoS) pour atteindre le MPC de seuil (par exemple, Zama), la voie sous licence semble être la meilleure direction à suivre pour l’instant.
Un ensemble complet de confidentialité comprend :
C’est compliqué, avec beaucoup de scénarios extrêmes non explorés introduits, ce qui entraîne de gros coûts et peut être difficile à réaliser dans les années à venir. Un autre risque est que les gens puissent se sentir faussement en sécurité en superposant plusieurs concepts complexes. Plus nous ajoutons de complexité et supposons la confiance, plus il est difficile de déduire la sécurité de la solution globale.
Vaut-il la peine? Peut-être que cela vaut la peine, mais il vaut également la peine d’explorer d’autres méthodes qui pourraient offrir une efficacité de calcul considérablement meilleure, avec seulement une légère diminution de la garantie de confidentialité. Comme l’a souligné Lyron de Seismic, nous devrions nous concentrer sur des solutions simples qui répondent à nos normes de niveau de confidentialité requis et de compromis acceptables, plutôt que de les concevoir excessivement pour cette seule raison.
Si ZK et FHE finissent par revenir à l’hypothèse de confiance de MPC, pourquoi ne pas simplement utiliser MPC pour les calculs ? C’est une question légitime, et c’est aussi ce que des équipes comme Arcium, SodaLabs (utilisation de COTI v2), Taceo et Nillion tentent de faire. Veuillez noter que le MPC se présente sous plusieurs formes, mais parmi les trois principaux méthodes, nous faisons référence ici au protocole basé sur le partage de secrets et les circuits garbled (GC), et non au protocole basé sur FHE pour le déchiffrement utilisant le MPC.
Bien que MPC ait été utilisé pour des signatures distribuées et des calculs simples tels que Portefeuille plus sécurisés, le principal défi de l’utilisation de MPC pour des calculs plus généraux est le coût de communication (qui augmente avec la complexité des calculs et le nombre de Nœud impliqués).
Il existe plusieurs façons de réduire les dépenses, telles que le traitement préalable hors ligne (c’est-à-dire la partie la plus coûteuse du protocole) - Arcium et SodaLabs explorent tous deux ce point. Ensuite, effectuez des calculs en ligne, ce qui consommera certaines données générées lors de la phase hors ligne. Cela réduit considérablement l’ensemble des coûts de communication.
Le tableau ci-dessous de SodaLabs montre le Benchmark initial en microsecondes nécessaire pour exécuter 1 000 fois différentes codes d’opération dans son gcEVM. Bien que ce soit un pas dans la bonne direction, il reste beaucoup de travail à faire pour améliorer l’efficacité et étendre l’ensemble d’opérateurs à plusieurs nœuds.
Source: SodaLabs
Les avantages de la méthode basée sur ZK sont que vous n’utilisez MPC que pour les cas d’utilisation nécessitant des calculs dans un état privé partagé. La concurrence entre FHE et MPC est plus directe et dépend fortement de l’accélération matérielle.
Récemment, l’intérêt pour le TEE a été ravivé, il peut être utilisé seul (sur une blockchain privée basée sur le TEE ou un coprocesseur), ou combiné avec d’autres PET (comme des solutions basées sur ZK) (pour effectuer des calculs partageant l’état privé uniquement en utilisant le TEE).
Bien que TEE soit plus mature à certains égards et introduise moins de surcoûts de performance, ils ne sont pas sans défauts. Premièrement, TEE a des hypothèses de confiance différentes (1/N) et offre une solution basée sur le matériel plutôt que sur le logiciel. La critique courante tourne autour des failles passées de SGX, mais il est important de noter que TEE ≠ Intel SGX. TEE nécessite également de faire confiance au fournisseur de matériel, et le matériel est coûteux (la plupart des gens ne peuvent se le permettre). Une solution pour traiter le risque d’attaque physique pourrait être d’exécuter TEE dans l’espace pour gérer les tâches critiques.
Dans l’ensemble, TEE semble plus adapté aux preuves ou aux cas d’utilisation ne nécessitant qu’une confidentialité à court terme (décryptage de seuil, livres de commande obscur, etc.). Pour une confidentialité permanente ou à long terme, la sécurité semble moins attrayante.
L’intermédiaire peut fournir la confidentialité pour empêcher l’accès des autres utilisateurs, mais la garantie de confidentialité repose entièrement sur la confiance envers les tiers (point de défaillance unique). Bien qu’il soit similaire à la “confidentialité web2” (empêchant la confidentialité des autres utilisateurs), il peut être renforcé par des garanties supplémentaires (chiffrement ou économie) et permettre la vérification d’une exécution correcte.
Le comité de disponibilité des données privées (DAC) en est un exemple ; les membres du DAC stockent les données hors chaîne, et les utilisateurs ont confiance en eux pour stocker correctement les données et effectuer les mises à jour de l’état. Une autre forme est le séquenceur agréé proposé par Tom Walpo.
Bien que cette approche fasse de grands compromis en termes de protection de la vie privée, elle peut être la seule solution de remplacement viable pour les applications à faible valeur et haute performance en termes de coût et de performance (du moins pour le moment). Par exemple, le protocole Lens prévoit d’utiliser un DAC privé pour réaliser un flux d’informations privées. Pour des cas d’utilisation tels que les réseaux sociaux hors chaîne, il peut être raisonnable de faire un compromis entre la confidentialité et le coût/performance (en tenant compte du coût et des dépenses des solutions de remplacement).
L’Adresse invisible peut offrir des garanties de confidentialité similaires à la création d’une nouvelle Adresse pour chaque transaction, mais ce processus est effectué automatiquement en arrière-plan et n’est pas divulgué aux utilisateurs. Pour plus d’informations, veuillez consulter cet aperçu de Vitalik ou cet article approfondi sur les différentes approches. Les principaux acteurs de ce domaine comprennent Umbra et Fluidkey.
Bien que les adresses invisibles fournissent une solution relativement simple, leur principal inconvénient est qu’elles ne peuvent garantir la confidentialité que des transactions (paiements et transferts), et non des calculs généraux. Cela les distingue des trois autres solutions mentionnées ci-dessus.
De plus, l’anonymat fourni par l’Adresse cachée n’est pas aussi puissant que d’autres solutions de remplacement. L’anonymat peut être brisé par une simple analyse de regroupement, en particulier lorsque les transferts entrants et sortants ne se situent pas dans une plage similaire (par exemple, recevoir 10 000 dollars, mais dépenser en moyenne entre 10 et 100 dollars par jour). Un autre défi pour l’Adresse cachée est la mise à jour de la Clé secrète, qui doit maintenant être effectuée individuellement pour chaque portefeuille (le stockage consolidé de la Clé secrète peut aider à résoudre ce problème). En termes d’expérience utilisateur, si le compte n’a pas de Jeton de frais (comme ETH), le protocole Adresse cachée nécessite toujours une abstraction de compte ou que le payeur paye les frais.
Compte tenu de la rapidité du développement et de l’incertitude générale des solutions technologiques différentes, nous pensons que l’argument en faveur du MPC en tant que solution finale présente certains risques. Il est possible que nous n’ayons finalement pas besoin d’une forme quelconque de MPC, principalement pour les raisons suivantes :
Au final, la force de la chaîne dépend de son maillon le plus faible. Dans le cas de l’infrastructure de confidentialité programmable, si nous voulons qu’elle puisse gérer des états privés partagés sans point de défaillance unique, la garantie de confiance se résume à la garantie de MPC.
Bien que cet article semble critiquer le MPC, ce n’est pas le cas en réalité. Le MPC a considérablement amélioré la situation actuelle qui dépend fortement des tiers centralisés. Nous pensons que le principal problème réside dans la fausse confiance qui règne dans toute l’industrie, et que ce problème est dissimulé. Au contraire, nous devrions affronter les problèmes et nous concentrer sur l’évaluation des risques potentiels.
Cependant, tous les problèmes ne nécessitent pas l’utilisation des mêmes outils pour les résoudre. Bien que nous considérions le MPC comme l’objectif final, d’autres méthodes sont également des choix viables tant que le coût des solutions basées sur le MPC reste élevé. Il est toujours utile de considérer quelles méthodes conviennent le mieux aux besoins/caractéristiques spécifiques du problème que nous essayons de résoudre, ainsi que les compromis que nous sommes prêts à faire.
Même si vous avez le meilleur marteau du monde, tout n’est pas forcément un clou.