zkEVM per la verifica dei blocchi di L1
zkEVM è una tecnologia che utilizza le prove a conoscenza-zero per verificare l'esecuzione dei blocchi di Ethereum. Invece di richiedere a ogni di rieseguire tutte le transazioni in un blocco, un singolo attore specializzato (chiamato "prover") esegue il blocco e genera una prova crittografica che l'esecuzione è stata corretta. Qualsiasi nodo può quindi verificare questa prova: un processo che è ordini di grandezza più economico rispetto alla riesecuzione di tutte le transazioni.
Da non confondere con i rollup zkEVM
Il problema della riesecuzione
Oggi, Ethereum utilizza un modello di verifica "N-di-N": ogni validatore deve rieseguire in modo indipendente ogni transazione in ogni blocco per verificare che le modifiche di stato proposte siano corrette. Sebbene questo approccio sia massimamente trustless, crea un collo di bottiglia fondamentale.
Il problema è che il throughput di Ethereum è limitato da ciò che il validatore medio può elaborare. Aumentare il consentirebbe più transazioni per blocco, ma aumenterebbe anche i requisiti hardware per i validatori. Questo minaccia la decentralizzazione: se l'esecuzione di un validatore richiede hardware costoso, meno persone possono partecipare alla messa in sicurezza della rete.
zkEVM offre una via d'uscita da questo compromesso. Passando da "tutti rieseguono" a "uno prova, tutti verificano", Ethereum può aumentare in sicurezza il limite del gas senza aumentare i requisiti hardware dei validatori.
Come funziona la verifica di L1 con zkEVM
La verifica zkEVM trasforma la convalida dei blocchi in un modello "1-di-N":
- Esecuzione: Un prover esegue tutte le transazioni in un blocco, tracciando ogni modifica di stato
- Prova: Il prover genera una prova crittografica (uno SNARK o STARK) che attesta la correttezza dell'esecuzione
- Verifica: I validatori verificano la prova invece di rieseguire le transazioni: questo è drasticamente più economico rispetto alla riesecuzione completa
La garanzia di sicurezza rimane la stessa: se l'esecuzione non era corretta, non può essere generata alcuna prova valida. Ma ora, invece che ogni nodo esegua calcoli costosi, lo fa solo il prover, e la verifica è abbastanza economica da non limitare il limite del gas.
zkEVM di Tipo 1
Gli zkEVM sono classificati in tipi in base alla loro compatibilità con Ethereum:
- Tipo 1: Completamente equivalenti a Ethereum. Nessuna modifica all'EVM, quindi qualsiasi blocco di Ethereum può essere provato esattamente così com'è
- Tipo 2-4: Accettano vari compromessi, modificando il comportamento dell'EVM per facilitare la prova
Per la verifica di L1, il Tipo 1 è essenziale. Lo zkEVM deve essere in grado di provare qualsiasi blocco di Ethereum valido, inclusi i casi limite e i blocchi storici. Qualsiasi deviazione dal comportamento esatto di Ethereum creerebbe problemi di consenso.
La ricerca sugli zkEVM della Ethereum Foundation si concentra sulle implementazioni di Tipo 1 che sono completamente compatibili con l'esecuzione esistente di Ethereum.
Vantaggi per Ethereum
Throughput più elevato
Quando la verifica è economica, il limite del gas può aumentare in sicurezza. Questo espande la capacità della rete e aiuta a stabilizzare le commissioni durante i periodi di alta domanda. L'attuale limite del gas è in parte vincolato dall'hardware dei validatori: zkEVM rimuove questo vincolo.
Decentralizzazione più forte
Con la verifica zkEVM, i validatori devono solo verificare le prove piuttosto che eseguire le transazioni. Questo riduce drasticamente i requisiti hardware per l'esecuzione di un validatore, consentendo a più persone di partecipare alla messa in sicurezza della rete. Una maggiore diversità dei validatori rafforza la resistenza alla censura e la resilienza di Ethereum.
Nota che la prova stessa richiede risorse computazionali significative, maggiori di quelle dell'attuale hardware dei validatori. Tuttavia, a differenza della convalida, la prova non ha bisogno di essere decentralizzata allo stesso modo: è necessaria solo una prova corretta per blocco e chiunque può verificarla rapidamente. La ricerca sui mercati dei prover, sull'aggregazione delle prove e sull'accelerazione hardware mira a garantire che la prova rimanga competitiva e accessibile piuttosto che concentrata tra pochi grandi operatori.
Finalità prevedibile
La verifica delle prove opera in tempo costante indipendentemente dalla complessità del blocco. Questo rende i tempi di attestazione più prevedibili e riduce le attestazioni mancate che possono verificarsi quando i validatori faticano a elaborare blocchi complessi in tempo.
Sfide della prova in tempo reale
La sfida principale per la verifica di L1 con zkEVM è la velocità. I blocchi di Ethereum vengono prodotti ogni 12 secondi, il che significa che le prove devono essere generate in un lasso di tempo simile per essere utili per il consenso.
Le attuali implementazioni zkEVM possono impiegare da minuti a ore per provare un singolo blocco. La ricerca si concentra sul colmare questo divario attraverso:
- Parallelizzazione: Distribuire il lavoro di prova su più macchine
- Hardware specializzato: Progettare circuiti e hardware ottimizzati per le prove ZK
- Miglioramenti algoritmici: Sistemi di prova e design dei circuiti più efficienti
- Prova incrementale: Generare prove man mano che le transazioni vengono eseguite, piuttosto che dopo
Ricerca e implementazioni attuali
La Ethereum Foundation finanzia la ricerca sugli zkEVM attraverso il team Privacy Stewards of Ethereum (PSE) (opens in a new tab). I principali filoni di ricerca includono:
- Prova in tempo reale: Generare prove complete dei blocchi entro slot di 12 secondi
- Integrazione dei client: Standardizzare le interfacce tra i client di esecuzione e i prover
- Incentivi economici: Progettare mercati dei prover e strutture delle commissioni sostenibili
Stato dell'implementazione
Diverse implementazioni zkVM sono in fase di sviluppo e test per la prova dei blocchi di Ethereum:
| Implementazione | Architettura |
|---|---|
| OpenVM (opens in a new tab) | rv32im |
| RISC Zero (opens in a new tab) | rv32im |
| Airbender (opens in a new tab) | rv32im |
| Jolt (opens in a new tab) | rv32im |
| Zisk (opens in a new tab) | rv64ima |
Queste utilizzano macchine virtuali basate su RISC-V per eseguire il bytecode dell'EVM, quindi generano prove ZK della corretta esecuzione. I risultati dei test aggiornati e i progressi sono tracciati nel tracker zkVM della Ethereum Foundation (opens in a new tab).
Come si inserisce zkEVM con gli altri aggiornamenti
La verifica di L1 con zkEVM si collega a diversi altri elementi del piano d'azione di Ethereum:
- Alberi di Verkle: Consentono witness più piccoli per la verifica senza stato, riducendo i dati con cui i prover devono lavorare
- Assenza di stato: zkEVM è un fattore abilitante chiave: con le prove ZK di esecuzione, i nodi non hanno bisogno dello stato completo per verificare i blocchi
- PBS: I costruttori di blocchi potrebbero potenzialmente integrare la generazione di prove, o potrebbe emergere un mercato dei prover separato
- Finalità a slot singolo: Una generazione di prove più rapida potrebbe consentire la finalità a slot singolo con garanzie crittografiche
Letture consigliate
- zkEVM Foundation (opens in a new tab) - Hub ufficiale di ricerca sugli zkEVM della Ethereum Foundation
- Ethproofs (opens in a new tab) - Segui la corsa per provare Ethereum in tempo reale
- zkevm.fyi (opens in a new tab) - Libro tecnico su zkEVM per L1
- Specifiche zkEVM di PSE (opens in a new tab) - Specifiche tecniche
- The Verge (opens in a new tab) - Panoramica di Vitalik sui miglioramenti della verifica
- Blog zkEVM della EF (opens in a new tab) - Analisi delle prestazioni dal team della EF