Zero-Knowledge Proof: cos’è e quali sono i suoi casi d'uso?
Avete mai presentato una documentazione finanziaria o sanitaria che potrebbe contenere informazioni private imbarazzanti, solo per dimostrare che potete permettervi un prestito o che non ci sono problemi importanti con il vostro corpo? E se poteste dimostrare che il vostro flusso di reddito è costante e ampio, o che siete in buona salute senza rivelare che avete appena acquistato 100 dollari di Nutella, o che vi siete fatti male al ginocchio cadendo dalla bicicletta? Questo è un ottimo esempio - e anche un potenziale caso d'uso - di prova a conoscenza zero.
Che cos'è la prova a conoscenza zero (Zero-Knowledge Proof)?
Come avrete capito dal nostro esempio, la prova a conoscenza zero (ZKP) è un metodo o un processo per dimostrare la validità di un'affermazione senza rivelarla.
Supponiamo che abbiate appena finito il Wordle di oggi (sì, c'è ancora chi ci gioca) prima dei vostri amici. Invece di dire loro qual è la parola, basta condividere l'immagine del risultato di Wordle con cinque caselle verdi. In questo modo, tutti coloro che vedranno l'immagine sapranno che avete azzeccato la parola, ma nessuno potrà dire di cosa si tratta, a meno che non la conosca già. La cosa più utile è che basta condividere questa immagine su Twitter una sola volta e tutti sapranno che avete risolto il problema senza dover interagire ulteriormente con voi (non devono nemmeno conoscervi). Questo è noto come ZKP non interattivo, in contrasto con gli ZKP interattivi, dove i verificatori devono impegnarsi in una serie di scambi con i provers per decidere se sono convinti.
Inutile dire che questo intricato meccanismo (interattivo e non interattivo) creerà molti casi d'uso nuovi e interessanti, soprattutto nei settori in cui la privacy è apprezzata più di ogni altra cosa - mi vengono in mente le criptovalute. Due dei progressi più famosi in questo campo sono gli zk-SNARK e gli zk-STARK.
zk-SNARK e zk-STARK
zk-SNARK è l'acronimo di zero-knowledge Succinct Non-Interactive Argument of Knowledge (argomentazione di conoscenza succinta e non interattiva), il cui punto culminante è la non interattività, che significa che chiunque può verificare un'affermazione senza interagire con il prover. Ciò consente a una rete blockchain di verificare la proprietà dei conti, nonché di garantire che il mittente di una determinata transazione abbia un saldo sufficiente senza rivelare gli indirizzi o gli importi delle transazioni.
Le curve ellittiche casuali sono al centro del modello di sicurezza di zk-SNARKs. Per avviare un protocollo con zk-SNARKs è necessaria una configurazione di fiducia. Ciò comporta la creazione di chiavi private che vengono successivamente utilizzate per creare prove per le transazioni e le verifiche. Di conseguenza, gli zk-SNARK sono soggetti ad attacchi quantistici e a fughe di chiavi private. Detto questo, gli zk-SNARK possono ridurre in modo significativo le dimensioni dei blocchi e il consumo di gas e hanno già raccolto un'ampia comunità sin dalla loro nascita nel 2012.
zk-STARKs, acronimo di zero-knowledge Scalable Transparent Argument of Knowledge, è stato introdotto nel 2018. Come suggerisce il nome, zk-STARKs si concentra su scalabilità e trasparenza. I tempi di prover e verificatore di zk-SNARKs aumentano linearmente con la dimensione del testimone, ma nel caso di zk-STARKs ciò avviene in modo quasilineare, rendendoli molto più agili nella gestione di grandi insiemi di dati. zk-STARKs fanno inoltre leva su casualità e funzioni hash verificabili pubblicamente, il che significa che non richiedono una configurazione iniziale di fiducia e sono resistenti ai quanti.
Tuttavia, gli zk-STARK generano blocchi molto più grandi e richiedono molta più potenza di calcolo, il che si traduce in un maggiore consumo di gas e in tempi di verifica più lunghi. Gli zk-STARK hanno anche un numero di sviluppatori e di risorse disponibili molto inferiore rispetto al loro fratello maggiore.
Quali sono i casi d'uso delle ZKP in crittografia?
Prova di identità
Non esiste un luogo con una maggiore concentrazione di dati privati rispetto alle informazioni sulla nostra identità. Tradizionalmente, una prova di identità richiede che il verificatore - l'utente - fornisca le informazioni sulla sua identità - tutto ciò che lo riguarda, rilevante o meno, con dettagli sconvolgenti - al verificatore.
Con le ZKP, invece, è sufficiente generare una credenziale che serva a dimostrare la proprietà e la solidità della vostra identità. I verificatori devono solo eseguire alcuni calcoli per controllare la validità della credenziale, invece di avere accesso a tutte le informazioni personali.
Merkle Tree e Prova delle Riserve
Un Merkle Tree è un albero binario con dati memorizzati nelle sue foglie. Ogni foglia ha un proprio valore di hash e questi valori di hash vengono ordinati in diversi gruppi (nodi) per un ulteriore hash, fino a quando non rimane un solo valore: l'hash della radice.
Ai verificatori basta prendere i valori hash di diversi nodi per verificare l'integrità di tutto ciò che si trova nell'Albero di Merkle, senza immergersi in un mare di 1 e 0. Questo sistema è ampiamente utilizzato per dimostrare la validità di un documento. Questo metodo è ampiamente utilizzato per dimostrare che una borsa ha fondi riservati sufficienti e che non ha spostato i fondi dei suoi trader altrove per scopi indicibili.
Bitget ha sempre dato priorità ai propri clienti e la nostra Merkle Tree Proof of Reserves è disponibile per la verifica da parte di tutti: Bitget's Proof of Reserves.
Zk-rollup
Un rollup, come suggerisce il nome, è una soluzione di scaling che raggruppa una collezione di transazioni in una sola. Ciò consente transazioni molto più veloci ed economiche rispetto, ad esempio, alla mainnet di Ethereum. Ci sono due fazioni nelle soluzioni rollup di Ethereum: Ottimista e a conoscenza zero. In questo articolo ci concentreremo su quest'ultima.
I rollup a conoscenza zero (zk-rollup) eseguono i calcoli fuori dalla catena e presentano solo una prova di validità (un "riassunto" di tutte le transazioni arrotolate) sulla catena. Una volta che questa prova viene verificata sulla catena, tutte le transazioni arrotolate saranno finalizzate in un colpo solo.
Ci sono diversi attori importanti nelle soluzioni zk-rollup di Ethereum. Polygon ha annunciato che la beta della sua mainnet zkEVM sarà lanciata a fine marzo. Nel tentativo di contrastare Polygon, zkSync - un altro concorrente - ha aperto la registrazione per gli sviluppatori sulla propria "mainnet" appena un giorno dopo l'annuncio di Polygon.
Altri partecipanti di rilievo in questa gara sono Loopring, una borsa decentralizzata che offre un elevato throughput e bassi costi di regolamento sfruttando zk-rollup; Immutable X, una soluzione Layer2 incentrata sulle NFT che offre un'esperienza quasi istantanea e a zero spese di gas con zk-rollup.
Nella zona a conoscenza zero di Bitget è possibile negoziare con Polygon, Loopring, Immutable X, Mina e molti altri esploratori della terra a conoscenza zero.
• Iscriviti ora su Bitget: https://partner.bitget.com/bg/Italy
• Instagram: https://instagram.com/bitgetitalia
• Twitter: https://twitter.com/bitgetitalia
• Telegram: https://t.me/Bitget_Italia