honnêtement ? J'ai pensé au problème de la dégradation de la vie privée sur Midnight ces derniers jours et je ne trouve vraiment personne d'autre en parler, ce qui signifie soit que je suis sur quelque chose d'important, soit que j'ai regardé des livres blancs trop longtemps et perdu le fil 😂

laisse-moi expliquer ce que signifie réellement la dégradation de la vie privée, car j'ai inventé le terme moi-même et je dois le définir soigneusement avant que l'argument ne fasse sens.

la dégradation de la vie privée est le processus par lequel la protection de la vie privée pratique offerte par un système protégé s'affaiblit progressivement au fil du temps, car l'accumulation d'observations de chaînes publiques permet aux observateurs extérieurs de faire des inférences probabilistes de plus en plus précises sur l'état privé — sans jamais rompre une seule garantie cryptographique.

la garantie cryptographique reste intacte tout au long. aucune preuve n'est brisée. aucune clé privée n'est compromise. aucun circuit ZK n'est violé.

la confidentialité s'érode lentement de toute façon.

et je pense que c'est l'un des risques à long terme les plus importants auxquels Midnight est confronté et que presque personne ne prend actuellement au sérieux.

laisse-moi expliquer pourquoi avec soin, car cela nécessite de comprendre comment l'inférence fonctionne réellement contre les systèmes de confidentialité.

au premier jour de Midnight, un observateur sophistiqué regardant la chaîne publique voit très peu. un peu d'activité SPO. quelques transactions précoces. un état public sparse avec un signal limité. l'observateur a presque aucune base pour inférer ce qui se passe dans l'état privé parce qu'il y a presque aucun historique de chaîne publique à partir duquel raisonner.

avance rapide de trois ans. le réseau a traité des centaines de millions de transactions. la chaîne publique a accumulé un énorme historique d'événements de franchissement de frontière — chaque fois que l'état privé interagissait avec l'état public, chaque bloc SPO, chaque déploiement d'application, chaque paiement de frais, chaque vote de gouvernance. aucun de cet historique ne révèle directement l'état privé. mais tout cela est de l'information.

et l'information s'accumule.

un modèle d'apprentissage automatique entraîné sur trois ans de données de chaîne publique Midnight est fondamentalement un moteur d'inférence plus puissant qu'un analyste humain avec une feuille de calcul. il peut identifier des modèles dans le timing et la fréquence des transactions protégées qui se corrèlent avec des types d'application spécifiques. il peut regrouper les adresses de portefeuille par signature comportementale même lorsque le contenu du portefeuille est invisible. il peut identifier le graphe réseau des applications et des utilisateurs à travers leurs interactions d'état public même lorsque le contenu de la transaction est parfaitement caché.

le modèle ne sait pas ce que contient une transaction privée spécifique. il sait à quelle catégorie d'activité elle est le plus susceptible de représenter sur la base de tout ce qui est observable à propos de son contexte.

cette inférence probabiliste n'est pas une rupture cryptographique. c'est un problème de science des données appliqué à un ensemble de données publiques. et les ensembles de données publiques deviennent plus grands et plus utiles pour l'inférence avec le temps, pas plus petits.

voici un exemple concret de ce que je veux dire.

imaginez une application Midnight qui gère des demandes d'assurance médicale privées. l'application traite des transactions protégées lorsque les utilisateurs soumettent des demandes et produit des mises à jour d'état public lorsque les demandes sont approuvées ou refusées. la mise à jour d'état public ne révèle pas ce que la demande était. elle enregistre simplement qu'un événement de demande a eu lieu.

au premier jour, cette mise à jour d'état public est presque non informative. un événement de demande parmi une poignée d'utilisateurs précoces. rien à comparer.

après trois ans, l'observateur dispose d'une base de données de millions d'événements de demande avec leurs horodatages, leurs tailles, leur timing par rapport à d'autres événements, leurs modèles de regroupement, l'historique comportemental des portefeuilles impliqués. il peut entraîner un modèle sur cette base de données qui prédit les catégories de demande à partir des métadonnées observables avec une précision significative.

