zk-STARKs

Avancé
Il existe deux types populaires de preuves zero-knowledge (zk), parfois également appelées protocoles zk ou preuves à connaissances nulles, les SNARKs et les STARKs. Une preuve zero-knowledge est une méthode de vérification cryptographique par laquelle une partie (le prouveur) peut prouver à l’autre partie (le vérificateur) qu’une déclaration donnée est vraie sans avoir à fournir d’autres informations que le fait que la déclaration est effectivement vraie.
Zk-STARK est l’acronyme de « zero-knowledge succinct transparent arguments of knowledge ». Les zk-STARK ont été conçus par Eli-Ben Sasson, professeur au Technion-Israel Institute of Technology. Contrairement aux zk-SNARK qui dépendent d’une configuration initiale de confiance entre un prouveur et un vérificateur, les zk-STARK ne nécessitent pas de configuration initiale de confiance car elles s’appuient sur la cryptographie allégée par le biais de fonctions de hachage résistantes aux collisions. Cette approche élimine également les hypothèses de la théorie des nombres des zk-SNARK qui sont coûteuses en termes de calcul et qui peuvent théoriquement être attaquées par des ordinateurs quantiques.
En termes simples, les preuves zk-STARK présentent une structure plus simple en termes d’hypothèses cryptographiques. Toutefois, cela présente un inconvénient de taille : la taille de la preuve est importante, généralement 10 à 100 fois plus grande que celle des zk-SNARK. Une telle différence dans la taille des données les rend plus coûteuses et peut présenter des limites lors de l’utilisation de la technologie dans le domaine des cryptomonnaies et d’autres applications.

Les cas d’utilisation courants des preuves zero-knowledge sont ceux où la protection de la vie privée et la sécurité sont essentielles. L’authentification de l’identité en est un exemple. L’utilisation de certains services en ligne nécessite de prouver son identité et son droit d’accès à ces plateformes. Pour cela, il faut souvent fournir des informations personnelles telles que le nom, l’adresse électronique, la date de naissance, etc.

Les preuves zero-knowledge peuvent simplifier l’authentification pour les plateformes et les utilisateurs et utilisatrices. Une fois qu’une preuve zk a été générée à l’aide d’entrées publiques (données confirmant l’appartenance de l’utilisateur ou de l’utilisatrice à la plateforme) et d’entrées privées (coordonnées de l’utilisateur ou de l’utilisatrice), l’utilisateur ou l’utilisatrice peut simplement la présenter pour authentifier son identité chaque fois qu’il ou elle a besoin d’accéder au service. Cela améliore l’expérience des utilisateurs et utilisatrices et libère les organisations de l’obligation de stocker d’énormes quantités d’informations personnelles.