Les zk-SNARKs et les zk-STARKs expliqués
Accueil
Articles
Les zk-SNARKs et les zk-STARKs expliqués

Les zk-SNARKs et les zk-STARKs expliqués

Avancé
Publié le Feb 26, 2019Mis à jour le Feb 22, 2024
6m
La confidentialitĂ© a toujours Ă©tĂ© considĂ©rĂ©e comme une caractĂ©ristique importante au sein de la communautĂ© des crypto-monnaies. C'est un prĂ©curseur Ă  la fongibilitĂ©, nĂ©cessaire pour qu’une forme de monnaie soit largement utilisĂ©e. De plus, la plupart des dĂ©tenteurs d’actifs cryptographiques ne souhaitent pas que leurs avoirs et l’historique de leurs transactions soient entiĂšrement publics. Parmi les diffĂ©rentes techniques cryptographiques visant Ă  assurer la confidentialitĂ© des chaĂźnes de blocs, les preuves zk-SNARK et zk-STARK en sont deux exemples notables.

Le zk-SNARK reprĂ©sente l'argument de connaissance succinct non-interactif Ă  divulgation nulle de connaissance, et le zk-STARK reprĂ©sente l'argument de connaissance succinct transparent Ă  divulgation nulle de connaissance. Les preuves Zk-SNARK sont dĂ©jĂ  utilisĂ©es pour Zcash, le systĂšme de paiement blockchain de JP Morgan Chase, afin d’authentifier de maniĂšre sĂ©curisĂ©e les clients sur les serveurs. Bien que les zk-SNARK aient considĂ©rablement progressĂ© et soient maintenant bien Ă©tablis et adoptĂ©s, les preuves du zk-STARK sont dĂ©sormais prĂ©sentĂ©es comme une nouvelle version amĂ©liorĂ©e du protocole, qui rĂ©sout de nombreux inconvĂ©nients de la version prĂ©cĂ©dente des zk-SNARKs.


La parabole de la caverne d'Ali Baba

