• 1000

Alexandria : Identité décentralisée


Contexte
: Projet Hackathon

Equipe

  • Thomas Bouder
  • Wassim Hanahem
  • Maxime Hagenbourger


Histoire du Projet

Un des problèmes principaux concernant notre identité sur Internet aujourd'hui réside dans l'obligation de révéler bien plus d'informations personnelles que cela n’est nécessaire pour pouvoir accéder à certains services. Si vous souhaitez prouver votre âge par exemple, on peut vous demander de fournir une pièce d'identité contenant votre date de naissance. Cependant, en faisant cela, vous révélez aussi le lieu de naissance, votre numéro de pièce d'identité, votre adresse, votre état civil complet... et vous dépendez du service pour qu'il ne divulgue pas ces informations ou même votre pièce d'identité.

L’essor des technologies blockchain et ZKP (Zero Knowledge Proof ou Preuve à Divulgation nulle de connaissance) offrent des solutions intéressantes en termes de gestion et de protection de l’identité sur internet. Alexandria, grâce aux technologies blockchain et ZKP (Zero Knowledge Proof ou Preuve à Divulgation nulle de connaissance), permet à n'importe quel utilisateur de prouver des aspects de son identité sans avoir à refaire de KYC sur les différents services et/ou à délivrer plus d’information que nécessaire.

Vous devez prouver à la SNCF que vous avez un statut particulier pour bénéficier d'une réduction ? Après un KYC réalisé une seule fois lors de votre inscription, prouvez uniquement que vous répondez aux critères sans divulguer de détails supplémentaires. Vérifier que vous êtes majeur ? Envoyez la preuve infalsifiable que vous l'êtes, sans donner votre âge ou votre date de naissance.

Mais aussi bien d’autres cas d’usage : prouver l’appartenance à un groupe sans avoir à en révéler la raison, prouver qu’on s’est rendu quelque part sans avoir à révéler le lieu, prouver que l’on a voté lors d’un scrutin sans révéler son vote, etc.

Alexandria nous permet enfin de contrôler plus précisément notre identité et débarrasse aussi les entreprises de processus longs et coûteux de vérification d'identité.


Les aspects techniques

Alexandria est une application décentralisée (dAPP) développée en React / Tailwind pour le front end et Golang pour le back end, basée sur des registres d'identité qui utilisent des STARKs (c'est pourquoi nous utilisons Cairo) pour vérifier les caractéristiques d'identité.

Nous utilisons les technologies ZKP pour générer des preuves sur des caractéristiques d’identité sans en révéler plus que nécessaire.

De plus, nous utilisons le système de connexion ouvert de Torus pour avoir un onboarding facile et fluide.

L’utilisateur doit vérifier son identité par le biais d'un processus KYC. Le fournisseur KYC peut alors ajouter les informations de l'utilisateur de manière chiffrée dans un registre correspondant à ce type de données (seule la clé privée de l’utilisateur déchiffrant cette donnée pourra ensuite prouver que sa données fait bien partie du registre).

Mise en oeuvre

Dans notre exemple de démonstration (voir vidéo), un utilisateur veut prouver à une société de réservation de billets de train qu'il peut bénéficier d'une réduction. Pour s'assurer qu'il est éligible, il exécute le programme Cairo qui vérifie le registre et s'assure que la personne est effectivement éligible. La preuve est ensuite envoyée au prover tandis que la sortie du programme sera envoyée à un contrat intelligent. Sur la base du hachage et des résultats du programme Cairo, nous pouvons maintenant calculer un fait qui peut être vérifié par le contrôleur. Si ce dernier confirme que le fait est bien réel, la personne aura confirmé qu'elle est éligible à une réduction et procédera au paiement.


Nos autres réalisations techniques


Aller plus loin


Contact