ils ne peuvent toujours pas lire les données médicales privées. mais ils peuvent vous dire avec une confiance raisonnable si un événement de demande spécifique est plus susceptible d'être un renouvellement d'ordonnance de routine ou une intervention majeure ou une consultation en santé mentale — basé uniquement sur le contexte de chaîne publique observable autour de cet événement.

c'est la dégradation de la confidentialité. les données privées n'ont jamais bougé. la capacité d'inférence a simplement grandi jusqu'à ce que la garantie de confidentialité devienne une vérité technique avec une signification pratique limitée.

et voici ce qui rend ce problème particulièrement difficile à résoudre.

la plupart des échecs de confidentialité ont une solution. si la solution est mise en œuvre, la confidentialité est restaurée. un protocole fuyant peut être corrigé. une clé compromise peut être renouvelée. un circuit défectueux peut être remplacé.

la dégradation de la confidentialité due à l'inférence accumulée de la chaîne publique n'est pas réparable après coup. les données accumulées ne peuvent pas être non observées. les modèles construits sur trois ans d'historique de chaîne publique ne peuvent pas être déconstruits. la capacité d'inférence qui se développe à mesure que la chaîne publique se développe est une caractéristique permanente d'un monde où la chaîne publique existe et où les modèles d'apprentissage automatique existent simultanément.

la seule défense contre la dégradation de la confidentialité est de concevoir les motifs d'interaction de la chaîne publique pour minimiser la fuite d'information dès le départ — avant que l'historique ne s'accumule, avant que les modèles ne soient formés, avant que la capacité d'inférence ne se développe.

après que l'historique existe, il est trop tard pour l'enlever. vous pouvez améliorer la confidentialité des transactions futures. vous ne pouvez pas réduire la valeur d'inférence de celles passées.

je continue à réfléchir à ce à quoi ressemble l'information minimale d'interaction de la chaîne publique en pratique.

la version naïve consiste simplement à minimiser la fréquence des franchissements de frontière. moins souvent l'état privé touche l'état public, moins d'historique de chaîne publique s'accumule. cela est directionnellement correct mais cela rencontre un problème. les applications qui ont besoin de produire des sorties vérifiables de l'extérieur — c'est-à-dire la plupart des applications financières et juridiques sérieuses — ne peuvent pas simplement minimiser les franchissements de frontière. tout l'intérêt est que certains faits doivent être vérifiables publiquement. l'application existe pour produire des sorties vérifiables à partir d'entrées privées.

vous ne pouvez pas minimiser les franchissements de frontière sans limiter ce pour quoi l'application est utile.

une direction plus sophistiquée est l'uniformité. si tous les événements de franchissement de frontière se ressemblent de l'extérieur — même taille, même motif de timing, même structure de preuve — alors la capacité de l'observateur à inférer la catégorie d'application ou le type de transaction à partir des métadonnées observables s'effondre. le modèle n'a rien sur quoi se regrouper. la capacité d'inférence reste minimale même à mesure que la base de données croît.

c'est la philosophie de conception derrière des choses comme les transactions à dénomination fixe dans les pièces de confidentialité. si chaque transaction a la même taille, la taille ne porte aucune information. l'uniformité détruit le signal.

appliquer l'uniformité au modèle d'application à usage général de Midnight est significativement plus difficile que de l'appliquer à un simple jeton de paiement. les applications ont des sorties diverses, des motifs de timing divers, des structures de preuve diverses. construire suffisamment d'uniformité dans l'empreinte de chaîne publique de la logique d'application arbitraire pour empêcher le regroupement pertinent à l'inférence n'est pas un problème qui a une solution générale propre.

la troisième direction est l'injection de bruit. produire délibérément de faux événements de franchissement de frontière qui sont indistinguables des réels. inonder la chaîne publique avec suffisamment de bruit pour que l'observateur ne puisse pas séparer le signal du bruit même avec un modèle sophistiqué.

