
Introduzione
Il termine "zero knowledge" è diventato super comune nel mondo blockchain, soprattutto quando si parla di ZK-rollup. L'idea di zero knowledge esisteva già da un bel po' prima che arrivasse la tecnologia blockchain, con la ricerca di base pubblicata nel 1989.
Questa indagine approfondisce il vero significato di zero knowledge, valuta se gli ZK-rollup abbiano effettivamente caratteristiche zero knowledge ed esplora la connessione tra questa tecnologia e la privacy.
Capire i principi della conoscenza zero
La tecnologia zero-knowledge è apparsa molto prima che nascesse la prima blockchain. Il rivoluzionario articolo "The knowledge complexity of interactive proof systems" ha presentato queste idee nel 1989, molto prima che la comunità Ethereum capisse l'importanza di ZK per le soluzioni rollup nel 2018 circa.
Per capire bene il concetto di zero knowledge, bisogna distinguere tra i vari tipi di prove e le loro caratteristiche uniche.
L'idea di conoscenza zero è una caratteristica dei sistemi di prova. Quando si parla di blockchain, si sente spesso parlare di ZKPs, o prove a conoscenza zero, ma questo termine può riferirsi sia alla prova di affermazione che alla prova di conoscenza, ognuna con funzioni diverse e caratteristiche uniche.
Convalida dell'affermazione vs convalida della comprensione
La prova di un'affermazione mostra che l'asserzione è valida senza rivelare alcun dettaglio sull'asserzione stessa. Gli esempi includono:
- •dimostrare che un numero è un quadrato modulo n
- •che i due grafici non siano isomorfi
- •che un numero grande ha esattamente tre fattori primi
La prova di conoscenza, invece, dimostra che chi fa un'affermazione ha una conoscenza particolare dell'argomento. Usando esempi simili, questo vorrebbe dire:
- •dimostrando di sapere che un valore x è uguale a z per x al quadrato modulo n
- •capire l'isomorfismo tra due grafici
- •avere le caratteristiche reali di un numero significativo
Ogni dimostrazione di conoscenza è di per sé una dimostrazione di un'affermazione, ma non è vero il contrario. Quando qualcuno dimostra di conoscere un valore x che soddisfa una relazione matematica, conferma di fatto l'esistenza di tale relazione, unendo entrambe le forme di prova in un'unica illustrazione.
L'isomorfismo dei grafi come esempio dal mondo reale
Il problema dell'isomorfismo dei grafi è un ottimo esempio di queste idee. Due grafi sono isomorfi se sono fondamentalmente uguali, tranne che per la riorganizzazione delle loro etichette. Bisogna stabilire una funzione biunivoca tra i vertici in modo che i bordi siano presenti tra i vertici di un grafo se e solo se i bordi corrispondenti sono presenti nell'altro grafo.
Per dimostrare l'affermazione attraverso il non isomorfismo dei grafi, la procedura consiste nel selezionare casualmente una permutazione e uno dei due grafi, seguito dal calcolo di una variante permutata. Se i grafi fossero realmente isomorfi, identificare il grafo originale sarebbe impossibile, riducendo l'accuratezza a una semplice probabilità casuale con una probabilità del 50%.
Per dimostrare la conoscenza attraverso l'isomorfismo dei grafi, il dimostratore mostra l'isomorfismo tra due grafi. Il protocollo usa permutazioni casuali e sfide per confermare questa conoscenza senza rivelare l'isomorfismo effettivo, proteggendo la privacy e dimostrando al contempo la capacità.
Ogni prova di conoscenza è anche una prova di affermazione, ma non il contrario.
L'attributo Zero Knowledge
Zero knowledge vuol dire che chi verifica non può avere altre informazioni da chi dimostra oltre a quelle che si trovano nella prova stessa. Nell'esempio dell'isomorfismo dei grafi, la prova di conoscenza mantiene gli attributi zero knowledge con verificatori onesti, dato che chi dimostra manda solo gli impegni senza dire i dettagli dell'isomorfismo o della permutazione.
Comunque, la prova della non isomorfia dei grafi non ha caratteristiche zero-knowledge, perché i verificatori che vogliono fare casino possono ottenere informazioni extra non seguendo il protocollo. Potrebbero presentare grafi a caso e trovare collegamenti con i grafi originali tramite l'esecuzione del protocollo.
Puoi trasformare le prove non a conoscenza zero in prove a conoscenza zero chiedendo ai verificatori di dimostrare che rispettano le regole del protocollo. La maggior parte dei protocolli pratici garantisce principalmente la conoscenza zero del verificatore onesto, che va bene per le app non interattive usando metodi come l'euristica Fiat-Shamir.
ZK-Rollup e le loro vere caratteristiche
Gli ZK-rollup funzionano come il problema del non isomorfismo dei grafi, verificando le affermazioni sulle transizioni di stato valide invece di mostrare le conoscenze. Questi sistemi fanno transazioni fuori dalla catena e danno prove alle reti di livello 1 come Ethereum, confermando che i calcoli fuori dalla catena sono stati fatti bene.
I verificatori devono poter accedere a:
- •bozze
- •nuovi stati
- •stati precedenti
- •inserisci i valori
Questa chiarezza non va proprio d'accordo con le caratteristiche di zero knowledge.
Input pubblici vs privati
Gli ZK-rollup fanno una distinzione tra input pubblici e privati, anche se "privato" in questo caso non vuol dire che sia riservato. Gli input privati sono usati solo dai provers nella generazione delle prove, mentre quelli pubblici sono usati sia dai provers che dai verifiers.
I contributi pubblici devono essere inviati al Livello 1, il che comporta costi elevati e richiede brevità.
I contributi pubblici di solito includono:
- •indica le radici
- •firme
- •indirizzi
- •parametri delle funzioni
- •informazioni sul contratto
- •modifiche di archiviazione
- •eventi sollevati
Questo rende pubblici dettagli importanti. Le informazioni private includono le prove di appartenenza Merkle e le tracce di esecuzione necessarie per verificare che tutto sia corretto.
La struttura rollup richiede che i verificatori abbiano una buona conoscenza degli stati precedenti e dei valori di input per creare prove di validità.
Tipi di input nei rollup ZK
| Tipo di input | Usato da | Contiene | Costo |
|---|---|---|---|
| Pubblico | Proverificatori e verificatori | Indica le radici, le firme, gli indirizzi | Alto (inviato a L1) |
| Privato | Solo verificatori | Prove Merkle, tracce di esecuzione | Basso (rimane fuori dalla catena) |
La verità sulla privacy nei rollup ZK
I rollup ZK standard non offrono alcuna protezione della privacy. Quando Alice manda un ETH a Bob tramite un rollup ZK, i dettagli della transazione sono visibili sia a chi prova che a chi verifica.
Il sistema dimostra la validità delle transazioni come prova di una dichiarazione priva di attributi zero-knowledge, poiché tutti i dati rimangono accessibili o ottenibili pubblicamente.
Questi sistemi puntano sulla scalabilità attraverso una verifica veloce piuttosto che sulla privacy.
Marketing vs realtà
L'etichetta "ZK" nei rollup ZK è più per il marketing che per indicare vere caratteristiche di zero knowledge.
Privacy autentica tramite verifica lato client
Una vera privacy richiede vari metodi architettonici, come si vede nei sistemi che gestiscono i dati privati sui dispositivi degli utenti prima di creare prove da inviare alla rete. Questa generazione di prove lato client rende possibili prove di affermazioni realmente a conoscenza zero, permettendo agli operatori di rete di confermare la validità delle prove senza dover accedere ai dettagli dell'esecuzione.
I sistemi incentrati sulla privacy gestiscono le transazioni in modo discreto sui dispositivi degli utenti, generando risultati che nascondono effetti collaterali come hash delle note e nullificatori. Questi componenti si fondono nello stato globale mantenendo riservate le informazioni, che vengono divulgate solo alle persone coinvolte nella transazione e ai destinatari designati.
Questi sistemi creano prove a conoscenza zero sul lato client per azioni riservate, generando poi prove a blocchi simili ai tradizionali rollup per l'accordo di rete. Questo metodo a due livelli garantisce sia la privacy che la scalabilità.
Creare la privacy fin dalle fondamenta
La privacy non può essere aggiunta ai sistemi trasparenti attuali. I rollup incentrati sulla privacy devono integrare questi fattori fin dall'inizio, rendendo necessario:
- •definizioni chiare sulla privacy
- •fai attenzione a come scrivi le cose per evitare di far trapelare informazioni senza volerlo
Sistemi di privacy sofisticati dovrebbero gestire uno stato ibrido pubblico-privato, permettendo alle app di mantenere alcuni componenti privati e rendendone altri pubblici per l'interazione esterna. Questa complessità facilita app avanzate come:
- •gestione programmabile delle identità
- •opzioni private DeFi
Questi sistemi rappresentano progressi architetturali fondamentali piuttosto che miglioramenti graduali alle attuali reti trasparenti.
L'ambiente attuale ha un numero limitato di soluzioni Layer 2 autentiche incentrate sulla privacy che permettono l'elaborazione lato client per una protezione reale della privacy.
Usi pratici e tendenze future
Le reti che proteggono la privacy offrono grandi opportunità per la riservatezza finanziaria e il coinvolgimento delle istituzioni. Gli utenti possono:
- •interagisci con i protocolli DeFi mantenendo riservate le strategie
- •contribuisci alle cause in modo anonimo
- •Partecipa alla governance tramite votazioni private
- •dimostra la legittimità senza essere completamente trasparente
Lo sviluppo di ponti cross-chain collega le reti private agli ecosistemi attuali, permettendo l'accesso privato a pool di liquidità e applicazioni già esistenti. Invece di separare la liquidità, questi ponti migliorano l'infrastruttura finanziaria esistente con livelli di privacy.
Il futuro della DeFi privata
Il passaggio alla DeFi privata è un bel cambiamento nelle priorità dell'architettura blockchain. Gli utenti non devono più scegliere tra privacy e accesso ai protocolli esistenti; invece, hanno la privacy come opzione per qualsiasi app, così possono continuare ad accedere alla liquidità e alle community attuali proteggendo i dati sensibili.
Questo progresso tecnologico richiede molta attenzione a:
- •dettagli di implementazione
- •progettazione dell'esperienza utente
- •rispetta gli standard normativi mantenendo le protezioni essenziali della privacy
Queste cose rendono questi sistemi utili sia per chi li usa personalmente che per le organizzazioni.


