Présentation de Stoffel MPC

Stoffel MPC est une plateforme de computation multi-partie (MPC) qui vise à rendre les applications de préservation de la vie privée accessibles aux développeurs. La version 0.1.0 de Stoffel MPC a été lancée avec l'objectif de permettre aux développeurs de créer des applications qui traitent des données privées sans que les parties impliquées n'aient accès aux données complètes.

Fonctionnement de l'expérience

L'expérience consiste à simuler 100 participants à une étude génomique qui contribuent à un calcul d'agrégat sans que les données complètes soient collectées. Chaque participant génère des valeurs synthétiques de SNP (Single Nucleotide Polymorphism) et les partage avec les parties MPC. Les parties MPC calculent ensuite les comptes d'allèles agrégés et un score pondéré sans avoir accès aux données complètes.

Comparaison avec le chiffrement homomorphique

La computation multi-partie (MPC) et le chiffrement homomorphique (FHE) sont deux approches qui permettent de calculer sur des données sans exposer les entrées sous-jacentes. Cependant, elles utilisent des modèles différents. Le FHE nécessite une politique de décryptage, tandis que la MPC nécessite plusieurs parties indépendantes pour communiquer et rester disponibles pendant le calcul.

Implémentation technique

L'expérience utilise trois types de composants : des processus clients natifs qui représentent les utilisateurs ou les appareils mobiles, des parties MPC qui reçoivent les parts des clients et exécutent le calcul privé, et un coordinateur qui autorise les participants et gère la découverte. Le code source de l'expérience est disponible sur github.com/vishakh/stoffel-test. Le langage utilisé est StoffelLang, qui permet de marquer les valeurs comme secrètes et de les partager pendant le calcul.

// Exemple de code StoffelLang
   // Définition d'une valeur secrète
   secret x = 5;
   // Partage de la valeur secrète
   share(x) avec les parties MPC;
   

Les résultats de l'expérience montrent que la computation multi-partie peut être utilisée pour sécuriser les études génomiques sans collecter les données complètes. Cela ouvre de nouvelles perspectives pour la protection de la vie privée dans les applications de génomique.