Definizione
Una prova di validità è una dimostrazione crittografica che dimostra matematicamente la correttezza di un insieme di transizioni di stato (transazioni) senza richiedere al verificatore di rieseguire tali transazioni. Nel contesto della scalabilità della blockchain, le prove di validità sono la tecnologia alla base degli ZK-Rollup (rollup a conoscenza zero), in cui migliaia di transazioni vengono eseguite off-chain, compresse in un'unica prova e inviate al livello base (tipicamente Ethereum) per la verifica. La proprietà chiave di una prova di validità è che è computazionalmente facile da verificare ma computazionalmente intensiva da generare: un verificatore su Ethereum può confermare la correttezza della prova in millisecondi, mentre chi la genera può impiegare minuti o ore per calcolarla. I due tipi principali di prove di validità utilizzate nella blockchain sono gli zk-SNARK (Zero-Knowledge Succinct Non-Interactive Arguments of Knowledge) e gli zk-STARK (Zero-Knowledge Scalable Transparent Arguments of Knowledge). Le prove di validità offrono una finalità immediata: una volta che una prova viene verificata e accettata sul livello base, le transazioni corrispondenti vengono confermate in modo irrevocabile. Questo si contrappone alle prove di frode (utilizzate dagli Optimistic Rollup), che presuppongono la validità delle transazioni e le contestano solo se qualcuno rileva una frode durante una finestra di contestazione. L'aspetto "a conoscenza zero" significa che le prove possono verificare il calcolo senza rivelare i dati della transazione sottostante, consentendo applicazioni che tutelano la privacy. Le prove di validità sono considerate una delle tecnologie più promettenti per scalare le blockchain ereditando al contempo le garanzie di sicurezza della catena di livello 1 sottostante.
Origine e storia
| Data | Event |
| 1985 | Goldwasser, Micali e Rackoff introducono il concetto di dimostrazioni a conoscenza zero nel loro articolo fondamentale "The Knowledge Complexity of Interactive Proof Systems" |
| 1992 | Le basi teoriche per le dimostrazioni succinte sono poste dal teorema PCP (Probabilistically Checkable Proofs) |
| 2012 | Bitansky et al. definiscono formalmente gli SNARK (argomenti sintetici non interattivi della conoscenza) |
| 2016 | Zcash viene lanciato come la prima grande criptovaluta che utilizza zk-SNARK per transazioni private |
| 2018 | Eli Ben-Sasson e il team di StarkWare presentano zk-STARK: configurazione trasparente, prove di validità resistenti ai quanti |
| 2019 | Emerge il concetto di ZK-Rollups: utilizzare prove di validità per scalare Ethereum verificando il calcolo batch off-chain |
| 2020 | Loopring e zkSync lanciano le prime implementazioni di ZK-Rollup sulla rete principale di Ethereum per i trasferimenti di token |
| 2021-2023 | StarkNet (utilizzando STARK) e zkSync Era (utilizzando SNARK) lanciano ZK-Rollup generici con supporto per contratti intelligenti |
| 2023 | Lancio di Polygon zkEVM, Scroll e Linea, che rendono gli ZK-Rollup equivalenti a EVM una realtà |
| 2024-2025 | Le prove di validità si estendono oltre i rollup alla verifica cross-chain, dimostrando il calcolo su diverse blockchain |
"Le prove di validità ci consentono di comprimere settimane di calcoli in un'unica affermazione matematica immediatamente verificabile. Questo è il futuro della scalabilità della blockchain." — Eli Ben-Sasson, co-fondatore di StarkWare
Come funziona
"` Prova di validità in un ZK-Rollup ==================================
OFF-CHAIN (Rollup Sequencer / Prover) ┌──────────────────────────────────────┐ │ │ │ 1. Raccogli le transazioni (TX1…TX5000) │ │ │ │ 2. Esegui tutte le transazioni │ │ State_old ──► State_new │ │ │ │ 3. Genera la prova di validità │ │ ┌─────────────────────┐ │ │ │ PROVER (lavoro pesante) │ │ │ │ │ │ │ │ Input: │ │ │ │ – State_old │ │ │ │ – Transazioni │ │ │ │ – State_new │ │ │ │ │ │ │ Output: │ │ │ │ π (prova) │ │ │ │ ~200-500 byte │ │ │ └─────────────────────┘ │ │ │ │ 4. Invia a L1: {State_new, π} │ └──────────────────────────────────────┘ │ ▼ ON-CHAIN (Ethereum L1) ┌──────────────────────────────────────┐ │ │ │ 5. Verifica la prova │ │ ┌──────────────────────────┐ │ │ │ VERIFICATORE (lavoro veloce) │ │ │ │ │ │ │ │ │ Verifica: π dimostra che │ │ │ │ State_old + TXs = │ │ │ │ State_new correttamente │ │ │ │ │ │ │ │ Costo: ~200K-500K gas │ │ │ │ Tempo: millisecondi │ │ │ └─────────────────────┘ │ │ │ │ 6. Se valido → Accetta State_new │ │ LA DEFINITIVITÀ È IMMEDIATA │ └────────────────────────────────────┘
Prova di validità vs. prova di frode:
Prova di validità (ZK-Rollup) ────────────────────────── Batch TX ──► Dimostrazione corretta ──► Invia prova ──► Finalità immediata Tempo: Generazione prova (~10-30 min) + conferma L1
A prova di frode (rollup ottimistico) ───────────────────────────────── Batch TX ──► Presupposto corretto ──► Finestra di contestazione di 7 giorni ──► Tempo di definitività: 7 giorni (a meno che non venga contestato) “`
| Caratteristica | zk-SNARKs | zk-STARK |
| Dimensione della prova | Molto piccolo (~200 byte) | Più grande (~50-200 KB) |
| Tempo di verifica | Molto veloce (~10 ms) | Veloce (~50-100 ms) |
| Tempo di prova | Da moderato a alto | Alto |
| Configurazione affidabile | Obbligatorio (cerimonia) | Non richiesto (trasparente) |
| Resistenza quantistica | No (si basa su curve ellittiche) | Sì (basato su hash) |
| Usato da | zkSync, Poligono zkEVM, Scorrimento | StarkNet, StarkEx |
| Fondazione matematica | Coppie di curve ellittiche | Funzioni hash, protocollo FRI |
In parole semplici
- Una ricevuta matematicaImmagina di aver risolto un puzzle da 10,000 pezzi. Invece di chiedere a qualcuno di verificarlo ricostruendo l'intero puzzle (rieseguendo tutte le transazioni), gli consegni una piccola ricevuta che dimostra matematicamente che il puzzle è completo. Quella ricevuta è la prova di validità: piccola ma conclusiva.
- Comprimi migliaia in uno: Una prova di validità comprime la verifica di migliaia di transazioni in un'unica, piccola prova che Ethereum può verificare in un'unica operazione. Invece di elaborare 5,000 transazioni singolarmente, Ethereum verifica una sola prova e si fida che tutte le 5,000 siano corrette.
- Dimostrare senza mostrare: La proprietà "zero-knowledge" significa che è possibile dimostrare che un calcolo è stato eseguito correttamente senza rivelare i dati effettivi. Ad esempio, è possibile dimostrare di avere fondi sufficienti per una transazione senza rivelare il saldo esatto, come dimostrare di avere più di 21 anni senza mostrare la propria data di nascita.
- Finalità immediata vs. periodo di attesa: Con le prove di validità, una volta verificata la prova su Ethereum, le transazioni sono immediatamente definitive. Questo contrasta con gli Optimistic Rollup, in cui è necessario attendere 7 giorni per un periodo di verifica. Le prove di validità sostituiscono la fiducia con la matematica.
- Difficile da creare, facile da controllare: Generare una prova di validità richiede notevoli risorse computazionali (server potenti, minuti o ore di elaborazione). Ma verificare la prova è estremamente semplice: uno smart contract di Ethereum può verificarla in una frazione di secondo. Questa asimmetria è ciò che rende la tecnologia potente.
Esempi del mondo reale
| Scenario | Implementazione/Attuazione | Risultato |
| Scalabilità ZK-Rollup | zkSync Era elabora le transazioni Ethereum off-chain e invia prove di validità alla rete principale di Ethereum | Gli utenti pagano commissioni 5-10 volte inferiori rispetto a Ethereum L1, ereditando le garanzie di sicurezza di Ethereum attraverso prove matematiche |
| Transazioni private | Zcash utilizza zk-SNARK per dimostrare che le transazioni sono valide senza rivelare mittente, destinatario o importo | Transazioni di criptovaluta completamente private che sono ancora verificabili dai nodi di rete, risolvendo il compromesso tra privacy e trasparenza |
| Ponti trasversali | Succinct Labs e Polymer utilizzano prove di validità per verificare lo stato da una blockchain all'altra | Comunicazione cross-chain senza fiducia, senza affidarsi a multisig o comitati: la prova garantisce matematicamente lo stato della catena sorgente |
| Identità decentralizzata | Gli utenti generano prove di validità che dimostrano di soddisfare determinati criteri (età, intervallo di punteggio di credito) senza rivelare dati personali | KYC che tutela la privacy e verifica dell'identità che soddisfa i requisiti di conformità senza esporre informazioni sensibili |
Vantaggi
| Vantaggio | Descrizione |
| Finalità immediata | Le transazioni sono definitive non appena la prova viene verificata su L1, senza la finestra di verifica di 7 giorni come per gli Optimistic Rollups |
| Sicurezza matematica | La sicurezza si basa sulla matematica (ipotesi crittografiche), non su incentivi economici o su ipotesi di maggioranza onesta |
| Compressione dati | Le prove di validità possono verificare il calcolo senza che il verificatore abbia bisogno di tutti i dati delle transazioni sottostanti, consentendo una compressione estrema |
| Capacità di privacy | La proprietà a conoscenza zero consente transazioni private e divulgazione selettiva: dimostrare che qualcosa è vero senza rivelare il perché |
| Scalabilità | Una singola prova può attestare milioni di transizioni di stato, consentendo teoricamente una produttività off-chain illimitata |
Svantaggi e rischi
| Rischio | Descrizione |
| Centralizzazione del dimostratore | La generazione di prove di validità richiede hardware costoso e specializzato, che porta alla centralizzazione dei nodi di prova |
| Costo computazionale | La generazione di prove richiede un dispendio di risorse estremamente elevato, aggiungendo latenza e costi infrastrutturali agli operatori di rollup |
| Configurazione attendibile (SNARK) | Gli zk-SNARK richiedono una cerimonia di installazione affidabile una tantum; se compromessi, potrebbero essere generate prove false in modo non rilevabile |
| Complessità e rischio di audit | I circuiti ZK e i sistemi di prova sono matematicamente complessi, rendendo difficile l'audit e aumentando il rischio di bug sottili |
| Sfide di compatibilità EVM | Generazione di prove di validità per arbitrari EVM l'esecuzione è tecnicamente difficile; molti ZK-Rollup non sono ancora completamente equivalenti a EVM |
Suggerimenti per la gestione del rischio:
- Quando si utilizzano le piattaforme ZK-Rollup, verificare che il sistema di prova sia stato sottoposto a più audit di sicurezza indipendenti
- Capire se il rollup utilizza SNARK (è richiesta una configurazione attendibile) o STARK (trasparente, nessuna configurazione attendibile)
- Monitorare la decentralizzazione del dimostratore: un'unica entità di dimostratore crea rischi di censura e di vitalità
- Tieni presente che la tecnologia ZK è in rapida evoluzione; le prime implementazioni potrebbero presentare limitazioni che vengono risolte nelle versioni successive
FAQ
D: Qual è la differenza tra una prova di validità e una prova di frode?
A: Una prova di validità dimostra matematicamente che un batch di transazioni è stato eseguito correttamente prima di essere accettato. Una prova di frode presuppone che il batch sia corretto e concede a chiunque 7 giorni per presentare prove di frode. Le prove di validità forniscono una finalità immediata, ma sono computazionalmente costose da generare. Le prove di frode sono più economiche, ma richiedono un lungo periodo di attesa e si basano sul monitoraggio della blockchain da parte di almeno una persona onesta.
D: Le dimostrazioni di validità sono la stessa cosa delle dimostrazioni a conoscenza zero?
A: Non esattamente. Tutte le prove a conoscenza zero sono prove di validità (dimostrano che il calcolo è corretto), ma non tutte le prove di validità sono a conoscenza zero. La proprietà "a conoscenza zero" significa specificamente che la prova non rivela nulla sui dati sottostanti, se non il fatto che l'affermazione è vera. Una prova di validità può verificare la correttezza pur rivelando i dati della transazione.
D: Perché gli zk-SNARK necessitano di una configurazione affidabile mentre gli zk-STARK no?
A: Gli zk-SNARK si basano sulla crittografia a curve ellittiche, che richiede la generazione di parametri segreti durante una "cerimonia" iniziale. Se qualcuno salvasse questi parametri segreti, potrebbe falsificare le prove. Le cerimonie di calcolo multipartitiche mitigano questo rischio. Gli zk-STARK utilizzano funzioni hash e tecniche algebriche che non richiedono parametri segreti, rendendoli "trasparenti" – non necessitano di alcuna ipotesi di fiducia.
D: Quanto tempo ci vuole per generare una prova di validità?
A: Il tempo di generazione della prova varia a seconda del sistema e della dimensione del batch. Per un ZK-Rollup che elabora alcune migliaia di transazioni, la generazione della prova richiede in genere dai 5 ai 30 minuti utilizzando hardware GPU o FPGA specializzato. La ricerca sta lavorando attivamente per ridurre questo tempo a pochi secondi attraverso algoritmi migliori e acceleratori hardware dedicati.
D: Le prove di validità possono essere applicate al di fuori della blockchain?
A: Sì. Le prove di validità (in particolare le prove a conoscenza zero) trovano applicazione nella verifica dell'identità (dimostrare l'età senza rivelare la data di nascita), nell'integrità della catena di approvvigionamento (dimostrare l'autenticità di un prodotto senza rivelare segreti commerciali), nei sistemi di voto (dimostrare che un voto è stato conteggiato correttamente senza rivelarne il risultato) e nell'apprendimento automatico (dimostrare che un modello è stato addestrato correttamente su dati validi).
fonti
- Goldwasser, Micali, Rackoff — “La complessità della conoscenza dei sistemi di prova interattivi” (1985)
- Ben-Sasson et al. — “Integrità computazionale scalabile, trasparente e post-quantistica sicura” (articolo di zk-STARK, 2018)
- Ethereum Foundation — Roadmap incentrata sul rollup e specifiche di prova di validità
- Vitalik Buterin — “Una guida incompleta ai rollup” (2021)
- L2Beat — Analisi del sistema di sicurezza e prova ZK-Rollup
Suggerimento UPay: nella scelta tra le soluzioni Layer 2 , i rollup basati su prove di validità (ZK-Rollup) offrono prelievi più rapidi verso Ethereum rispetto agli Optimistic Rollup, che richiedono un periodo di verifica di 7 giorni. Se trasferisci frequentemente asset tra L1 e L2, la finalità istantanea delle prove di validità può farti risparmiare tempo di attesa significativo e migliorare l'efficienza del capitale.
Disclaimer: Questo contenuto ha solo scopo didattico e non costituisce consulenza finanziaria. Si consiglia di condurre sempre le proprie ricerche (DYOR) e di consultare consulenti finanziari qualificati prima di prendere decisioni di investimento.
UPay — Rendere le criptovalute un'enciclopedia









