Polygon ID : la solution Zero-Knowledge pour protéger votre identité

polygon id identite zk

La vérification de l'identité est un concept omniprésent pratiquement dans tous les aspects de notre vie aujourd'hui. L'utilisation de services en ligne, l'ouverture d'un compte bancaire, l'obtention d'un emploi, toutes ces choses nécessitent de prouver votre identité.

Cependant, les systèmes traditionnels de gestion de l’identité reposent depuis toujours sur des intermédiaires centralisés qui délivrent, détiennent et administrent nos identifiants et nos attestations. Cela signifie que nous ne pouvons pas contrôler nos données d’identité ou décider qui a accès à nos informations personnelles et quel accès ces parties ont.

Pour résoudre ces problèmes, l’idée d’une identité décentralisée construite sur des blockchains publiques comme Ethereum devient de plus en plus importante. L’identité pseudonyme permet aux individus de gérer leurs déclarations liées à l’identité de manière transparente facilement. Vous pouvez créer vos identifiants et les revendiquer ou détenir vos attestations sans dépendre d’autorités centrales comme les entreprises privées ou les gouvernements.

Avec la conviction de donner aux gens un contrôle ferme sur leurs identités numériques, Polygon a travaillé sur le projet Polygon ID, une alternative d'identité auto-souveraine qu'on essaiera d'expliquer dans cet article.

Qu'est-ce que Polygon ID ?

Polygon ID est une des premières solutions d'identité auto-souveraine utilisant la technologie Zero-Knowledge Proof (preuve à divulgation nulle de connaissance) pour permettre une confirmation de l'identité sécurisée et on-chain. Adapter une solution comme cela sur une blockchain, signifie que toutes les DApps ou DAOs basés sur cette dernière pourront utiliser cette alternative pour attester et vérifier qu'il s'agit bien de vous sans révéler vos données.

Navigation privée

Le concept est novateur et souhaite préserver la vie privée. POLYGON ID repose sur 4 grands principes :

  • Décentralisation : qui est l’un des fondements de la blockchain. Ici et pour aller plus loin, le but est de redonner aux utilisateurs le pouvoir sur leur identité, sans passer par un intermédiaire.
  • Zéro connaissance : c’est-à-dire que par le protocole de sa blockchain, POLYGON ne divulgue aucune information à caractère privé.
  • Confiance : l’identité est prouvée grâce à l’outil ZK et différentes informations peuvent être utilisées pour apporter une validation de l’identité.
  • Zéro autorisation : la véracité des déclarations d’identité est vérifiée sans aucun intermédiaire.

De plus, le protocole sera open source, ce qui signifie que tout autre développeur pourra l'exploiter pour créer ses propres cas d'utilisation et applications personnalisées.

Que sont les Zero-Knowledge Proofs (ZKP) ?

Si vous utilisez un smartphone, alors vous utilisez surement des applications qui collectent et revendent vos données personnelles telles que vos recherches, votre position géographique, vos préférences, etc.

La nécessité d'une alternative qui vous rend le pouvoir sur vos propres données est donc évidente. Une alternative utilisant la technologie à connaissance zéro (ZKP) est approprié dans ces cas pour limiter l'accès a vos données aux applications qui ont besoin de vérifier vos renseignements pour fournir leurs services.

