Zero-Knowledge (ZK) 101: tutto quello che devi sapere sulle prove ZK

Di Jay White, co-fondatore e capo della ricerca su spazio e tempo

ZK è la parola d'ordine dell'anno sulle criptovalute, e per una buona ragione, ma se non sei un crittografo o uno sviluppatore, potresti chiederti: cos'è esattamente una prova a conoscenza zero (prova ZK)?

Il principio fondamentale alla base delle prove ZK è semplice ma profondo: consentono a una parte (il dimostratore) di dimostrare in modo efficiente a un'altra parte (il verificatore) di possedere determinate conoscenze senza la necessità di rivelare le specifiche di tale conoscenza.

Il concetto ha avuto origine dal lavoro pionieristico di alcuni ricercatori accademici a metà degli anni ’80 e da allora si è trasformato in un meccanismo pratico per calcoli verificabili e ha gettato le basi per il moderno ecosistema Web3, dove le prove ZK stanno diventando sempre più integrate.

L'evoluzione di ZK nella Blockchain

Sebbene le prove ZK esistessero nella crittografia teorica molto prima della nascita della blockchain, è la natura decentralizzata di quest'ultima che ha spinto le prove ZK agli occhi del pubblico. La Blockchain, nella sua essenza, è un registro pubblico. Ogni transazione, non importa quanto banale, viene registrata e può essere visualizzata da chiunque. Ma sebbene la trasparenza sia uno dei maggiori punti di forza della blockchain, è anche il suo tallone d’Achille quando si tratta della privacy degli utenti.

È lì che ZK ha iniziato a mostrare la sua potenza.

Le prove ZK affrontano la dicotomia tra trasparenza e privacy nello spazio blockchain. Consentono di convalidare le transazioni senza rivelare i dettagli della transazione, preservando così la riservatezza dell'utente pur mantenendo la natura immutabile della blockchain. Verso la metà degli anni 2010, progetti come Zcash iniziarono a costruire protocolli ZK che offrissero transazioni private, portando a un aumento di interesse e all’adozione di ZK nel Web3. Ma negli ultimi dieci anni circa, il caso d’uso Web3 per le prove ZK si è evoluto dalla semplice conservazione della privacy a probabilmente uno dei progressi più importanti per la tecnologia blockchain: il calcolo fuori catena verificabile.

Risolvere il problema della scalabilità

Prima di poter evidenziare l’importanza del calcolo fuori catena verificabile, dobbiamo parlare delle limitazioni estreme dei contratti intelligenti. I contratti intelligenti sono intrinsecamente limitati in tre modi principali:

  1. Tipi di dati a cui possono accedere: i contratti intelligenti possono accedere solo ai punti dati on-chain più basilari (come i saldi del portafoglio) e non possono accedere in modo nativo alla maggior parte dei dati on-chain, anche semplici come i prezzi dei token, o a qualsiasi dato off-chain .
  2. Capacità di archiviazione della blockchain: le blockchain non sono costruite per archiviare grandi quantità di dati. Farlo è proibitivamente costoso e richiede molte risorse.
  3. La logica che possono eseguire: un contratto intelligente può eseguire solo una logica condizionale molto elementare senza bisogno di tariffe esorbitanti per il gas.

Senza un modo per risolvere ciascuno di questi problemi, la blockchain non può adattarsi alle crescenti esigenze di un ecosistema Web3 in crescita. Fortunatamente, con l'evoluzione di Web3, anche ZK si è evoluto. Mentre progetti come la rete oracle decentralizzata (DON) di Chainlink e il protocollo di interoperabilità cross-chain (CCIP) hanno risolto elegantemente il primo problema, diversi protocolli ZK stanno lavorando per risolvere gli altri due.

Il modo più elegante per risolvere i limiti di archiviazione e calcolo della blockchain è spostare alcuni dati e il lavoro computazionale fuori catena. L’idea di poter eseguire azioni fuori catena e utilizzare una prova ZK per comunicare in modo succinto e affidabile un riepilogo di tali azioni alla catena principale senza trasferire tutti i dati sottostanti ha inaugurato un nuovo paradigma per la tecnologia blockchain. Diamo un'occhiata ad alcuni dei protocolli che si stanno sviluppando in questo spazio.

