La confidentialitĂ© a toujours Ă©tĂ© considĂ©rĂ©e comme une fonctionnalitĂ© prĂ©cieuse au sein de la communautĂ© des cryptomonnaies. C’est le prĂ©curseur de la fongibilitĂ©, nĂ©cessaire pour une forme de monnaie largement utilisĂ©e. De mĂȘme, la plupart des dĂ©tenteurs de crypto-actifs 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 blockchains, les preuves zk-SNARK et zk-STARK en sont deux exemples remarquables.

zk-SNARK signifie argument de connaissance succinct et non interactif sans connaissance, et zk-STARK reprĂ©sente un argument de connaissance succinct et transparent sans connaissance. Les preuves zk-SNARK sont utilisĂ©es par des projets de crypto-monnaie (tels que Zcash), sur des systĂšmes de paiement basĂ©s sur la blockchain et comme moyen d'authentifier en toute sĂ©curitĂ© les clients auprĂšs des serveurs. Mais alors que les zk-SNARK ont fait des progrĂšs significatifs pour ĂȘtre bien Ă©tablis et adoptĂ©s, les preuves zk-STARK sont dĂ©sormais prĂ©sentĂ©es comme la nouvelle version amĂ©liorĂ©e du protocole, corrigeant bon nombre des inconvĂ©nients prĂ©cĂ©dents des zk-SNARK.

La parabole de la caverne d'Ali Baba