En 1990, le cryptographe Jean-Jacques Quisquater (avec d'autres collaborateurs) a publiĂ© un article intitulĂ© "Comment expliquer les protocoles Ă  divulgation nulle de connaissance Ă  vos enfants". Le papier introduisit le concept des preuves ZK et une parabole impliquant la caverne d'Ali Baba. Depuis sa crĂ©ation, la parabole a Ă©tĂ© adaptĂ©e plusieurs fois et nous en avons maintenant de nombreuses variantes. NĂ©anmoins, les informations fondamentales sont essentiellement les mĂȘmes.

Imaginons une grotte en forme d’anneau avec une seule entrĂ©e et une porte magique qui sĂ©pare deux chemins latĂ©raux. Pour franchir la porte magique, il faut murmurer les mots secrets appropriĂ©s. Imaginez qu'Alice (en jaune) veut prouver Ă  Bob (en bleu) qu'elle connaĂźt les mots secrets - tout en les gardant secrets. A cette fin, Bob accepte d'attendre dehors, pendant qu'elle entre dans la grotte et marche jusqu'au bout de l'un des deux chemins possibles. Dans cet exemple, elle dĂ©cide de passer par le chemin 1.

AprÚs un moment, Bob passe devant l'entrée et crie de quel cÎté il veut qu'Alice apparaisse (chemin 2 dans ce cas).

Si Alice connaĂźt vraiment le secret, elle se montrera sĂ»rement depuis le chemin qu’a choisi Bob.

Tout ce processus peut ĂȘtre rĂ©pĂ©tĂ© plusieurs fois afin de confirmer qu'Alice ne choisit pas le bon chemin par hasard.

La parabole de la Cave d’Ali Baba illustre ainsi le concept des preuves Ă  zĂ©ro connaissance, qui font partie des protocoles zk-SNARK et zk-STARK. De cette façon, les preuves ZK peuvent ĂȘtre utilisĂ©es pour prouver la possession de certaines connaissances sans en rĂ©vĂ©ler aucun dĂ©tail.


Les zk-SNARKs

Zcash est la premiĂšre utilisation unviversellement accessible du zk-SNARK. Alors que d'autres projets de protection de la vie privĂ©e tels que Monero utilisent des signatures en anneau et d'autres techniques (afin de crĂ©er efficacement un Ă©cran de fumĂ©e autour de qui envoie quoi), les zk-SNARKS modifient fondamentalement la façon dont les donnĂ©es sont partagĂ©es. La confidentialitĂ© de Zcash dĂ©coule du fait que les transactions sur le rĂ©seau peuvent rester cryptĂ©es  mais dont la validitĂ© reste vĂ©rifiĂ©e grĂące aux zero-knowledge proofs (preuves sans communication d’information). De cette façon, ceux qui appliquent des rĂšgles de consensus n’ont pas besoin de connaĂźtre toutes les donnĂ©es inhĂ©rentes Ă  chaque transaction. Notons cependant que les fonctionnalitĂ©s de confidentialitĂ© de Zcash ne sont pas actives par dĂ©faut, mais sont en rĂ©alitĂ© optionnelles et dĂ©pendent d’une configuration manuelle.

Les preuves Ă  divulgation nulle de connaissance (zero knowledge proof) permettent Ă  un individu de prouver Ă  un autre qu’une dĂ©claration est vraie, sans divulguer d’autres informations que la validitĂ© de la dĂ©claration. Les parties impliquĂ©es sont communĂ©ment appelĂ©es « prouveurs » et « vĂ©rificateurs », et l’attestation qu'elles dĂ©tiennent en secret s'appelle un « tĂ©moin ». L'objectif principal de ces preuves est de rĂ©vĂ©ler le moins de donnĂ©es possible entre les deux parties. En d'autres termes, on peut utiliser des preuves à divulgation nulle de connaissance pour prouver qu'on possĂšde certaines connaissances sans rĂ©vĂ©ler aucune information sur la nature des connaissances en elles-mĂȘmes.

Dans l'acronyme SNARK, «succinct» signifie que ces preuves sont de taille rĂ©duite et peuvent ĂȘtre rapidement vĂ©rifiĂ©es. "Non-interactif" signifie qu'il n'y a peu ou pas d'interaction entre le « prouveur » et le « vĂ©rificateur ». Les versions plus anciennes des protocoles avec divulgation nulle de connaissance exigent gĂ©nĂ©ralement que le prouveur et le vĂ©rificateur communiquent entre eux, et sont donc considĂ©rĂ©s comme des preuves zk «interactives». Mais dans les constructions «non interactives», les prouveurs et les vĂ©rificateurs ont seulement Ă  Ă©changer une preuve.

Actuellement, les preuves zk-SNARK dĂ©pendent d'une configuration sĂ©curisĂ©e initiale entre un prouveur et un vĂ©rificateur, ce qui signifie qu'un ensemble de paramĂštres publics est nĂ©cessaire pour construire des preuves à divulgation nulle de connaissance et, par consĂ©quent, des transactions privĂ©es. Ces paramĂštres ressemblent Ă  une rĂšgle de jeu, ils sont encodĂ©s dans le protocole et constituent l’un des facteurs nĂ©cessaires pour prouver la validitĂ© d’une transaction. Cependant, cela crĂ©e un problĂšme de centralisation potentiel car les paramĂštres sont souvent Ă©laborĂ©s par un trĂšs petit groupe.

Alors que la configuration publique initiale est fondamentale pour les implĂ©mentations zk-SNARK actuelles, les chercheurs s’efforcent de trouver d’autres solutions pour rĂ©duire le degrĂ© de confiance requis dans le processus. La phase de configuration initiale est importante pour Ă©viter les dĂ©penses falsifiĂ©es, car si une personne avait accĂšs au caractĂšre alĂ©atoire qui a gĂ©nĂ©rĂ© les paramĂštres, elle pourrait crĂ©er de fausses preuves qui auraient l’air valables pour le vĂ©rificateur. Dans Zcash, la phase de configuration initiale est ainsi appelĂ©e la cĂ©rĂ©monie de gĂ©nĂ©ration de paramĂštres (Parameter Generation Ceremony en anglais).
Passons maintenant Ă  la partie "ARguments" de l'acronyme. Les zk-SNARK sont considĂ©rĂ©s comme rationnels sur le plan informatique, ce qui signifie qu'un prouveur malhonnĂȘte a trĂšs peu de chances de tricher avec succĂšs. Cette propriĂ©tĂ© est appelĂ©e soliditĂ© ou soundness  et suppose que le prouveur dispose d'une puissance de calcul limitĂ©e. ThĂ©oriquement, un prouveur disposant de suffisamment de puissance de calcul pourrait crĂ©er de fausses preuves. C’est l’une des raisons pour lesquelles les ordinateurs quantiques sont considĂ©rĂ©s par beaucoup de personnes comme une menace pour les systĂšmes zk-SNARK et blockchain.

La derniĂšre piĂšce du casse-tĂȘte de l'acronyme est "of Knowledge" soit « de l’information », ce qui signifie qu'il n'est pas possible pour le prouveur de construire une preuve sans avoir rĂ©ellement l’information (ou le tĂ©moin) pour appuyer sa dĂ©claration.

Les preuves à divulgation nulle de connaissance sont rapidement vérifiables et nécessitent généralement beaucoup moins de données qu'une transaction Bitcoin standard. Ce qui ouvre la voie à l'utilisation de la technologie zk-SNARK comme solution de confidentialité et d'évolutivité.


Les zk-Starks

Les zk-STARKs ont Ă©tĂ© crĂ©Ă©s comme une version alternative des preuves zk-SNARKs et sont considĂ©rĂ©s comme une mise en Ɠuvre plus rapide et moins onĂ©reuse de la technologie. Mais plus important encore, les zk-STARKs ne requiĂšrent pas de configuration initiale de confiance (d'oĂč le «T» pour transparent).

Techniquement parlant, les Zk-STARKs ne nécessitent donc pas de configuration initiale sécurisée, car ils reposent sur une cryptographie plus symétrique via des fonctions de hachage résistantes aux collisions. Cette approche élimine également les hypothÚses sur le nombre-théorique de zk-SNARKs qui coûtent cher en calcul et sont théoriquement sensibles aux attaques des ordinateurs quantiques.

L'une des principales raisons pour laquelle les Zk-STARKs offrent une implémentation moins chÚre et plus rapide est que le nombre de tours de communication entre les prouveurs et les vérificateurs reste constant relativement à toute augmentation du calcul. En revanche, avec les  zk-SNARKs, plus le calcul requis est important, plus les parties doivent envoyer de messages dans les deux sens. Par conséquent, la taille globale des données de zk-SNARKs est beaucoup plus grande que celle des données contenues dans les preuves zk-STARKs.

Il semble Ă©vident que les zk-SNARKS et les zk-STARK rĂ©pondent Ă  une prĂ©occupation croissante des utilisateurs en matiĂšre de confidentialitĂ©. Dans le monde de la crypto-monnaie, ces protocoles ont un grand potentiel et pourraient constituer un moyen novateur d’adoption par le grand public.
Partager des publications
S’inscrire pour un compte.
Mettez vos connaissances en pratique en ouvrant un compte Binance dùs aujourd’hui.