Zk-SNARK
Que sont les Zk-SNARKS ?
Zk-SNARKs signifie «Argument de connaissance succinct et non interactif à connaissance nulle». et il s'agit d'une forme de cryptographie à connaissance nulle où l'on peut prouver la possession d'informations, telles qu'une clé privée, sans révéler lesdites informations et sans interaction entre le prouveur et le vérificateur, garantissant ainsi la confidentialité des utilisateurs.
« Zéro connaissance » signifie qu'une partie (« prouver ») est capable de prouver la connaissance d'un paramètre secret (« témoin ») à une autre (« vérificateur ») sans révéler le témoin au vérificateur ou à quiconque, outre le fait que le témoin est valable.
« Succinct » implique qu'une preuve sans connaissance peut être validée en quelques millisecondes, car les preuves ne comportent que quelques centaines d'octets. « Non interactif » fait référence au fait que le prouveur ne doit envoyer qu'un seul message au vérificateur. « Argument » est le terme utilisé pour représenter ces preuves et « Connaissance » fait référence au paramètre secret possédé par le prouveur.
Lorsqu’il interagit dans une blockchain, un utilisateur peut devoir prouver que certaines conditions sont remplies avant de pouvoir finaliser une transaction. Par exemple, ils doivent prouver qu’ils disposent de fonds suffisants pour effectuer une transaction, mais sans divulguer d’informations sur le montant qu’ils ont dans leur portefeuille.
Les Zk-SNARK sont également utiles pour prouver son identité dans une blockchain. Par exemple, si B souhaite vérifier l'identité de A, il peut envoyer un message secret à A sans lui dire de quoi il s'agit et demander à A de décoder le message à l'aide de sa clé privée. A peut alors renvoyer le message à B, prouvant ainsi son identité.
Zk-SNARKs enregistre uniquement la preuve de la transaction sur le nœud blockchain, protégeant l'identité de l'expéditeur, du destinataire et d'autres détails associés à la transaction. Zcash a été la première crypto-monnaie largement utilisée à utiliser les zk-SNARK pour permettre des transactions privées.