Accueil
Glossaire
Preuves zero-knowledge

Preuves zero-knowledge

Avancé

Une preuve zero-knowledge (ou preuves à connaissances nulles), parfois également appelée protocole zk, est une méthode de vérification qui se déroule entre un prouveur et un vérificateur. Dans un système de preuve zero-knowledge, le prouveur est en mesure de prouver au vérificateur qu’il a connaissance d’un élément d’information particulier (tel que la solution d’une équation mathématique) sans révéler l’information elle-même. Ces systèmes de preuve peuvent être utilisés par les cryptographes modernes pour augmenter les niveaux de confidentialité et de sécurité.

The concept of a zero-knowledge proof was first described in a 1985 MIT paper, published by Shafi Goldwasser and Silvio Micali. They demonstrated that it was possible to prove some properties of a number without disclosing the number or any additional information about it. This paper also introduced the mathematically significant finding that interactions between a prover and a verifier could reduce the amount of information required to prove a given theorem. 

Une preuve zk doit satisfaire à deux exigences fondamentales, à savoir la complétude et la solidité. La complétude fait référence à la capacité du prouveur à démontrer qu’il connaît les informations pertinentes avec un degré élevé d’exactitude probable. Pour que la preuve soit solide, le vérificateur doit être en mesure de déterminer de manière fiable si le prouveur est effectivement en possession de l’information. Enfin, pour être véritablement zero-knowledge, la preuve doit être complète et solide sans que les informations en question ne soient jamais communiquées entre le prouveur et le vérificateur.

Les preuves zero-knowledge sont principalement utilisées pour des applications dans lesquelles la confidentialité et la sécurité sont essentielles. Les systèmes d’authentification, par exemple, peuvent utiliser les preuves zk pour vérifier les références ou les identités sans les divulguer directement. À titre d’exemple, elles peuvent être utilisées pour vérifier qu’une personne dispose d’un mot de passe pour un système informatique sans qu’il soit nécessaire de divulguer ce mot de passe. 

One prominent real-world use case of zero-knowledge proofs is to be found in the world of cryptocurrency and blockchain technology. Using a type of proof known as a zero-knowledge Succinct Non-interactive Argument of Knowledge (zk-SNARK), privacy-focused cryptocurrencies such as Zcash are able to offer blockchain transactions with increased levels of privacy to their users. Ethereum is also working with zk-SNARK proofs since its Byzantium update in 2017.