Soluzioni per lo storage: storage decentralizzato comprovato da ZK

Una soluzione ben nota al problema dello storage blockchain sono le reti di storage decentralizzate off-chain. Invece di archiviare grandi quantità di dati, la blockchain deve archiviare solo riferimenti più piccoli a tali dati poiché sono archiviati nella piattaforma off-chain.

Tuttavia, il semplice spostamento dei dati fuori catena non è sufficiente; per garantire che i dati fuori catena rimangano disponibili e non manomessi (per essere ricollegati a un contratto intelligente), è necessaria una prova ZK. Il PoST di Filecoin è un ottimo esempio di questa implementazione: fornisce prove crittografiche periodiche della continua archiviazione dei dati, favorendo la fiducia nella rete e alleviando al tempo stesso il carico di dati dalla blockchain principale.

Risolvere per il calcolo: rollup delle transazioni

Forse il fiore all'occhiello di ZK, i rollup ZK sono emersi come la soluzione preferita alla crescente domanda di transazioni più veloci ed economiche su L1 come Ethereum. Invece di elaborare ogni transazione individualmente sulla catena principale, il che può portare a congestione e tariffe del gas più elevate, i rollup ZK eliminano il pesante lavoro computazionale dalla catena, aggregando più transazioni in un unico “rollup”.

Per ogni grande lotto di transazioni elaborate dalla catena principale, viene restituita solo una prova singola e compatta, fornendo la prova crittografica che queste transazioni erano corrette. La catena principale rimane sicura senza essere direttamente coinvolta nella verifica di ogni singola transazione. I rollup ZK non solo migliorano la velocità di elaborazione delle transazioni, ma preservano anche le risorse della catena principale, aumentando significativamente la produttività e riducendo le commissioni di transazione. Alcuni dei rollup ZK più importanti includono zkEVM di Polygon, zkSync di Matter Labs e STARKEx di Starkware.

Per uno sguardo approfondito agli zk-rollup, dai un'occhiata al nostro podcast con Gal Ron di Starkware:

La prossima generazione di ZK

Ma mentre soluzioni come le prove ZK sullo storage decentralizzato e i rollup ZK hanno sicuramente gettato le basi per espandere i limiti della blockchain, c’è ancora un pezzo mancante fondamentale. Da un lato, le soluzioni di storage decentralizzate sono proprio questo: storage.

Sebbene l'archiviazione di per sé sia ​​uno strumento importante, l'incapacità di queste piattaforme di eseguire qualsiasi tipo di "calcolo" oltre il semplice recupero dei dati limita gravemente i casi d'uso che sono in grado di supportare. E i rollup ZK, nonostante siano potenti soluzioni di elaborazione che coprono un'ampia gamma di funzioni informatiche, non colmano ancora completamente il divario.

Potenziare le applicazioni su larga scala

Quindi, torniamo all'idea di scalare la blockchain: cosa significa e che aspetto ha? Se confronti lo stack blockchain con lo stack di applicazioni tradizionale, noterai alcune differenze evidenti. Nel SaaS tradizionale, le app (al livello più elementare) sono alimentate da tre passaggi:

  1. Recupero del risultato di una query: porre una domanda sui dati e ottenere una risposta.
  2. Esecuzione di un'azione: esecuzione di un'attività in base alla risposta.
  3. Aggiornamento di uno stato: comunicazione al sistema dell'esecuzione dell'attività.

Diamo un'occhiata ad un paio di esempi:

Esempio 1: piattaforma di social media

  1. L'app interroga i contenuti associati alle connessioni di un utente e ottiene una classifica di ciò che è più pertinente.
  2. L'app visualizza il contenuto nel feed dell'utente e l'utente visualizza il contenuto.
  3. L'app aggiorna lo stato del backend registrando le visualizzazioni/il coinvolgimento dei contenuti (che quindi regola l'algoritmo).

