Che cos’è Zk-SNARK?
Zk-SNARK è un sistema che consente a una parte di dimostrare di possedere determinate informazioni senza però rivelarle.
Zk-SNARK è l’abbreviazione di “Zero-Knowledge Succinct Non-Interactive Argument of Knowledge” (in italiano “Argomento di conoscenza non interattivo succinto a conoscenza zero”).
Questo sistema aiuta a creare fiducia tra gli utenti che interagiscono su una blockchain e accelera notevolmente il processo di verifica di una transazione, rendendone anonimi i dettagli.
Tramite lo Zk-SNARK, infatti, è possibile registrare solo la prova della transazione sul nodo blockchain, salvaguardando l’identità del mittente e del destinatario, e altri dettagli associati alla transazione.
Esempio di Zk-SNARK
Prendiamo ad esempio un utente che necessita di dimostrare che alcune condizioni siano soddisfatte prima di poter completare una transazione. Grazie allo Zk-SNARK, questo potrà dimostrare di disporre di fondi sufficienti per completare la transazione, senza però fornire informazioni sull’ammontare totale dei fondi che egli possiede nel suo wallet.
Un altro esempio di utilizzo di Zk-SNARK riguarda la verifica dell’identità su una blockchain. Ad esempio, se Utente B vuole verificare l’identità di Utente A, può inviare un messaggio segreto a quest’ultimo e chiedergli di decodificare il messaggio utilizzando la propria chiave privata. Una volta fatto ciò, Utente A può quindi rispedire il messaggio a Utente B, dimostrando la propria identità, senza rivelare alcun dato sensibile su se stesso.