Que voulons-nous réellement dire lorsque nous parlons de la confidentialité dans les réseaux Blockchain?

Avancé8/23/2024, 8:26:17 AM
Cet article soutient que la vie privée dans les réseaux blockchain est essentielle pour une adoption plus large, plutôt qu'une simple fonctionnalité souhaitable. Il met en évidence les défis posés par la transparence actuelle des blockchains et souligne que les différents utilisateurs et cas d'utilisation nécessiteront différents niveaux de confidentialité, suggérant qu'une approche universelle ne suffit pas.

Les points de vue et les hypothèses sous-jacents à cet article :

  • Une certaine confidentialité dans les réseaux blockchain est indispensable, ce n'est pas un plus
  • La nature transparente actuelle des blockchains est un grand obstacle à une adoption plus large
  • Différents utilisateurs et cas d'utilisation nécessiteront différents niveaux de confidentialité. Tous les problèmes ne doivent pas être résolus avec le même outil.

Les utilisateurs individuels se soucient-ils de la confidentialité?

Oui, mais certains plus que d'autres.

Tout le monde se soucie de la vie privée dans une certaine mesure et nous faisons tous des hypothèses implicites sur la vie privée dans notre vie quotidienne. Par exemple, lorsque vous écrivez un message dans un groupe Slack de l'entreprise, vous supposez que seuls vos collègues peuvent voir les messages. De même, beaucoup sont d'accord pour que la société de cartes de crédit ou la banque puisse surveiller leurs transactions, mais ne voudraient pas diffuser leur historique de transaction au reste du monde.

Les entreprises ont des raisons supplémentaires de se soucier de la confidentialité (compétitivité, sécurité et réglementation) et ont généralement une plus grande disposition à payer pour cela par rapport aux utilisateurs individuels.

Une autre question importante est : De qui les utilisateurs veulent-ils se protéger ?

  1. D'autres utilisateurs du réseau et des observateurs extérieurs
  2. Les tiers et les intermédiaires facilitant le service
  3. Gouvernements, organes gouvernementaux et surveillance de masse

Le premier est absolument indispensable pour la plupart des cas d'utilisation et est déjà réalisable dans les réseaux blockchain aujourd'hui si nous acceptons des garanties plus faibles (plus à ce sujet plus loin). Le deuxième est ce vers quoi nous, en tant qu'industrie, travaillons pour donner plus de contrôle aux utilisateurs et éviter que les entreprises avec des modèles commerciaux exploitent nos données sans permission. Le troisième - la confidentialité vis-à-vis des gouvernements et des organismes gouvernementaux - est le plus délicat d'un point de vue réglementaire et politique.

Comment définissons-nous la “confidentialité” ?

La vie privée n'est pas le secret. Une affaire privée est quelque chose que l'on ne veut pas que le monde entier sache, mais une affaire secrète est quelque chose que l'on ne veut pas que personne ne sache. La vie privée est le pouvoir de se révéler sélectivement au monde - Le Manifeste d'un Cypherpunk

La confidentialité est un sujet complexe qui couvre plusieurs sujets distincts (mais liés) comme la souveraineté des données (propriété individuelle des données), la cryptographie, etc. De plus, les gens utilisent généralement le terme assez librement dans différents contextes sans définitions claires, ce qui rend difficile de raisonner à ce sujet. Des termes tels que la confidentialité (quoi) et l'anonymat (qui) sont souvent utilisés de manière interchangeable avec la confidentialité, même si les deux ne sont qu'un sous-ensemble des fonctionnalités de confidentialité à atteindre.

Certaines questions clés concernant la confidentialité sont :

  • Qu'est-ce qui peut être révélé et à qui si désiré?
  • Qui a le pouvoir de révéler l'information?
  • Ce qui doit être révélé et à qui pour que le système fonctionne ?
  • Quelles garanties y a-t-il que ce qui est privé aujourd'hui le restera demain ?

Basé sur ces questions, nous pourrions le résumer en une seule phrase:

La vie privée concerne l'utilisateur (propriétaire des données) qui a le contrôle sur les données partagées, avec qui et selon quelles conditions, et avec de solides garanties que ce qui est programmé pour être privé le reste.

Avons-nous besoin d'un nouveau vocabulaire?

En considérant ce qui précède - le terme "confidentialité" est-il inapproprié pour ce que nous essayons de réaliser ? Peut-être, peut-être pas. Tout dépend de la façon dont vous l'abordez.

D’une part, le terme « vie privée » semble assez binaire (quelque chose est privé ou non), mais comme nous l’avons souligné ci-dessus, il est beaucoup plus nuancé que cela. Différentes choses peuvent être privées (entrée, sortie, programme avec lequel vous avez interagi, etc.), quelque chose peut être privé pour une personne mais public pour une autre, et il existe une gamme d’hypothèses de confiance derrière différentes solutions de confidentialité. De plus, le terme a une connotation négative qui peut faire dérailler la discussion du sujet réel.

D'autre part, la "confidentialité" est un terme bien connu avec une part de l'esprit existant. Introduire de nouveaux termes peut être déroutant, surtout s'il n'y a pas de consensus sur le nouveau terme à utiliser. Essayer de contourner le sujet en utilisant un terme alternatif semble également quelque peu malhonnête et nous devrions être en mesure de parler des choses telles qu'elles sont.

En tant qu'ingénieurs de protocole et constructeurs de réseaux de blockchain, regarder les choses sous un nouvel angle peut nous aider à détecter de nouveaux problèmes ou des lacunes dans les solutions actuelles. Des termes alternatifs tels que le contrôle du flux d'informations (utilisé dans la littérature plus large sur la confidentialité) ou les divulgations programmables (notre suggestion) capturent peut-être mieux la nuance. Les informations peuvent être privées pour certains mais publiques pour d'autres, et il revient aux utilisateurs de décider quelles informations sont partagées avec qui.