Une preuve à connaissance zéro est une méthode par laquelle une partie (l'utilisateur) peut prouver à une autre partie (le vérificateur) qu'une déclaration donnée est vraie sans transmettre tout élément supplémentaire autre que le fait que la déclaration est effectivement vraie. En d’autres mots, la connaissance zéro vous permet de vous authentifier et de communiquer sur internet sans révéler vos données telles que votre nom, votre mot de passe, votre adresse électronique, etc.

Cela vous semble-t-il encore difficile à comprendre ? Nous avons un article complet expliquant la preuve à divulgation nulle de connaissance ici.

Polygon ID en utilisation

Ce produit cherche donc à donner aux utilisateurs un pouvoir total sur leurs données, avec cette alternative, vous n’avez pas besoin de divulguer des renseignements sur vous-même. Les plateformes que vous utilisez sur le Web peuvent vérifier certains aspects de votre identité sans voir ni posséder les renseignements personnels eux-mêmes.

Par exemple, si vous avez essayé d'acheter des cryptomonnaies avec votre carte de crédit, vous avez probablement constaté que la majorité des solutions vous demandent forcément de présenter une pièce d'identité délivrée par votre gouvernement pour prouver votre identité. Dans ce cas-là, ces entreprises conservent ces renseignements et peuvent les utiliser ultérieurement sans que vous le sachiez.

Avec Polygon ID, ces informations personnelles sont chiffrées et stockées on-chain (sur la blockchain), de sorte que seul le propriétaire initial peut y accéder. Dans notre cas, l'entreprise où vous allez acheter vos cryptomonnaies, devra envoyer une requête sous forme de question, pour interagir avec vos données et obtenir une réponse binaire, “Oui ou Non” pour savoir si l'individu est bien celui qu'il prétend être.

Ce moyen crée également la possibilité de construire une réputation entièrement pseudonyme et vérifiable. Toute personne apportant une valeur ajoutée à une organisation particulière peut être récompensée en échange de ses efforts, soit financièrement soit par du pouvoir de décision au sein de leur écosystème.

Pour prendre en charge toutes ces fonctionnalités, l’application sera structurée comme un ensemble d’outils et de fonctionnalités composées des éléments suivants :

  • Polygon ID Wallet app : un ensemble de kits consommateurs et développeur open-source à intégrer ou à labelliser pour des applications personnalisées.
  • Polygon ID Platform : une plateforme ouverte et publique que les développeurs et les organisations peuvent utiliser pour définir et gérer le cycle de vie de confiance de leurs applications et d'autres exigences, telles que les preuves de connaissance zéro (ZKP), les sources de confiance, etc.
  • Polygon ID Connect : plateforme de service public pour intégrer l'accès à travers l'application native.

L'intégration des développeurs et des partenaires s'effectue via la boîte à outils client ID, qui comprendra des applications natives, des SDK et des solutions open sources. La vérification confidentielle sur la chaîne est effectuée à l'aide du zkProof Request Language, tandis que les utilisateurs peuvent émettre des “Claims” (revendications/justificatif) par le biais de relais, un modèle qui réduit le coût de production.

Polygon ID pour les organisations

Depuis le 22 juin, la Polygon DAO intègre cet outil dans ses processus de gouvernance. La DAO exploite cet outil pour permettre une participation à la gouvernance résistante aux attaques Sybil (attaques sur la multiplication des identités/comptes). La DAO permettra une confirmation privée par défaut des personnes, en fournissant une adhésion à la DAO et une preuve l’identité des personnes à utiliser dans l’écosystème.

Polygon ID crée également la possibilité de construire une réputation entièrement pseudonyme et vérifiable. Comme on a vu, toute personne apportant une valeur ajoutée à une organisation particulière peut être récompensée avec un “justificatif”, qu'on appelle “Claim” dans le réseau, en échange de ses efforts. Ces “Claim” peuvent ensuite servir de base à des incitations financières et à des pouvoirs de décision au sein de l'écosystème.

D’après Polygon, seules les données hachées seront stockées par les DAOs, afin de les comparer avec les données hachées générées après une validation réussie. Aucun élément personnel ne sera stocké sans chiffrement préalable (ni par le fournisseur de services ni par le réseau).

Pour y parvenir à un outil facile d'utilisation permettant un large éventail de fonctionnalités, les éléments suivants ont été utilisés :

  • Le protocole Iden3 : un projet open source offrant une solution complète de gestion de l'identité décentralisée sur les blockchains publiques.
  • CircomZK toolkit : un nouveau langage spécifique pour définir des circuits arithmétiques qui peut être utilisé pour générer des preuves à connaissance zéro (ZKP).

L'Expressible claim standard

Basée sur ce que Polygon appelle les “Expressible Claim Standard” ou tout simplement “Claims”, cette solution est censée offrir des avantages par rapport à d’autres formes de vérification numérique telles que les NFT et les Verifiable Credentials (VC).

Si les NFT sont devenus omniprésents dans le monde du Web3, ils n'ont pas la confidentialité ni l'évolutivité nécessaire pour en faire une alternative de vérification efficace. Les Verifiable Credentials, en revanche, offrent un degré de confidentialité très élevé, car ils permettent une divulgation sélective et peuvent prendre en charge la technologie ZK. Cependant, elles sont limitées en termes d'expressivité et de compossibilité, des caractéristiques requises pour mettre en œuvre des solutions de validation dans des applications complexes.

Les Expressible Claim Standards permettent d'exprimer des attributs d'identité sous forme de Claims (revendications) qui vont être utilisés pour générer une preuve zk-SNARK, afin d'interagir de manière confidentielle avec des contrats intelligents, des DEX ou tout autre application décentralisée (DApp).

Qu'est qu'un zk-SNARK

Zk-SNARK est un acronyme qui signifie “Zero-Knowledge Succinct Non-Interactive Argument of Knowledge. Et en français, un Zk-SNARK est une preuve cryptographique qui permet à une partie de prouver qu'elle possède certaines informations sans les afficher. Cette preuve est rendue possible grâce à une paire de clés secrètes créées avant que la transaction n'ait lieu.

Techniquement, mais simplement, un zk-SNARK est partagé en trois parties principales :

Un générateur de clés qui prend un paramètre “secret” et un programme qui ensuite va générer deux clés publiques : une clé de preuve et une clé de vérification.

L’utilisateur : prends comme entrée la clé de preuve, un questionnaire public (ce que l’utilisateur doit prouver) et les renseignements privés (ce qu’il a répondu). Avec ça, l’algorithme génère la preuve que l’utilisateur connaît bien les “renseignements” demandés sans les préciser publiquement.

Le vérificateur (Le produit que vous utilisez) : avec la clé de “vérification”, le questionnaire et la preuve renvoie vrai si l'utilisateur connaît bien les “renseignements” et faux dans le cas contraire.

Il faut noter ici que le paramètre “secret”, qu'on appelle communément “lambda” rend parfois l'utilisation des zk-SNARKs très compliquée. La raison en est que quiconque connaît ce paramètre peut générer de fausses preuves. Ainsi, l'exécution du générateur nécessite un processus très sécurisé pour s'assurer que personne n'apprend et n'enregistre le paramètre nulle part.

Pourquoi est-ce si important ?

Chaque minute de chaque jour, des milliards de personnes génèrent consciencieusement des téraoctets de données, de recherches Google, de courriers électroniques, de messages de discussion, des vidéos, etc. Ces données ont une valeur monétaire directe ou peuvent être utilisées pour alimenter des processus commerciaux.

Cependant, vous n'avez que peu ou pas de droits de propriété sur les documents numériques que vous créez ou sur la valeur qui en découle. Tout est propriété du prestataire de services et des entreprises qui s'en servent pour monétiser leurs fonctionnalités.

La Blockchain offre une alternative pseudonyme, qui rend la propriété des données aux individus. Sur un registre distribué public, les données sont répliquées sur plusieurs nœuds non reliés entre eux. Aucun nœud ne peut agir individuellement et prendre le pouvoir de vos données. En ajoutant les ZKP à la décentralisation de la Blochchain, nous disposons d’un outil impressionnant pour créer un instrument de souveraineté numérique très puissant.

Roadmap Polygon ID

Polygon ID est actuellement en utilisation sur la Polygon DAO, mais le produit est toujours en cours de développement. Ce dernier sera structuré comme un ensemble d’outils et d’exemples permettant aux développeurs d’apprendre, de tester et d’intégrer leurs DApps facilement.

Comme nous avons vu, le catalogue de produits Polygon ID est constitué de 3 principaux outils, ID Wallet app, ID Platform et ID Connect.

La roadmap vient de finir son Q3 2022, ou nous avons eu la sortie complète de la plateforme ID et des SDK pour les développeurs. Le protocole de communication P2P et le service de relais nécessitaient plus de travail, donc ils ont été reportés pour le Q4 2022 / Q1 2023.

Vous pouvez suivre l'avance du projet directement sur twitter bien sûr le blog officiel.

Conclusion

Même si une grande partie de l’écosystème crypto n’acceptera pas ce type de produit. Je pense qu’une solution d’identité numérique en accord avec les législations anticorruptions dans le monde est la nécessité de l’heure, surtout si on souhaite une adoption massive des cryptomonnaies.

Utiliser la technologie ZK me semble une des meilleures options pour garantir la sécurité des donnes des utilisateurs tout en facilitant l’authentification. La technologie ZK a prouvé son utilité sur le Web2 et sur les réseaux privés. L’adapter aux registres distribués publics me parait une évolution significative dans l’écosystème et un grand pas pour le projet Polygon, qui donne plus de pouvoir à ses utilisateurs et en fait une de ses priorités.