l'injection de bruit fonctionne contre de nombreuses attaques d'inférence. elle a également des coûts réels. chaque événement de franchissement de frontière factice consomme de l'espace de bloc et de la capacité de traitement. à grande échelle, le budget de bruit nécessaire pour vaincre un modèle d'inférence bien financé n'est pas trivial. et l'injection de bruit est une course aux armements — à mesure que les modèles de l'observateur s'améliorent, le niveau de bruit nécessaire pour les contrer augmente.

la quatrième direction est celle que je trouve la plus intellectuellement intéressante et la plus pratiquement difficile. il s'agit de concevoir des applications de sorte que l'empreinte de la chaîne publique soit cryptographiquement non liée dans le temps.

sur une chaîne transparente, l'historique public d'une adresse de portefeuille est parfaitement lié. chaque transaction de cette adresse contribue à un enregistrement public continu qui peut être analysé de bout en bout.

sur Midnight, l'état privé est protégé mais les interactions d'état public peuvent toujours être liées si la même clé publique ou la même adresse de portefeuille apparaît plusieurs fois dans des événements de chaîne publique. le lien se fait au niveau public et non au niveau privé.

une véritable confidentialité contre l'inférence temporelle nécessite non seulement de protéger le contenu de la transaction mais aussi de briser la liaison temporelle de l'empreinte de la chaîne publique. en utilisant différentes clés publiques pour différentes interactions. déliant les interactions d'application les unes des autres au niveau public même lorsqu'elles représentent le même utilisateur ou portefeuille sous-jacent.

ce type d'unlinkabilité est techniquement réalisable. c'est aussi un fardeau significatif pour l'expérience utilisateur. gérer plusieurs relations de clés publiques non liées à travers plusieurs applications n'est pas quelque chose que les utilisateurs ordinaires font naturellement ou correctement sans un support d'outils extrêmement robuste.

et les utilisateurs les plus à risque des attaques d'inférence temporelle — ceux dont les modèles d'interaction avec une application de santé ou une application financière ou une application d'identité révèlent des informations sensibles par l'observation accumulée — sont précisément les utilisateurs les moins susceptibles d'avoir la sophistication technique pour gérer l'unlinkabilité correctement par eux-mêmes.

je veux être honnête sur les limites de cette analyse. je ne sais pas exactement à quel point l'inférence d'apprentissage automatique contemporaine contre les données publiques de la chaîne ZK est réellement puissante en pratique. le domaine des attaques de confidentialité contre les systèmes blockchain évolue rapidement, mais l'application spécifique au modèle d'état dual de Midnight n'est pas quelque chose qui a été largement publié car Midnight est encore au début.

ce que je sais, c'est que l'histoire de la technologie de confidentialité est remplie de systèmes conçus pour être sécurisés contre les capacités d'inférence de leur époque et qui sont devenus de plus en plus fuyants à mesure que les capacités d'inférence s'amélioraient autour d'eux.

les preuves ZK dans Midnight sont conçues pour être sécurisées contre les attaques cryptographiques actuelles et futures proches. elles sont probablement bien conçues à cet effet.

mais le problème de la dégradation de la confidentialité n'est pas une attaque cryptographique. c'est une attaque de science des données qui devient plus puissante à mesure que la chaîne publique se développe et que les outils d'analyse de grands ensembles de données s'améliorent.

ces outils s'améliorent plus rapidement que les hypothèses cryptographiques ne s'affaiblissent.

la chaîne publique est permanente. les capacités d'inférence qui se construisent contre elle ne restent pas immobiles.

concevoir des applications Midnight aujourd'hui sans réfléchir soigneusement à ce que l'empreinte de la chaîne publique de ces applications ressemblera après trois ans d'historique accumulé et après trois autres années d'amélioration des outils d'inférence — c'est concevoir pour le modèle de menace d'aujourd'hui et espérer que celui de demain sera le même.

cela ne va probablement pas arriver. 🤔

#NIGHT @MidnightNetwork $NIGHT