Cependant, nous nous en tiendrons au terme vie privée dans ce post pour éviter toute confusion inutile.

Comment la confidentialité dans Web2 diffère-t-elle des réseaux Blockchain ?

La plupart des utilisateurs d'Internet sont familiers avec la "vie privée" web2. Nos données sont cryptées pendant le transit (jusqu'à 95% de tout le trafic aujourd'hui) et protégé des autres utilisateurs, mais partagé avec des intermédiaires de confiance et des fournisseurs de services. En d'autres termes, la « confidentialité » (vis-à-vis des autres utilisateurs) provient de la confiance en un intermédiaire.

Cette approche donne un certain contrôle à l'utilisateur sur la manière de partager ses données au-delà du fournisseur de services. Cependant, cela implique beaucoup de confiance (directement ou indirectement) dans le fournisseur de services pour conserver les données en sécurité et les manipuler correctement. De plus, des garanties limitées et peu de transparence sur la manière dont les données sont utilisées signifient que les utilisateurs ne peuvent qu'espérer que les fournisseurs de services se comportent comme ils le prétendent (modèle basé sur la réputation).

Les réseaux Blockchain visent à réduire la dépendance aux intermédiaires et à fournir des garanties plus solides en passant d'un modèle basé sur la réputation à des garanties économiques ou cryptographiques. Cependant, le modèle distribué impose également de nouveaux défis, en particulier pour la vie privée. Les nœuds doivent se synchroniser et parvenir à un consensus sur l'état actuel du réseau, ce qui est relativement facile lorsque toutes les données sont transparentes et partagées entre tous les nœuds (statu quo). Cela devient considérablement plus difficile lorsque nous commençons à crypter des données, une raison principale pour laquelle la plupart des réseaux Blockchain sont aujourd'hui transparents.

Pourquoi est-il difficile d'atteindre la confidentialité dans les réseaux blockchain ?

Il existe deux façons d'assurer la confidentialité des réseaux blockchain : la confidentialité de confiance (intermédiée) ou la confidentialité à confiance minimale (non-intermédiée).

Les deux sont difficiles, mais pour des raisons différentes (idéologiques vs techniques). La confidentialité fiable est plus facilement disponible, mais offre des garanties plus faibles et nécessite de sacrifier une partie de l'idéologie des blockchains en s'appuyant sur des acteurs et des intermédiaires centralisés. La confidentialité avec un minimum de confiance peut offrir des garanties beaucoup plus solides et garantir que les utilisateurs restent maîtres de leurs données, mais elle est plus difficile à réaliser tant sur le plan technique que politique (comment rester conforme à la réglementation actuelle).

Confidentialité de confiance dans les réseaux de blockchain

L'approche de confiance ressemble beaucoup à la confidentialité de style web2 en ce sens qu'elle peut garantir la confidentialité vis-à-vis des autres utilisateurs, mais nécessite de faire confiance à un tiers ou à un intermédiaire pour la faciliter. Cela ne demande pas autant de compétences techniques, ce qui en fait un choix pragmatique pour les projets qui nécessitent certaines garanties de confidentialité aujourd'hui, mais qui sont sensibles aux coûts et ont des transactions de moindre valeur. Un exemple en est les protocoles sociaux de web3 (comme Réseau de lentilles) qui met davantage l'accent sur la performance et la praticité que sur la rigidité des garanties de confidentialité.

Une approche simple consiste à utiliser unvalidiumoù un comité de disponibilité des données (DAC) détient l'état actuel et les utilisateurs font confiance aux opérateurs du DAC pour maintenir cet état privé et le mettre à jour si nécessaire. Un autre exemple est Extension de jeton Solana, qui garantit la confidentialité des paiements (cacher les soldes de compte et les transactions) en utilisant des preuves sans divulgation, mais permet de désigner un tiers de confiance disposant de droits d'audit pour assurer la conformité réglementaire.

Nous soutenons que ce modèle peut étendre le paradigme web2 actuel où vous faites confiance exclusivement à un intermédiaire pour respecter les règles. Avec les blockchains, le modèle de confiance pure peut être combiné avec certaines garanties supplémentaires (économiques ou cryptographiques) selon lesquelles les intermédiaires se comporteront comme prévu, ou du moins augmenteront l'incitation à le faire.

Il existe également des solutions hybrides dans lesquelles une solution à confiance minimale repose sur un composant centralisé pour améliorer les coûts, l'expérience utilisateur ou les performances. Les exemples de cette catégorie comprennent l'externalisation de la preuve pour les ZKPs privés à un seul prouvreur, ou un réseau FHE où un intermédiaire centralisé détient la clé de déchiffrement.

(Nous incluons les blockchains autorisées dans la catégorie de confiance, mais toutes les autres solutions concernent les blockchains sans autorisation).

Confidentialité à faible confiance dans les réseaux blockchain

L'approche de minimisation de la confiance évite d'avoir un seul point de défaillance à travers un intermédiaire de confiance qui peut offrir des garanties plus fortes. Cependant, il est beaucoup plus difficile à mettre en œuvre d'un point de vue technique. Dans la plupart des cas, cela nécessite une combinaison de solutions de cryptographie moderne et de changements structurels tels que l'utilisation d'une structure de compte différente.

