Zcash est une blockchain publique encryptée qui utilise le zero-knowledge cryptography appelé zk-SNARKS. Cette combinaison permet à l'utilisateur de tirer parti de deux adresses: une entièrement privée et une transparente (similaire à Bitcoin). La combinaison permet à la transaction d'être complètement anonyme ou visible publiquement.
Zcash fournit une couche de transport sécurisée pour nos données, c'est le «http» de l'argent. Imaginez une voiture blindée qui contient vos données dans une boîte. La sécurité du véhicule protège le visionnement du contenu de la boîte ainsi que le passage sécurisé des données.
Avec Bitcoin, les données sont transportées dans une voiture en verre transparent permettant à quiconque de voir le contenu à l'intérieur de la voiture. Tout le monde aura la capacité de voir ce que vous avez dans le véhicule.
zk-SNARKS permet la validation d'une action sans pour autant révéler le détail de l'action. zk-SNARKS garantit que toutes les informations (expéditeur, destinataire et montant) sont chiffrées tout en empêchant la double dépense. Les transactions privées peuvent être rendues visibles grâce à la fonction de "selective disclosure".
Comment se déroule une transaction bitcoin normale?
Supposons, Nicole veut envoyer 1 BTC à Paulin, que va-t-elle faire?
Elle enverra 1 BTC à l'adresse publique de Paulin. Les mineurs placent ensuite les détails de la transaction dans leurs blocs et la transaction est considérée comme terminée.
Comment les transactions ZCash sont-elles différentes des transactions bitcoin normales?
Tout d'abord, regardons une représentation graphique d'une transaction Zcash:
Dans le Zcash, on a le choix entre deux types de transactions. On peut soit faire la transaction normale transparente OU la faire la transaction privée blindée.
Supposons que Nicole veuille envoyer 1 Zec à Paulin. (Zec = Zcash).
Si Paulin est d'accord pour garder la transaction transparente et ouverte au monde entier, alors elle peut lui envoyer le Zec à son adresse transparente ou t-addr.
Cependant, s'il veut un peu d'intimité et ne veut pas que les détails de la transaction soient ouverts au public, il peut simplement faire envoyer l'argent à son adresse blindée aussi appelée "z-addr".
Si Nicole et Paulin utilisent leurs adresses blindées pour interagir les uns avec les autres, alors tous les détails de la transaction seront privés. Cela inclut l'identité de Nicole, l'identité de Paulin et les détails de la transaction elle-même.
Zcash était confronté à un problème de contrefaçon assez sérieux qui était une conséquence directe de leur programmation zk-snark.
Dans Zcash 1.0, les transactions privées reposent sur les paramètres publics SNARK pour la création et la vérification des preuves de connaissance nulle. La génération de ces paramètres publics SNARK nécessite la création d'une paire de clés publique / privée, puis la destruction de la clé privée et le maintien de la clé publique.
Cependant, c'est là que les choses deviennent difficiles.
Si quelqu'un obtient cette clé privée, alors ils peuvent créer des pièces contrefaites!
Ce n'est généralement pas un problème dans un registre ouvert comme bitcoin où toutes les transactions sont ouvertes au monde entier. Cependant, dans Zcash, la confidentialité empêche quiconque de vérifier l'état des pièces.