Cosa sono gli ZK-SNARK?
Spiegazione delle prove sulla privacy e del mining
conoscenza zero · verifica concisa · dimostratore e verificatore · configurazione attendibile · privacy · ridimensionamento
In questa pagina
1Cos'è uno ZK-SNARK?
Uno ZK-SNARK è una prova crittografica che consente a un dimostratore di convincere un verificatore che un'affermazione è vera e che il dimostratore conosce le informazioni segrete richieste, senza rivelare quel segreto. Il nome completo è Argomento della conoscenza succinto e non interattivo a conoscenza zero. È una famiglia di costruzioni di prova, non un algoritmo universale.
In una transazione blockchain, la dichiarazione pubblica potrebbe essere: “Questo trasferimento segue le regole del protocollo”. Il testimone privato potrebbe includere chiavi segrete, appunti, saldi o una traccia di esecuzione. Una prova valida può dimostrare che i dati nascosti soddisfano le regole senza inserire i dati stessi in un registro pubblico. Ecco perché gli ZK-SNARK sono utili per pagamenti privati, calcoli verificabili, rivendicazioni di identità e sistemi di ridimensionamento.
Il verificatore apprende che un calcolo definito con precisione è stato eseguito correttamente. Il verificatore non apprende automaticamente gli input privati utilizzati all'interno di quel calcolo.
2Cosa significa ciascuna parte di ZK-SNARK
"Succinto" non garantisce la stessa dimensione della prova o tempo di verifica in ogni sistema. Groth16, i sistemi della famiglia PLONK, i sistemi della famiglia Marlin e Halo 2 fanno scelte diverse. I costi esatti dipendono dal circuito, dalle curve, dallo schema di impegno, dall'implementazione, dall'hardware e dall'obiettivo di sicurezza.
3Come funziona uno ZK-SNARK?
La matematica è avanzata, ma il flusso di lavoro può essere compreso in cinque fasi.
- Definire l'affermazione. Gli sviluppatori esprimono le regole come un circuito aritmetico o un sistema di vincoli. Per un pagamento, le regole possono verificare la proprietà, la conservazione del valore e che un input non sia già stato speso.
- Ingressi pubblici e privati separati. Gli input pubblici sono visibili al verificatore. Il testimone privato contiene i valori segreti necessari per soddisfare il circuito.
- Preparare i parametri di prova. A seconda del sistema di prova, ciò può comportare parametri specifici del circuito, una stringa di riferimento strutturata universale o una configurazione che non si basa sulla casualità segreta.
- Genera la prova. Il prover calcola un oggetto crittografico compatto mostrando che un testimone valido soddisfa ogni vincolo.
- Verificare la prova. Un nodo o un contratto intelligente controlla la prova utilizzando input pubblici e una chiave di verifica. Accetta o rifiuta senza conoscere il testimone.
Ciò non significa che il verificatore si fidi del dimostratore. La prova è utile perché un dimostratore disonesto non dovrebbe essere in grado di far passare un'affermazione falsa, presupponendo che la crittografia e l'implementazione siano valide.
4Completezza, solidità e conoscenza zero
| Proprietà | Significato pratico | Incapacità di evitare |
|---|---|---|
| Completezza | Un dimostratore onesto con un testimone valido può creare una prova che il verificatore accetta | Utenti validi rifiutati dal sistema di prova |
| Solidità | Un utente malintenzionato con limiti computazionali non può dimostrare un'affermazione falsa se non con una probabilità trascurabile | Prove contraffatte o transizioni di stato non valide |
| Solidità della conoscenza | Un prover di successo viene considerato in possesso di un testimone valido | Superare la verifica senza conoscere i dati segreti richiesti |
| Conoscenza zero | La prova non rivela il testimone protetto al di là della resa pubblica | Perdita di saldi, identità o input di calcolo |
Queste garanzie si applicano alla dichiarazione codificata dal circuito. Se il circuito omette una regola aziendale, utilizza l'intervallo sbagliato o accetta una condizione non sicura, la prova può essere valida dal punto di vista crittografico mentre l'applicazione rimane errata. La progettazione del circuito, la revisione dell'implementazione, la generazione dei parametri, il comportamento del portafoglio e la sicurezza operativa fanno quindi parte del confine di sicurezza.
5Che cos'è un'installazione attendibile?
Alcuni ZK-SNARK richiedono una stringa di riferimento strutturata generata prima dell'inizio della dimostrazione. I vecchi sistemi specifici per i circuiti utilizzavano cerimonie che producevano parametri pubblici mentre i partecipanti tentavano di distruggere la casualità segreta a volte chiamata “rifiuti tossici”. Se tutti i contributori fossero collusi o il processo fosse compromesso, alcuni sistemi potrebbero perdere solidità.
Il calcolo multipartitico riduce questo rischio: una cerimonia può rimanere sicura se almeno un partecipante si comporta onestamente e distrugge il proprio contributo segreto. I progetti più recenti offrono diversi modelli di installazione. Una configurazione universale può supportare molti circuiti, mentre i progetti trasparenti o trustless evitano la casualità nascosta della configurazione. Queste scelte influiscono sulla dimensione della prova, sulla velocità del prover, sui costi di verifica, sulla ricorsione e sulla complessità dell'implementazione.
I precedenti sistemi Sprout e Sapling di Zcash utilizzavano cerimonie parametriche multi-party. Orchard, introdotto con NU5, utilizza Halo 2 e ha rimosso la dipendenza da una configurazione affidabile per quel protocollo protetto. È inesatto descrivere ogni moderno ZK-SNARK come se richiedesse una cerimonia segreta permanente.
6Come Zcash utilizza ZK-SNARK e il mining
Zcash è l'esempio di produzione più noto di ZK-SNARK per la privacy dei pagamenti. In una transazione protetta, gli impegni rappresentano banconote private, i nullificatori impediscono che la stessa banconota venga spesa due volte e una prova mostra che la transazione obbedisce alle regole del protocollo. A seconda del tipo di transazione e delle informazioni di visualizzazione divulgate, indirizzi, valori e dati di promemoria possono rimanere protetti mentre i nodi continuano a verificarne la validità.
ZK-SNARK non è l'algoritmo di mining Zcash. Il mining di Zcash utilizza la prova di lavoro Equihash. I minatori competono per produrre blocchi, ordinare transazioni valide e proteggere la cronologia della catena. I nodi verificano le prove a conoscenza zero all'interno delle transazioni protette prima di accettarle. Il livello di prova stabilisce la correttezza della transazione; il livello di consenso e mining decide quali transazioni valide entrano a far parte della catena canonica.
Questa distinzione è importante per l'hardware. Un ASIC Equihash accelera l'hashing della prova del lavoro; non serve come generatore generale di prove di Halo 2. Allo stesso modo, un dispositivo che genera una prova del portafoglio non estrae automaticamente ZEC. Il nostro Guida alla sicurezza del mining Zcash spiega come si integrano Orchard, il software wallet, i nodi e il mining Equihash.
Per le ragioni rivolte agli utenti che stanno dietro alle transazioni protette e alla divulgazione selettiva, vedere Valore della privacy di Zcash nel 2026.
7Aleo, rollup, identità e calcolo verificabile
Aleo utilizza prove a conoscenza zero per l'esecuzione di programmi privati. Un utente può creare una prova che una transizione di stato ha seguito un programma pubblicato mantenendo privati i dati dei record idonei. La rete verifica le prove ed elabora la logica di finalizzazione pubblica attraverso il suo sistema di consenso. La prova ZK dimostra la corretta esecuzione; AleoBFT fornisce il contratto di rete. Trattarle come la stessa operazione ripeterebbe la confusione tra mining e prova vista nelle vecchie spiegazioni di Zcash.
Il più ampio Prospettiva della rete Aleo copre il suo modello di privacy, decentralizzazione e partecipazione alla rete senza ridurre il progetto a un acronimo di prova.
Gli ZK-SNARK supportano anche altri progetti:
- Rollup di validità: dimostrare che un batch di transizioni di stato fuori catena è stato eseguito correttamente prima che un contratto di livello base accetti la nuova radice di stato.
- Identità privata: dimostrare età, appartenenza, giurisdizione o possesso di credenziali senza rivelare le credenziali complete.
- Prova di riserve o passività: dimostrare che i dati impegnati soddisfano una relazione limitando la divulgazione, a condizione che l'impegno e l'ambito contabile siano completi.
- Calcolo verificabile: dimostrare che il software ha prodotto un output da input impegnati senza richiedere a ogni verificatore di ripetere il lavoro costoso.
Un “rollup ZK” non è automaticamente privato. Molti rollup di validità pubblicano dati di transazione sufficienti per la ricostruzione e utilizzano prove principalmente per la correttezza e il ridimensionamento. La privacy dipende da ciò che è pubblico, da ciò che è nascosto e da ciò che il circuito dimostra.
8Limiti, costi e rischi per la sicurezza
ZK-SNARK comprime la verifica, ma la generazione di prove può richiedere un utilizzo intensivo di memoria e di calcolo. Gli sviluppatori devono tradurre i programmi in vincoli, gestire chiavi di prova e verifica, selezionare curve e schemi di impegno e ottimizzare i circuiti. Le applicazioni complesse potrebbero richiedere hardware specializzato o un'infrastruttura di prova distribuita.
- Bug del circuito: un vincolo mancante può consentire a un testimone non valido di soddisfare l'affermazione implementata.
- Bug di implementazione: errori di serializzazione, casualità, portafoglio, verificatore o libreria possono compromettere la validità della matematica.
- Ipotesi di installazione: i sistemi che utilizzano un SRS dipendono dal modello di sicurezza e dall'esecuzione della generazione dei parametri.
- Perdita di metadati: i tempi di rete, i dati IP, il comportamento del portafoglio, gli input pubblici e i record di scambio possono rivelare informazioni al di fuori della prova.
- Rischio di aggiornamento: la modifica di circuiti o sistemi di prova richiede un'attenta compatibilità, verifica e pianificazione della migrazione.
Uno ZK-SNARK dimostra una dichiarazione nascondendo i dati dei testimoni designati. Non crittografa automaticamente i database, nasconde gli indirizzi IP, protegge gli endpoint o rende anonima ogni transazione. Il protocollo circostante deve definire correttamente impegni, chiavi, divulgazioni, stato e comportamento della rete.
9ZK-SNARK, STARK e dimostrazioni ZK generali
| Termine | Cosa descrive | Forza tipica | Qualificazione importante |
|---|---|---|---|
| Prova a conoscenza zero | Ampia famiglia di protocolli che provano le dichiarazioni senza rivelare informazioni protette sui testimoni | Concetto generale di privacy | Può essere interattivo o non interattivo, conciso o meno |
| ZK-SNARK | Argomentazione della conoscenza concisa e non interattiva | Piccole dimostrazioni e verifica efficiente | L'impostazione, le dimensioni della prova e le prestazioni variano in base alla costruzione |
| ZK-STARK | Argomento trasparente e scalabile utilizzando tecniche basate su hash | Nessuna configurazione attendibile e diverse ipotesi post-quantistiche | Le dimostrazioni sono spesso più grandi delle dimostrazioni SNARK |
| Prova di validità | Prova che una transizione di stato o un batch è stato calcolato correttamente | Verifica scalabile e efficiente | In pratica potrebbe non nascondere i dati delle transazioni |
Il giusto sistema di prova dipende dall'applicazione. Un protocollo di pagamento può dare priorità alla privacy e alla prova mobile. Un rollup può dare priorità al throughput e ai costi di verifica on-chain. Un protocollo di lunga durata può valorizzare l'impostazione trasparente o la ricorsione. "Utilizzi ZK" è un punto di partenza per l'analisi, non una descrizione tecnica completa.
10Domande frequenti su ZK-SNARK
Cosa significa ZK-SNARK?
Sta per Argomento di Conoscenza Succinto Non Interattivo a Conoscenza Zero.
ZK-SNARK è un algoritmo di mining di criptovaluta?
No. Uno ZK-SNARK dimostra che un'affermazione o un calcolo è valido. Zcash utilizza separatamente la prova di lavoro Equihash per il mining e la sicurezza del consenso.
Tutti gli ZK-SNARK richiedono una configurazione affidabile?
No. I requisiti di installazione differiscono. Alcuni utilizzano cerimonie specifiche del circuito, altri utilizzano parametri universali e sistemi come Halo 2 possono evitare una configurazione attendibile.
Gli ZK-SNARK rendono una blockchain completamente anonima?
Non da soli. La privacy dipende dal protocollo, dagli input pubblici, dal comportamento del portafoglio, dai metadati di rete, dalle scelte di divulgazione e dalle dimensioni del set di privacy.
Perché gli ZK-SNARK sono utili per il ridimensionamento?
Un verificatore può verificare una dimostrazione compatta di un calcolo di grandi dimensioni invece di ripetere ogni passaggio. I rollup utilizzano questa proprietà per verificare in modo efficiente batch di transizioni di stato.
11Riferimenti
Queste fonti tecniche primarie e ufficiali sono state riviste prima dell'inclusione. I collegamenti esterni si aprono in una nuova scheda e sono contrassegnati come nofollow.
- Zerocash: pagamenti anonimi decentralizzati da BitcoinIl documento IACR originale che descrive la costruzione di Zerocash e sintetiche prove a conoscenza zero per i pagamenti privati.
- Zcash: cosa sono gli zk-SNARK?Spiegazione ufficiale dell'acronimo, del modello prover-verifier, dei parametri pubblici e della transizione Halo 2.
- Glossario della documentazione ZcashDistinzione ufficiale tra prove schermate zk-SNARK e mining proof-of-work Equihash.
- Documentazione per sviluppatori Aleo: introduzione a zkSNARKPanoramica ufficiale di dimostratori, verificatori, testimoni, modelli di installazione e transizioni di stato privato su Aleo.
- Documentazione per gli sviluppatori di Ethereum: ZK-RollupSpiegazione ufficiale delle prove di validità, transazioni in batch, radici dello stato e verifica del rollup.
Spiegazione finale
Gli ZK-SNARK consentono a un verificatore di verificare la conoscenza o correggere i calcoli senza vedere il testimone protetto. Il loro valore deriva dalla combinazione della privacy con una verifica compatta ed efficiente.
Non sostituiscono il consenso, il mining, la crittografia, gli audit o il software sicuro. In Zcash, le prove convalidano le regole delle transazioni protette mentre i minatori Equihash proteggono e ordinano blocchi. In Aleo e nei rollup, le prove svolgono diversi ruoli di esecuzione e ridimensionamento. Chiedersi sempre cosa è dimostrato, cosa rimane pubblico, quali ipotesi di impostazione si applicano e chi fornisce il consenso.








Lascia un commento
Questo sito è protetto da hCaptcha e applica le Norme sulla privacy e i Termini di servizio di hCaptcha.