Les solutions existantes sont principalement axées sur des cas d'utilisation spécialisés, tels que:

  • Financier : Les transferts privés, les paiements et les swaps visent à masquer l'identité, l'entrée et/ou la sortie (qui a envoyé quoi, combien et à qui). Les compromis entre différentes solutions incluent des pools protégés mono- ou multi-actifs et le degré de confidentialité. Des exemples incluent Zcash, Namada, etPénombre.
  • Identité: La confidentialité est non négociable pour toute solution qui exige que nous connectons notre identité hors-chaîne à notre identité sur-chaîne ou que nous essayons de stocker des documents d'identité sur-chaîne. Il y a plusieurs tentatives de la part du secteur privé (comme Preuve de passeport et Holonyme) ainsi que l'intérêt croissant des gouvernementspour soutenir des solutions d'identité numérique respectueuses de la vie privée.
  • Gouvernance: L'idée d'un vote privé sur la chaîne est de cacher qui a voté quoi et de garder le décompte total privé jusqu'à la fin du vote afin de ne pas influencer la décision de vote de chaque individu. Le graphique ci-dessous répertorie quelques exemples avec des fonctionnalités et des hypothèses de confiance variables :

  • Aperçu de certaines solutions existantes (source)

De nombreux cas d'utilisation dépendent cependant de l'état partagé et cela devient beaucoup plus difficile lorsque nous essayons d'étendre la confidentialité à faible confiance à ces cas d'utilisation polyvalents.

Une autre chose à noter est que bien que les cas d'utilisation spécialisés (paiements, vote, identité, etc.) puissent fonctionner de manière isolée, ils exigent des utilisateurs de passer entre des ensembles protégés (zones de confiance) pour différents cas d'utilisation. Cela est suboptimal carLa plupart des informations sont divulguéeslors des déplacements entrants et sortants d'un ensemble protégé.

Par conséquent, l'objectif devrait être de permettre la confidentialité pour le calcul général (tous les cas d'utilisation, y compris ceux qui nécessitent un état partagé), élargir l'ensemble protégé et ajouter des contrôles de gestion d'accès granulaires (expressivité).

Comment pouvons-nous évaluer différentes solutions ?