En 1990, un article intitulĂ© « Comment expliquer les protocoles de connaissance zĂ©ro Ă  vos enfants » a Ă©tĂ© publiĂ© par le cryptographe Jean-Jacques Quisquater (avec d'autres collaborateurs). L'article introduit le concept de preuves zk avec une parabole impliquant la grotte d'Ali Baba. Depuis sa crĂ©ation, la parabole a Ă©tĂ© adaptĂ©e Ă  plusieurs reprises, et on en connaĂźt dĂ©sormais de multiples variantes. Pourtant, les informations sous-jacentes sont essentiellement les mĂȘmes.

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

Au bout d'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 apparaßtra de maniÚre fiable à partir du chemin nommé par Bob.

L’ensemble du 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 Caverne d'Ali Baba illustre le concept de preuves sans connaissance, qui font partie des protocoles zk-SNARK et zk-STARK. Les preuves ZK peuvent ĂȘtre utilisĂ©es pour prouver la possession de certaines connaissances sans rĂ©vĂ©ler aucune information Ă  leur sujet.

zk-SNARK

Zcash est l'un des premiers exemples de projets utilisant des zk-SNARK. Alors que d'autres projets de confidentialitĂ© comme Monero utilisent des signatures en anneau et d'autres techniques, zk-SNARK change 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 tout en Ă©tant vĂ©rifiĂ©es comme valides Ă  l'aide de preuves sans connaissance. Ainsi, ceux qui appliquent les rĂšgles de consensus n’ont pas besoin de connaĂźtre toutes les donnĂ©es sous-jacentes Ă  chaque transaction. Il convient de mentionner que les fonctionnalitĂ©s de confidentialitĂ© de Zcash ne sont pas actives par dĂ©faut mais sont plutĂŽt facultatives et dĂ©pendent d'une configuration manuelle.

Les preuves sans connaissance permettent Ă  un individu de prouver Ă  un autre qu'une dĂ©claration est vraie sans divulguer aucune information au-delĂ  de la validitĂ© de la dĂ©claration. Les parties impliquĂ©es sont communĂ©ment appelĂ©es un prouveur et un vĂ©rificateur, et la dĂ©claration qu'elles dĂ©tiennent en secret est appelĂ©e 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 de connaissance nulle pour prouver qu’on possĂšde certaines connaissances sans rĂ©vĂ©ler aucune information sur la connaissance elle-mĂȘme.

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

Actuellement, les preuves zk-SNARK dĂ©pendent d'une configuration initiale de confiance entre un prouveur et un vĂ©rificateur, ce qui signifie qu'un ensemble de paramĂštres publics est requis pour construire des preuves sans connaissance et, donc, des transactions privĂ©es. Ces paramĂštres sont presque comme les rĂšgles du jeu ; ils sont codĂ©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 potentiel de centralisation car les paramĂštres sont souvent formulĂ©s par un trĂšs petit groupe.

Bien qu’une configuration initiale fiable soit fondamentale pour les implĂ©mentations actuelles de zk-SNARK, les chercheurs s’efforcent de trouver d’autres alternatives afin de rĂ©duire le niveau de confiance requis dans le processus. La phase de configuration initiale est importante pour prĂ©venir les dĂ©penses contrefaites, car si quelqu'un avait accĂšs au caractĂšre alĂ©atoire qui a gĂ©nĂ©rĂ© les paramĂštres, il pourrait crĂ©er de fausses preuves qui semblaient valables au vĂ©rificateur. Dans Zcash, la phase de configuration initiale est connue sous le nom de cĂ©rĂ©monie de gĂ©nĂ©ration de paramĂštres.

Passons Ă  la partie « Arguments de connaissance » de l'acronyme. Les zk-SNARK sont considĂ©rĂ©s comme Ă©tant fiables sur le plan informatique, ce qui signifie qu'un prouveur malhonnĂȘte a trĂšs peu de chances de rĂ©ussir Ă  tromper le systĂšme sans avoir rĂ©ellement les connaissances (ou le tĂ©moin) pour Ă©tayer sa dĂ©claration. Cette propriĂ©tĂ© est connue sous le nom de soliditĂ© et suppose que le prouveur dispose d’une puissance de calcul limitĂ©e.

Théoriquement, un prouveur doté d'une puissance de calcul suffisante pourrait créer de fausses preuves, et c'est l'une des raisons pour lesquelles les ordinateurs quantiques sont considérés par beaucoup comme une menace pour les zk-SNARK (et les systÚmes blockchain).

Les preuves sans connaissance sont rapidement vĂ©rifiables et nĂ©cessitent gĂ©nĂ©ralement beaucoup moins de donnĂ©es qu'une transaction Bitcoin standard. Cela ouvre la voie Ă  l’utilisation de la technologie zk-SNARK Ă  la fois comme solution de confidentialitĂ© et d’évolutivitĂ©.

zk-STARK

Les zk-STARK ont Ă©tĂ© crĂ©Ă©s par Eli-Ben Sasson, professeur Ă  l'Institut de technologie Technion-IsraĂ«l. En tant que version alternative des preuves zk-SNARK, les zk-STARK sont gĂ©nĂ©ralement considĂ©rĂ©es comme une variante plus efficace de la technologie - potentiellement plus rapide et moins chĂšre, selon l'implĂ©mentation. Mais plus important encore, les zk-STARK ne nĂ©cessitent pas de configuration initiale fiable (d'oĂč le « T » pour transparent).

Techniquement parlant, les zk-STARK ne nécessitent pas de configuration initiale fiable car ils s'appuient sur une cryptographie plus simple grùce à des 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 calcul et théoriquement sujettes aux attaques des ordinateurs quantiques.

En d’autres termes, les preuves zk-STARK prĂ©sentent une structure plus simple en termes d’hypothĂšses cryptographiques. Cependant, cette nouvelle technologie prĂ©sente au moins un inconvĂ©nient majeur : la taille des preuves est plus grande que celle des zk-SNARK. Une telle diffĂ©rence dans la taille des donnĂ©es peut prĂ©senter des limites en fonction du contexte d’utilisation, mais c’est probablement quelque chose qui pourra ĂȘtre compris Ă  mesure que la technologie sera testĂ©e et Ă©tudiĂ©e plus en dĂ©tail.

Pensées finales

Il est clair que les zk-SNARK et les zk-STARK répondent aux préoccupations croissantes concernant la confidentialité. Dans le monde des cryptomonnaies, ces protocoles ont un grand potentiel et pourraient constituer une voie révolutionnaire vers une adoption généralisée.