Esempio 2: sito web di prenotazione di viaggi

  1. L'app interroga i voli disponibili e ottiene quelli più rilevanti.
  2. L'app promuove le opzioni di volo pertinenti al cliente e il cliente seleziona e acquista un volo.
  3. L'app aggiorna la disponibilità e registra i dettagli della prenotazione del cliente.

Nel Web3, la blockchain funge da livello di gestione dello stato e i contratti intelligenti eseguono azioni come codice arbitrario, ma manca ancora un componente chiave: le query. I contratti intelligenti non hanno modo di porre domande sui dati. Anche qualcosa di semplice come "quali portafogli hanno mai posseduto 2 NFT di questa collezione sulla mia catena?" non è possibile rispondere in modo nativo a un contratto intelligente. Se vogliamo realizzare la visione del Web3 e scalare la blockchain per soddisfare le esigenze delle applicazioni aziendali, dobbiamo fornire ai contratti intelligenti un modo per porre domande senza fiducia sui dati sulla propria catena, su altre catene e fuori catena.

Prova di SQL e livello di calcolo verificabile

Il database computing – in sostanza, la capacità di porre domande sui dati – è stato storicamente relegato a soluzioni centralizzate e affidabili, come PostgreSQL (per query semplici) o Snowflake (per l’analisi). Esistono database decentralizzati, ma non funzionano con la stessa scala o produttività delle loro controparti centralizzate.

E mentre ZK si è evoluto per supportare il calcolo off-chain verificabile, le soluzioni emerse sono limitate e frammentate, senza alcun progetto ZK che affronti il ​​pezzo mancante più importante dello stack Web3: le query.

Ecco perché il team di Space and Time ha creato Proof of SQL: una prova ZK che giustappone la scala di un data warehouse (un database su scala aziendale) con la verificabilità di una blockchain. La prova di SQL dimostra che le query eseguite in un database vengono calcolate correttamente sui dati giusti e che sia la query che i dati sottostanti non sono stati manomessi. Ciò consente ai contratti intelligenti di accedere al database computing fuori catena in modo verificabile, colma il divario di query in Web3 e consente agli sviluppatori di creare NFT, protocolli e strumenti finanziari affidabili basati sui dati sulla catena.

Proof of SQL consente al data warehouse decentralizzato di Space and Time di fungere da livello di calcolo verificabile di Web3, ma può anche essere collegato a qualsiasi database SQL, centralizzato o decentralizzato, per fornire risultati di query verificabili ai contratti intelligenti.

Insomma

Mentre ci troviamo sull’orlo di un futuro decentralizzato, l’importanza delle prove ZK nel rimodellare Web3 non può essere sopravvalutata. L’avvento di soluzioni come Proof of SQL evidenzia il potere di trasformazione di ZK, espandendo la sua utilità ben oltre la semplice privacy transazionale. La continua evoluzione e adozione della tecnologia ZK sarà determinante nella creazione di un futuro decentralizzato che coniughi scalabilità e affidabilità, inaugurando nuovi paradigmi di sicurezza, efficienza e trasparenza.

Circa l'autore

Jay White è cofondatore e capo della ricerca presso Space and Time. Il suo obiettivo principale è la ricerca, la progettazione e l'implementazione dell'innovativo meccanismo di antimanomissione dei database di Space and Time, chiamato Proof of SQL.

Prima di Space and Time, Jay era un professore di matematica, con ricerche focalizzate su problemi di matematica computazionale. Il background di Jay nello sviluppo algoritmico e nella ricerca algebrica lo ha posizionato in modo univoco per fondere la matematica teorica della crittografia con l'implementazione scalabile necessaria per creare garanzie crittografiche per database su scala aziendale. Fondamentalmente, Jay è un appassionato risolutore di problemi, visionario e ricercatore che sta costruendo una soluzione essenziale per l'infrastruttura di Web3.

Il post Zero-Knowledge (ZK) 101: tutto quello che devi sapere sulle prove ZK è apparso per la prima volta su CryptoPotato .

Inizia a scrivere il termine ricerca qua sopra e premi invio per iniziare la ricerca. Premi ESC per annullare.

Torna in alto