Alors que l'objectif final est clair, le chemin pour y parvenir est long. En attendant, nous avons besoin de cadres pour évaluer les solutions actuelles et les compromis qu'elles font. Nous pensons que l'espace des compromis peut être divisé en trois grandes catégories :

  1. Qu'est-ce que la confidentialité - Différents types de confidentialité liés aux blockchains :
  1. Entrées privées (messages)
  2. Sorties privées (changements d'état)
  3. Contreparties privées
    1. Utilisateurs
    2. Fonction
    3. Programme

Plus une solution peut cocher de cases, mieux c'est. Idéalement, vous auriez toutes ces fonctionnalités, mais cela nécessite souvent de faire des compromis. La différence entre la fonction et la confidentialité du programme est que certains systèmes permettent de cacher quelle fonction a été appelée (par exemple, la logique d'enchère utilisée par l'utilisateur), mais révèlent toujours le programme avec lequel l'utilisateur a interagi. La confidentialité du programme est une forme plus stricte de cela, où tous les appels de fonction sont privés avec le programme avec lequel l'utilisateur a interagi. C'est également dans cette catégorie que se situe la discussion sur l'anonymat (qui) par rapport à la confidentialité (quoi).

Il est important de noter que l'utilisateur a la possibilité de divulguer sélectivement certaines (ou toutes) de ces informations à certaines parties, mais s'il n'y en a aucune qui est privée par défaut, l'utilisateur n'a pas cette option.

  1. Programmabilité - À quelles fins pouvez-vous utiliser la confidentialité ?

Cette catégorie se concentre sur la programmabilité du calcul privé et sur ses limites :

  • Pouvez-vous effectuer des calculs sur des données chiffrées ? Y a-t-il une composition entre les programmes privés ?
  • Les états privés et publics peuvent-ils interagir de quelque manière que ce soit ? Quelles sont les limites et les compromis à cela ?
  • Quelles limites y a-t-il à la complexité des programmes que vous pouvez avoir (limites de gaz, expressivité, etc)?

Comme mentionné précédemment, de nombreuses applications (dans le monde réel) nécessitent un état partagé, ce qui est difficile à réaliser de manière minimisée en termes de confiance. Il y a beaucoup de travail et de recherche en cours dans ce domaine pour nous aider à passer de solutions de confidentialité spécifiques à une application qui ne nécessitent que des états locaux (par exemple les paiements) à une confidentialité programmable à usage général avec un état partagé.

La programmabilité concerne également le fait d'avoir des outils granulaires pour divulguer sélectivement certaines informations et révoquer l'accès si nécessaire (par exemple, lorsqu'un employé démissionne, nous voulons nous assurer qu'il n'a plus accès à des informations spécifiques à l'entreprise ou à d'autres informations sensibles)

  1. Fiabilité des garanties de confidentialité - Dans quelle mesure la confidentialité est-elle fiable ?

La question centrale est : Dans quelle mesure pouvons-nous être certains que ce qui est privé aujourd'hui le restera dans le futur (vie privée future) et quels sont les garanties qui le soutiennent ?

Cela inclut des choses telles que:

  • Quelles informations (le cas échéant) l'utilisateur doit-il partager avec un tiers de confiance ou un intermédiaire ? Quelles garanties existent-il que l'intermédiaire se comportera comme prévu ?
  • Quelle est la taille de l'ensemble protégé? (Multichain > Réseau (L1/L2) > Application > Actif unique)
  • Quels sont les risques de censure? (Application vs confidentialité de la couche de base)
  • Le système de preuve est-il une preuve quantique ?
  • Le système de preuve nécessite-t-il une configuration de confiance ? Si oui, combien de participants y a-t-il eu ?
  • Le système a-t-il la confidentialité par défaut ou existe-t-il d'autres incitations pour maximiser le nombre d'interactions au sein de l'ensemble protégé ?

Comme nous pouvons le voir ci-dessus, cette catégorie comprend à la fois des questions techniques (par exemple, le schéma de preuve choisi) et des questions basées sur la conception (par exemple, l'ajout d'incitations qui augmentent la taille de l'ensemble protégé).

Comment cette structure de compromis se rapporte-t-elle aux quatre questions présentées au début du post?

  • Qu'est-ce qui peut être révélé et à qui si désiré? Cette question concerne ce qui est privé et programmable. Si toutes les informations sont publiques par défaut, alors le seul choix des utilisateurs en ce qui concerne la confidentialité est de participer ou non au réseau. Nous avons besoin de la confidentialité par défaut pour avoir la possibilité de divulguer (au minimum la confidentialité vis-à-vis des autres utilisateurs/observateurs externes). La programmabilité peut être représentée par des règles de divulgation granulaires, c'est-à-dire à qui, quand, quoi et comment les informations sont divulguées (et révoquées).
  • Qui a le pouvoir de révéler des informations? Cela est surtout lié à la force des garanties de confidentialité et est plus fort lorsque seul l'utilisateur a le pouvoir de partager des informations (confidentialité minimisée par la confiance).
  • Que faut-il révéler et à qui pour que le système fonctionne ? Concerne principalement la programmabilité. Idéalement, vous devez révéler le moins d’informations possible tout en étant capable de calculer sur un état partagé, d’avoir une composabilité entre différents programmes et d’être capable d’établir de nouvelles relations de confiance. Dans la pratique, ce n’est pas le cas (aujourd’hui du moins) et certains arbitrages doivent être faits.
    • En prenant du recul pendant une seconde au-delà des blockchains, les preuves à divulgation nulle pourraient apporter un changement de paradigme à cet aspect de la vie privée car elles nous permettent de prouver qu'une chose est vraie sans avoir à révéler un excès d'informations. Par exemple, lors de la location d'un appartement, nous devons prouver au propriétaire potentiel que nous avons des revenus suffisants pour effectuer les paiements de location. Aujourd'hui, cela nous oblige à envoyer l'intégralité de notre relevé bancaire, ce qui révèle beaucoup d'informations supplémentaires. À l'avenir, cette relation de confiance pourrait être construite sur la base d'une preuve à divulgation nulle succincte.
  • Quelles garanties existe-t-il que ce qui est privé aujourd'hui le restera demain ? La notion de « confidentialité future » est principalement liée à la solidité des garanties de confidentialité. Des ensembles protégés plus importants aideront à cela et rendront plus difficile l'extraction d'informations par des observateurs extérieurs. Accorder moins de confiance aux intermédiaires peut aider, mais pas nécessairement, car même si les utilisateurs ont un contrôle total sur leurs données, leurs clés pourraient être compromises, des données pourraient être révélées involontairement, ou des données révélées pourraient être copiées. Ce domaine reste relativement inexploré et peu étudié, mais il gagnera en importance à mesure que la confidentialité dans les réseaux blockchain sera plus largement adoptée.

Résumé

En fin de compte, cela revient à savoir qui devrait avoir le contrôle sur les données à partager - les utilisateurs ou les intermédiaires. Les blockchains tentent d'augmenter la souveraineté individuelle, mais c'est un combat difficile étant donné que le contrôle est finalement le pouvoir, et les luttes de pouvoir sont compliquées. Cela se rapporte également à l'aspect réglementaire et à la conformité - une grande raison pour laquelle la confidentialité non intermédiée ou à confiance minimisée sera difficile (même si nous résolvons les obstacles techniques).

Aujourd’hui, la discussion est largement centrée sur la confidentialité des cas d’utilisation financière (paiements, transferts, swaps, etc.) - en partie parce que c’est là que se trouve la plupart des adoptions. Cependant, nous dirions que les cas d’utilisation non financiers sont tout aussi importants, sinon plus, que les cas financiarisés et qu’ils n’ont pas la même prétention. Les jeux qui nécessitent des entrées privées ou des solutions d’État (poker, cuirassé, etc.) ou d’identité où l’individu souhaite conserver son document original en toute sécurité peuvent constituer de puissantes incitations à normaliser la confidentialité dans les réseaux blockchain. Il est également possible d’avoir différents niveaux de confidentialité au sein d’une même application pour différentes transactions ou de révéler certaines informations si certaines conditions sont remplies. La plupart de ces domaines restent sous-explorés aujourd’hui.

Dans un monde idéal, les utilisateurs ont une pleine expressivité de ce qui est privé et à qui, en plus de garanties solides que ce qui est programmé pour être privé le reste. Nous examinerons de plus près les différentes technologies qui permettent cela et les compromis entre elles dans la deuxième partie de notre série sur la confidentialité.

La transition vers une informatique généraliste privée et minimisée en matière de confiance sur les blockchains sera longue et difficile, mais cela en vaudra la peine à la fin.

Avertissement :

  1. Cet article est repris de [.équilibre]Titre original [Que voulons-nous réellement dire lorsque nous parlons de confidentialité dans les réseaux blockchain (et pourquoi est-ce difficile à réaliser)?], Tous les droits d'auteur appartiennent à l'auteur original [Hannes Huitula]. S'il y a des objections à cette reproduction, veuillez contacter le Gate Apprendreéquipe, et ils s'en occuperont rapidement.
  2. Clause de non-responsabilité: Les points de vue et opinions exprimés dans cet article sont uniquement ceux de l'auteur et ne constituent aucun conseil en investissement.
  3. Les traductions de l’article dans d’autres langues sont effectuées par l’équipe de Gate Learn. Sauf mention contraire, il est interdit de copier, de distribuer ou de plagier les articles traduits.

Que voulons-nous réellement dire lorsque nous parlons de la confidentialité dans les réseaux Blockchain?

Avancé8/23/2024, 8:26:17 AM
Cet article soutient que la vie privée dans les réseaux blockchain est essentielle pour une adoption plus large, plutôt qu'une simple fonctionnalité souhaitable. Il met en évidence les défis posés par la transparence actuelle des blockchains et souligne que les différents utilisateurs et cas d'utilisation nécessiteront différents niveaux de confidentialité, suggérant qu'une approche universelle ne suffit pas.

Les points de vue et les hypothèses sous-jacents à cet article :

  • Une certaine confidentialité dans les réseaux blockchain est indispensable, ce n'est pas un plus
  • La nature transparente actuelle des blockchains est un grand obstacle à une adoption plus large
  • Différents utilisateurs et cas d'utilisation nécessiteront différents niveaux de confidentialité. Tous les problèmes ne doivent pas être résolus avec le même outil.

Les utilisateurs individuels se soucient-ils de la confidentialité?

Oui, mais certains plus que d'autres.

Tout le monde se soucie de la vie privée dans une certaine mesure et nous faisons tous des hypothèses implicites sur la vie privée dans notre vie quotidienne. Par exemple, lorsque vous écrivez un message dans un groupe Slack de l'entreprise, vous supposez que seuls vos collègues peuvent voir les messages. De même, beaucoup sont d'accord pour que la société de cartes de crédit ou la banque puisse surveiller leurs transactions, mais ne voudraient pas diffuser leur historique de transaction au reste du monde.

Les entreprises ont des raisons supplémentaires de se soucier de la confidentialité (compétitivité, sécurité et réglementation) et ont généralement une plus grande disposition à payer pour cela par rapport aux utilisateurs individuels.

Une autre question importante est : De qui les utilisateurs veulent-ils se protéger ?

  1. D'autres utilisateurs du réseau et des observateurs extérieurs
  2. Les tiers et les intermédiaires facilitant le service
  3. Gouvernements, organes gouvernementaux et surveillance de masse

Le premier est absolument indispensable pour la plupart des cas d'utilisation et est déjà réalisable dans les réseaux blockchain aujourd'hui si nous acceptons des garanties plus faibles (plus à ce sujet plus loin). Le deuxième est ce vers quoi nous, en tant qu'industrie, travaillons pour donner plus de contrôle aux utilisateurs et éviter que les entreprises avec des modèles commerciaux exploitent nos données sans permission. Le troisième - la confidentialité vis-à-vis des gouvernements et des organismes gouvernementaux - est le plus délicat d'un point de vue réglementaire et politique.

Comment définissons-nous la “confidentialité” ?

La vie privée n'est pas le secret. Une affaire privée est quelque chose que l'on ne veut pas que le monde entier sache, mais une affaire secrète est quelque chose que l'on ne veut pas que personne ne sache. La vie privée est le pouvoir de se révéler sélectivement au monde - Le Manifeste d'un Cypherpunk

La confidentialité est un sujet complexe qui couvre plusieurs sujets distincts (mais liés) comme la souveraineté des données (propriété individuelle des données), la cryptographie, etc. De plus, les gens utilisent généralement le terme assez librement dans différents contextes sans définitions claires, ce qui rend difficile de raisonner à ce sujet. Des termes tels que la confidentialité (quoi) et l'anonymat (qui) sont souvent utilisés de manière interchangeable avec la confidentialité, même si les deux ne sont qu'un sous-ensemble des fonctionnalités de confidentialité à atteindre.

Certaines questions clés concernant la confidentialité sont :

  • Qu'est-ce qui peut être révélé et à qui si désiré?
  • Qui a le pouvoir de révéler l'information?
  • Ce qui doit être révélé et à qui pour que le système fonctionne ?
  • Quelles garanties y a-t-il que ce qui est privé aujourd'hui le restera demain ?

Basé sur ces questions, nous pourrions le résumer en une seule phrase:

La vie privée concerne l'utilisateur (propriétaire des données) qui a le contrôle sur les données partagées, avec qui et selon quelles conditions, et avec de solides garanties que ce qui est programmé pour être privé le reste.

Avons-nous besoin d'un nouveau vocabulaire?

En considérant ce qui précède - le terme "confidentialité" est-il inapproprié pour ce que nous essayons de réaliser ? Peut-être, peut-être pas. Tout dépend de la façon dont vous l'abordez.

D’une part, le terme « vie privée » semble assez binaire (quelque chose est privé ou non), mais comme nous l’avons souligné ci-dessus, il est beaucoup plus nuancé que cela. Différentes choses peuvent être privées (entrée, sortie, programme avec lequel vous avez interagi, etc.), quelque chose peut être privé pour une personne mais public pour une autre, et il existe une gamme d’hypothèses de confiance derrière différentes solutions de confidentialité. De plus, le terme a une connotation négative qui peut faire dérailler la discussion du sujet réel.

D'autre part, la "confidentialité" est un terme bien connu avec une part de l'esprit existant. Introduire de nouveaux termes peut être déroutant, surtout s'il n'y a pas de consensus sur le nouveau terme à utiliser. Essayer de contourner le sujet en utilisant un terme alternatif semble également quelque peu malhonnête et nous devrions être en mesure de parler des choses telles qu'elles sont.

En tant qu'ingénieurs de protocole et constructeurs de réseaux de blockchain, regarder les choses sous un nouvel angle peut nous aider à détecter de nouveaux problèmes ou des lacunes dans les solutions actuelles. Des termes alternatifs tels que le contrôle du flux d'informations (utilisé dans la littérature plus large sur la confidentialité) ou les divulgations programmables (notre suggestion) capturent peut-être mieux la nuance. Les informations peuvent être privées pour certains mais publiques pour d'autres, et il revient aux utilisateurs de décider quelles informations sont partagées avec qui.

Cependant, nous nous en tiendrons au terme vie privée dans ce post pour éviter toute confusion inutile.

Comment la confidentialité dans Web2 diffère-t-elle des réseaux Blockchain ?

La plupart des utilisateurs d'Internet sont familiers avec la "vie privée" web2. Nos données sont cryptées pendant le transit (jusqu'à 95% de tout le trafic aujourd'hui) et protégé des autres utilisateurs, mais partagé avec des intermédiaires de confiance et des fournisseurs de services. En d'autres termes, la « confidentialité » (vis-à-vis des autres utilisateurs) provient de la confiance en un intermédiaire.

Cette approche donne un certain contrôle à l'utilisateur sur la manière de partager ses données au-delà du fournisseur de services. Cependant, cela implique beaucoup de confiance (directement ou indirectement) dans le fournisseur de services pour conserver les données en sécurité et les manipuler correctement. De plus, des garanties limitées et peu de transparence sur la manière dont les données sont utilisées signifient que les utilisateurs ne peuvent qu'espérer que les fournisseurs de services se comportent comme ils le prétendent (modèle basé sur la réputation).

Les réseaux Blockchain visent à réduire la dépendance aux intermédiaires et à fournir des garanties plus solides en passant d'un modèle basé sur la réputation à des garanties économiques ou cryptographiques. Cependant, le modèle distribué impose également de nouveaux défis, en particulier pour la vie privée. Les nœuds doivent se synchroniser et parvenir à un consensus sur l'état actuel du réseau, ce qui est relativement facile lorsque toutes les données sont transparentes et partagées entre tous les nœuds (statu quo). Cela devient considérablement plus difficile lorsque nous commençons à crypter des données, une raison principale pour laquelle la plupart des réseaux Blockchain sont aujourd'hui transparents.

Pourquoi est-il difficile d'atteindre la confidentialité dans les réseaux blockchain ?

Il existe deux façons d'assurer la confidentialité des réseaux blockchain : la confidentialité de confiance (intermédiée) ou la confidentialité à confiance minimale (non-intermédiée).

Les deux sont difficiles, mais pour des raisons différentes (idéologiques vs techniques). La confidentialité fiable est plus facilement disponible, mais offre des garanties plus faibles et nécessite de sacrifier une partie de l'idéologie des blockchains en s'appuyant sur des acteurs et des intermédiaires centralisés. La confidentialité avec un minimum de confiance peut offrir des garanties beaucoup plus solides et garantir que les utilisateurs restent maîtres de leurs données, mais elle est plus difficile à réaliser tant sur le plan technique que politique (comment rester conforme à la réglementation actuelle).

Confidentialité de confiance dans les réseaux de blockchain

L'approche de confiance ressemble beaucoup à la confidentialité de style web2 en ce sens qu'elle peut garantir la confidentialité vis-à-vis des autres utilisateurs, mais nécessite de faire confiance à un tiers ou à un intermédiaire pour la faciliter. Cela ne demande pas autant de compétences techniques, ce qui en fait un choix pragmatique pour les projets qui nécessitent certaines garanties de confidentialité aujourd'hui, mais qui sont sensibles aux coûts et ont des transactions de moindre valeur. Un exemple en est les protocoles sociaux de web3 (comme Réseau de lentilles) qui met davantage l'accent sur la performance et la praticité que sur la rigidité des garanties de confidentialité.

Une approche simple consiste à utiliser unvalidiumoù un comité de disponibilité des données (DAC) détient l'état actuel et les utilisateurs font confiance aux opérateurs du DAC pour maintenir cet état privé et le mettre à jour si nécessaire. Un autre exemple est Extension de jeton Solana, qui garantit la confidentialité des paiements (cacher les soldes de compte et les transactions) en utilisant des preuves sans divulgation, mais permet de désigner un tiers de confiance disposant de droits d'audit pour assurer la conformité réglementaire.

Nous soutenons que ce modèle peut étendre le paradigme web2 actuel où vous faites confiance exclusivement à un intermédiaire pour respecter les règles. Avec les blockchains, le modèle de confiance pure peut être combiné avec certaines garanties supplémentaires (économiques ou cryptographiques) selon lesquelles les intermédiaires se comporteront comme prévu, ou du moins augmenteront l'incitation à le faire.

Il existe également des solutions hybrides dans lesquelles une solution à confiance minimale repose sur un composant centralisé pour améliorer les coûts, l'expérience utilisateur ou les performances. Les exemples de cette catégorie comprennent l'externalisation de la preuve pour les ZKPs privés à un seul prouvreur, ou un réseau FHE où un intermédiaire centralisé détient la clé de déchiffrement.

(Nous incluons les blockchains autorisées dans la catégorie de confiance, mais toutes les autres solutions concernent les blockchains sans autorisation).

Confidentialité à faible confiance dans les réseaux blockchain

L'approche de minimisation de la confiance évite d'avoir un seul point de défaillance à travers un intermédiaire de confiance qui peut offrir des garanties plus fortes. Cependant, il est beaucoup plus difficile à mettre en œuvre d'un point de vue technique. Dans la plupart des cas, cela nécessite une combinaison de solutions de cryptographie moderne et de changements structurels tels que l'utilisation d'une structure de compte différente.

Les solutions existantes sont principalement axées sur des cas d'utilisation spécialisés, tels que:

  • Financier : Les transferts privés, les paiements et les swaps visent à masquer l'identité, l'entrée et/ou la sortie (qui a envoyé quoi, combien et à qui). Les compromis entre différentes solutions incluent des pools protégés mono- ou multi-actifs et le degré de confidentialité. Des exemples incluent Zcash, Namada, etPénombre.
  • Identité: La confidentialité est non négociable pour toute solution qui exige que nous connectons notre identité hors-chaîne à notre identité sur-chaîne ou que nous essayons de stocker des documents d'identité sur-chaîne. Il y a plusieurs tentatives de la part du secteur privé (comme Preuve de passeport et Holonyme) ainsi que l'intérêt croissant des gouvernementspour soutenir des solutions d'identité numérique respectueuses de la vie privée.
  • Gouvernance: L'idée d'un vote privé sur la chaîne est de cacher qui a voté quoi et de garder le décompte total privé jusqu'à la fin du vote afin de ne pas influencer la décision de vote de chaque individu. Le graphique ci-dessous répertorie quelques exemples avec des fonctionnalités et des hypothèses de confiance variables :

  • Aperçu de certaines solutions existantes (source)

De nombreux cas d'utilisation dépendent cependant de l'état partagé et cela devient beaucoup plus difficile lorsque nous essayons d'étendre la confidentialité à faible confiance à ces cas d'utilisation polyvalents.

Une autre chose à noter est que bien que les cas d'utilisation spécialisés (paiements, vote, identité, etc.) puissent fonctionner de manière isolée, ils exigent des utilisateurs de passer entre des ensembles protégés (zones de confiance) pour différents cas d'utilisation. Cela est suboptimal carLa plupart des informations sont divulguéeslors des déplacements entrants et sortants d'un ensemble protégé.

Par conséquent, l'objectif devrait être de permettre la confidentialité pour le calcul général (tous les cas d'utilisation, y compris ceux qui nécessitent un état partagé), élargir l'ensemble protégé et ajouter des contrôles de gestion d'accès granulaires (expressivité).

Comment pouvons-nous évaluer différentes solutions ?

Alors que l'objectif final est clair, le chemin pour y parvenir est long. En attendant, nous avons besoin de cadres pour évaluer les solutions actuelles et les compromis qu'elles font. Nous pensons que l'espace des compromis peut être divisé en trois grandes catégories :

  1. Qu'est-ce que la confidentialité - Différents types de confidentialité liés aux blockchains :
  1. Entrées privées (messages)
  2. Sorties privées (changements d'état)
  3. Contreparties privées
    1. Utilisateurs
    2. Fonction
    3. Programme

Plus une solution peut cocher de cases, mieux c'est. Idéalement, vous auriez toutes ces fonctionnalités, mais cela nécessite souvent de faire des compromis. La différence entre la fonction et la confidentialité du programme est que certains systèmes permettent de cacher quelle fonction a été appelée (par exemple, la logique d'enchère utilisée par l'utilisateur), mais révèlent toujours le programme avec lequel l'utilisateur a interagi. La confidentialité du programme est une forme plus stricte de cela, où tous les appels de fonction sont privés avec le programme avec lequel l'utilisateur a interagi. C'est également dans cette catégorie que se situe la discussion sur l'anonymat (qui) par rapport à la confidentialité (quoi).

Il est important de noter que l'utilisateur a la possibilité de divulguer sélectivement certaines (ou toutes) de ces informations à certaines parties, mais s'il n'y en a aucune qui est privée par défaut, l'utilisateur n'a pas cette option.

  1. Programmabilité - À quelles fins pouvez-vous utiliser la confidentialité ?

Cette catégorie se concentre sur la programmabilité du calcul privé et sur ses limites :

  • Pouvez-vous effectuer des calculs sur des données chiffrées ? Y a-t-il une composition entre les programmes privés ?
  • Les états privés et publics peuvent-ils interagir de quelque manière que ce soit ? Quelles sont les limites et les compromis à cela ?
  • Quelles limites y a-t-il à la complexité des programmes que vous pouvez avoir (limites de gaz, expressivité, etc)?

Comme mentionné précédemment, de nombreuses applications (dans le monde réel) nécessitent un état partagé, ce qui est difficile à réaliser de manière minimisée en termes de confiance. Il y a beaucoup de travail et de recherche en cours dans ce domaine pour nous aider à passer de solutions de confidentialité spécifiques à une application qui ne nécessitent que des états locaux (par exemple les paiements) à une confidentialité programmable à usage général avec un état partagé.

La programmabilité concerne également le fait d'avoir des outils granulaires pour divulguer sélectivement certaines informations et révoquer l'accès si nécessaire (par exemple, lorsqu'un employé démissionne, nous voulons nous assurer qu'il n'a plus accès à des informations spécifiques à l'entreprise ou à d'autres informations sensibles)

  1. Fiabilité des garanties de confidentialité - Dans quelle mesure la confidentialité est-elle fiable ?

La question centrale est : Dans quelle mesure pouvons-nous être certains que ce qui est privé aujourd'hui le restera dans le futur (vie privée future) et quels sont les garanties qui le soutiennent ?

Cela inclut des choses telles que:

  • Quelles informations (le cas échéant) l'utilisateur doit-il partager avec un tiers de confiance ou un intermédiaire ? Quelles garanties existent-il que l'intermédiaire se comportera comme prévu ?
  • Quelle est la taille de l'ensemble protégé? (Multichain > Réseau (L1/L2) > Application > Actif unique)
  • Quels sont les risques de censure? (Application vs confidentialité de la couche de base)
  • Le système de preuve est-il une preuve quantique ?
  • Le système de preuve nécessite-t-il une configuration de confiance ? Si oui, combien de participants y a-t-il eu ?
  • Le système a-t-il la confidentialité par défaut ou existe-t-il d'autres incitations pour maximiser le nombre d'interactions au sein de l'ensemble protégé ?

Comme nous pouvons le voir ci-dessus, cette catégorie comprend à la fois des questions techniques (par exemple, le schéma de preuve choisi) et des questions basées sur la conception (par exemple, l'ajout d'incitations qui augmentent la taille de l'ensemble protégé).

Comment cette structure de compromis se rapporte-t-elle aux quatre questions présentées au début du post?

  • Qu'est-ce qui peut être révélé et à qui si désiré? Cette question concerne ce qui est privé et programmable. Si toutes les informations sont publiques par défaut, alors le seul choix des utilisateurs en ce qui concerne la confidentialité est de participer ou non au réseau. Nous avons besoin de la confidentialité par défaut pour avoir la possibilité de divulguer (au minimum la confidentialité vis-à-vis des autres utilisateurs/observateurs externes). La programmabilité peut être représentée par des règles de divulgation granulaires, c'est-à-dire à qui, quand, quoi et comment les informations sont divulguées (et révoquées).
  • Qui a le pouvoir de révéler des informations? Cela est surtout lié à la force des garanties de confidentialité et est plus fort lorsque seul l'utilisateur a le pouvoir de partager des informations (confidentialité minimisée par la confiance).
  • Que faut-il révéler et à qui pour que le système fonctionne ? Concerne principalement la programmabilité. Idéalement, vous devez révéler le moins d’informations possible tout en étant capable de calculer sur un état partagé, d’avoir une composabilité entre différents programmes et d’être capable d’établir de nouvelles relations de confiance. Dans la pratique, ce n’est pas le cas (aujourd’hui du moins) et certains arbitrages doivent être faits.
    • En prenant du recul pendant une seconde au-delà des blockchains, les preuves à divulgation nulle pourraient apporter un changement de paradigme à cet aspect de la vie privée car elles nous permettent de prouver qu'une chose est vraie sans avoir à révéler un excès d'informations. Par exemple, lors de la location d'un appartement, nous devons prouver au propriétaire potentiel que nous avons des revenus suffisants pour effectuer les paiements de location. Aujourd'hui, cela nous oblige à envoyer l'intégralité de notre relevé bancaire, ce qui révèle beaucoup d'informations supplémentaires. À l'avenir, cette relation de confiance pourrait être construite sur la base d'une preuve à divulgation nulle succincte.
  • Quelles garanties existe-t-il que ce qui est privé aujourd'hui le restera demain ? La notion de « confidentialité future » est principalement liée à la solidité des garanties de confidentialité. Des ensembles protégés plus importants aideront à cela et rendront plus difficile l'extraction d'informations par des observateurs extérieurs. Accorder moins de confiance aux intermédiaires peut aider, mais pas nécessairement, car même si les utilisateurs ont un contrôle total sur leurs données, leurs clés pourraient être compromises, des données pourraient être révélées involontairement, ou des données révélées pourraient être copiées. Ce domaine reste relativement inexploré et peu étudié, mais il gagnera en importance à mesure que la confidentialité dans les réseaux blockchain sera plus largement adoptée.

Résumé

En fin de compte, cela revient à savoir qui devrait avoir le contrôle sur les données à partager - les utilisateurs ou les intermédiaires. Les blockchains tentent d'augmenter la souveraineté individuelle, mais c'est un combat difficile étant donné que le contrôle est finalement le pouvoir, et les luttes de pouvoir sont compliquées. Cela se rapporte également à l'aspect réglementaire et à la conformité - une grande raison pour laquelle la confidentialité non intermédiée ou à confiance minimisée sera difficile (même si nous résolvons les obstacles techniques).

Aujourd’hui, la discussion est largement centrée sur la confidentialité des cas d’utilisation financière (paiements, transferts, swaps, etc.) - en partie parce que c’est là que se trouve la plupart des adoptions. Cependant, nous dirions que les cas d’utilisation non financiers sont tout aussi importants, sinon plus, que les cas financiarisés et qu’ils n’ont pas la même prétention. Les jeux qui nécessitent des entrées privées ou des solutions d’État (poker, cuirassé, etc.) ou d’identité où l’individu souhaite conserver son document original en toute sécurité peuvent constituer de puissantes incitations à normaliser la confidentialité dans les réseaux blockchain. Il est également possible d’avoir différents niveaux de confidentialité au sein d’une même application pour différentes transactions ou de révéler certaines informations si certaines conditions sont remplies. La plupart de ces domaines restent sous-explorés aujourd’hui.

Dans un monde idéal, les utilisateurs ont une pleine expressivité de ce qui est privé et à qui, en plus de garanties solides que ce qui est programmé pour être privé le reste. Nous examinerons de plus près les différentes technologies qui permettent cela et les compromis entre elles dans la deuxième partie de notre série sur la confidentialité.

La transition vers une informatique généraliste privée et minimisée en matière de confiance sur les blockchains sera longue et difficile, mais cela en vaudra la peine à la fin.

Avertissement :

  1. Cet article est repris de [.équilibre]Titre original [Que voulons-nous réellement dire lorsque nous parlons de confidentialité dans les réseaux blockchain (et pourquoi est-ce difficile à réaliser)?], Tous les droits d'auteur appartiennent à l'auteur original [Hannes Huitula]. S'il y a des objections à cette reproduction, veuillez contacter le Gate Apprendreéquipe, et ils s'en occuperont rapidement.
  2. Clause de non-responsabilité: Les points de vue et opinions exprimés dans cet article sont uniquement ceux de l'auteur et ne constituent aucun conseil en investissement.
  3. Les traductions de l’article dans d’autres langues sont effectuées par l’équipe de Gate Learn. Sauf mention contraire, il est interdit de copier, de distribuer ou de plagier les articles traduits.
Empieza ahora
¡Regístrate y recibe un bono de
$100
!