Come il percorso da zkEVM a zkVM ha migliorato la scalabilità della Blockchain

La Beta Stage 2 di Polygon zkEVM accelererà la crescita delle DApp e l'attività DeFi
La tecnologia blockchain ha fatto molta strada dall'inizio di Bitcoin più di un decennio fa. Sebbene le reti blockchain iniziali fossero rivoluzionarie per il loro approccio decentralizzato, hanno affrontato sfide significative, in particolare per quanto riguarda la scalabilità. Man mano che le applicazioni e i casi d'uso della blockchain continuano ad espandersi, trovare soluzioni ai problemi di scalabilità è diventato una priorità assoluta.
Uno degli avanzamenti promettenti in questo ambito è la transizione da zkEVM (Zero-Knowledge Ethereum Virtual Machine) a zkVM (Zero-Knowledge Virtual Machine), che ha il potenziale per migliorare drasticamente la scalabilità della blockchain. In questo articolo, esploreremo il mondo di zkEVM, esploreremo le sue limitazioni e capiremo come l'evoluzione verso zkVM sia destinata a portare miglioramenti sostanziali nella scalabilità della blockchain.
L'ascesa delle prove a conoscenza zero (ZKP)
Le prove a conoscenza zero svolgono un ruolo fondamentale nella tutela della privacy degli utenti su Internet, soprattutto mentre ci impegniamo per un'adozione diffusa sulla blockchain. Promettono anche di risolvere le sfide computazionali. Attualmente, ci sono due percorsi principali per raggiungere questo obiettivo: zkEVM e zkVM. In questa esplorazione, esamineremo entrambi gli approcci, valutando i loro vantaggi e svantaggi. Tuttavia, prima di approfondire questa analisi, è essenziale comprendere cosa stiamo ottimizzando e perché la privacy riveste una tale importanza.
Nel campo dell'evoluzione crittografica, proprio come nella controparte biologica, lo sviluppo dei tratti è guidato dall'obiettivo di ottimizzare risultati specifici. Bitcoin, ad esempio, ha dato priorità alla sicurezza sopra ogni altra cosa, riconoscendo che la valuta digitale decentralizzata doveva essere inequivocabilmente sicura prima di poter ottenere accettazione e adozione diffusa. Ethereum ha seguito un percorso simile, enfatizzando la sicurezza e introducendo un ulteriore livello: la programmabilità offerta dagli smart contract.
Queste iterazioni nell'evoluzione crittografica tendono a costruirsi l'una sull'altra, portando ciascuna il proprio insieme unico di compromessi. Nel caso di Ethereum, ogni nodo è tenuto a rieseguire ogni transazione, presentando sfide computazionali formidabili che si traducono in commissioni gas elevate e velocità di transazione lente. La decisione di eseguire i calcoli direttamente sulla blockchain è stata presa per migliorare la sicurezza e la trasparenza. Tuttavia, ciò comporta un costo: prestazioni e privacy compromesse.
I rollup sono emersi come soluzione per migliorare la scalabilità riducendo i carichi computazionali associati a Ethereum. Sebbene inizino ad affrontare il problema delle prestazioni, non tengono conto delle preoccupazioni sulla privacy. Questo è significativo perché la privacy è diventata un prerequisito per le applicazioni che mirano ad ampliare la propria base di utenti. Gli utenti richiedono sempre più controllo sui propri dati e stanno diventando diffidenti verso le entità che cercano un accesso illimitato alle loro informazioni.
Gli sviluppatori di applicazioni hanno riconosciuto questa crescente tendenza verso la privacy e la sua necessità. Di conseguenza, hanno esplorato attivamente metodi per tutelare la privacy attraverso l'uso di prove a conoscenza zero (ZKP). Questi protocolli crittografici consentono agli utenti o alle applicazioni di verificare la veridicità di un'affermazione senza divulgare alcuna informazione aggiuntiva. Ad esempio, gli ZKP possono confermare che un utente ha più di 18 anni senza rivelare l'età esatta o la data di nascita.
Come evidenziato nel rapporto 2023 di a16z sullo stato del settore crypto, l'adozione della tecnologia ZK-proof da parte degli sviluppatori è destinata ad aumentare ulteriormente. Questa tendenza è guidata da un aumento delle pubblicazioni accademiche e da un numero crescente di transazioni quotidiane che coinvolgono la verifica delle prove ZKP sulla rete Ethereum. L'impulso dietro gli ZKP dimostra la loro crescente importanza nella ricerca di un equilibrio tra privacy, sicurezza e scalabilità nello spazio blockchain.
Comprendere lo zkVM
Il primo aspetto che deve essere definito è: cosa costituisce una macchina virtuale (VM)? In sintesi, una VM è un programma software in grado di eseguire altri programmi, funzionando tipicamente come un ciclo iterativo che esegue un insieme specifico di istruzioni, queste istruzioni che rappresentano il "programma".
L'Ethereum Virtual Machine (EVM), nello specifico, funge da VM responsabile dell'esecuzione degli smart contract di Ethereum. La compilazione originale delle istruzioni supportate e dei rispettivi comportamenti è stata delineata nel 2014 nel seminale "Yellow Paper" (documento giallo), distinto non solo dalla sua importanza ma anche dal suo colore giallo distintivo, scritto da Gavin Wood. Il documento mantiene uno stato di aggiornamenti continui, mirando a riflettere l'attuale array di istruzioni supportate.
Una macchina virtuale a conoscenza zero (zk VM), d'altra parte, è essenzialmente una VM implementata come circuito all'interno di un sistema di prova a conoscenza zero (zkp). Questo la distingue dai sistemi zkp convenzionali che si concentrano prevalentemente sulla dimostrazione dell'esecuzione di un programma. Negli zkVM, l'enfasi si sposta sulla verifica dell'esecuzione di una macchina virtuale stessa. Di conseguenza, alcune persone tracciano una distinzione, classificando gli zkp non-VM come parte dell'approccio FPGA (Field-Programmable Gate Array), mentre considerano gli zkVM come costituenti dell'approccio CPU (Central Processing Unit).
All'interno dei sistemi zkp, i programmi o i circuiti sono entità immutabili, proprio come i binari compilati da programmi specifici. Di conseguenza, un circuito zkVM incarna efficacemente un numero predeterminato di iterazioni per il ciclo, che può essere paragonato allo srotolamento del ciclo. In sostanza, uno zkVM è un circuito progettato per eseguire una macchina virtuale. Le istruzioni del programma effettivo possono essere introdotte come input pubblico in questo circuito, consentendo una trasparenza completa riguardo al programma verificato. (Esistono vari metodi per trasmettere le istruzioni del programma alla VM se si desidera esplorare ulteriori alternative.)
Sono emersi diversi progetti zkVM, con almeno tre iniziative degne di nota:
- Cairo: Utilizzato da Starknet, questo progetto è degno di nota per il suo meticoloso documento tecnico, considerato un'opera d'arte. È presente anche un'implementazione sperimentale nota come "turshi" nel framework Kimchi.
- Miden: Un progetto in corso nell'ecosistema Polygon, Miden è attualmente in fase di sviluppo.
- Risczero: Un'altra iniziativa in corso, Risczero mira a supportare il set di istruzioni RISC-V, uno standard ampiamente riconosciuto al di fuori del dominio blockchain.
Ognuno di questi progetti supporta set di istruzioni distinti, rendendoli non interoperabili tra loro.
Tipi di zkVM
Il campo delle zk VM può essere categorizzato in due tipi distinti:
- VM ottimizzate per zk: Esempi notevoli includono Cairo e Miden. Queste VM sono progettate meticolosamente per prioritizzare l'efficienza, rendendole significativamente più veloci. Il loro obiettivo principale è facilitare un'integrazione senza interruzioni con i sistemi di prova a conoscenza zero (zkp), semplificando il processo di verifica.
- VM del mondo reale: Questa categoria comprende VM come RiscZero, che supporta il set di istruzioni RISC-V, e vari zkEVM personalizzati per l'Ethereum Virtual Machine (EVM). Le VM del mondo reale sono destinate a fornire compatibilità con set di istruzioni ed ecosistemi consolidati al di fuori del regno delle prove a conoscenza zero.
La motivazione dietro il supporto dell'EVM può essere attribuita a diversi motivi convincenti. In primo luogo, per Ethereum stesso, consente la creazione di prove che comprendono l'intera transizione di stato, dallo stato genesis all'ultimo stato di Ethereum. Questa capacità è esemplificata da progetti come Mina.
In secondo luogo, per i progetti non Ethereum, l'adozione della compatibilità EVM offre il vantaggio di incorporare senza problemi progetti e applicazioni dall'ecosistema Ethereum, come Uniswap. Ciò non solo facilita l'interoperabilità, ma presenta anche l'opportunità di attrarre sviluppatori dalla comunità Ethereum verso nuovi progetti.
Meccanismo dello zkVM
ZkVM, derivante dal nostro lavoro precedente su TxVM e influenzato dai design di Bitcoin ed Ethereum, introduce un nuovo formato di transazione. In ZkVM, una transazione è rappresentata come un programma che manipola direttamente il flusso di attività come oggetti di prima classe, aggiornando lo stato della blockchain tramite un registro delle transazioni. Questa separazione dell'applicazione del registro delle transazioni dalla convalida consente un design altamente scalabile fornendo al contempo un ambiente robusto per contratti personalizzati.
Per migliorare la scalabilità della blockchain e abilitare trasferimenti di valore confidenziali, ZkVM impiega un modello UTXO (Unspent Transaction Output) per rappresentare i saldi. Tutti i saldi sono espressi come insiemi di output non spesi (UTXO), che possono essere creati, distrutti e manipolati all'interno delle transazioni. Questi UTXO sono memorizzati in modo efficiente come radici di Merkle utilizzando lo schema Utreexo, riducendo significativamente i requisiti di archiviazione e facilitando il deploy più ampio di nodi di validazione completa.
In ZkVM, ogni output è un contratto memorizzato nello stato della blockchain, contenente più elementi protetti da un predicato, ovvero una condizione che deve essere soddisfatta per sbloccare tali elementi. ZkVM utilizza un design basato su Taproot, che consente di sbloccare i contratti sia tramite firme crittografiche sia eseguendo un sottoprogramma incorporato che verifica condizioni personalizzate.
I contratti in ZkVM fungono da blocchi costruttivi versatili per protocolli di livello superiore come account, libri degli ordini e canali di pagamento. Questa flessibilità consente a piattaforme come Stellar di spostare le scelte di progettazione del protocollo lontano dallo strato critico per il consenso, promuovendo la sperimentazione con una vasta gamma di applicazioni decentralizzate.
Per quanto riguarda la riservatezza, ZkVM raggiunge un equilibrio utilizzando lo schema Taproot nei predicati. La logica del contratto non deve essere rivelata se tutte le parti cooperano, ma la sicurezza rimane intatta se non lo fanno. Anche quando la logica del contratto deve essere divulgata, dati come i saldi e i parametri del contratto rimangono confidenziali grazie a un sistema di vincoli verificato con zero-knowledge.
ZkVM sfrutta il sistema di prova zero-knowledge Bulletproofs, crittografando valori e dati per impostazione predefinita come impegni di Pedersen. Gli utenti possono specificare espressioni aritmetiche e logiche su valori segreti, che vengono automaticamente trasformati in un sistema di vincoli Bulletproofs. Le transazioni sono compatte ed efficienti, con transazioni di piccole dimensioni che variano da 1 a 1,5 KB e i pagamenti aggregati comportano un costo marginale di soli 200 byte per coppia input-output. La verifica è altamente parallelizzabile, richiedendo solo circa 1 millisecondo per output. Questa efficienza consente a ZkVM di prioritizzare la sicurezza senza compromettere la crittografia dei dati, garantendo che i dati siano rivelati esclusivamente alle parti autorizzate su base di necessità di conoscenza. Inoltre, il framework Bulletproofs elimina la necessità di una configurazione fidata, consentendo la creazione di nuovi protocolli sopra ZkVM senza richiedere aggiornamenti dell'intera rete per ogni funzionalità.
La necessità di passare da zkEVM a zkVM
Limitazioni di zkEVM
Sebbene zkEVM abbia introdotto miglioramenti significativi, presentava ancora alcune limitazioni che ostacolavano il suo potenziale di scalabilità:
- Compatibilità limitata: zkEVM era progettato principalmente per la rete Ethereum. Ciò significava che altre piattaforme blockchain non potevano adottare facilmente la tecnologia, limitandone l'impatto più ampio sull'ecosistema blockchain.
- Complessità: L'implementazione di zkEVM richiedeva una profonda comprensione delle prove zero-knowledge e della crittografia. Questa complessità rendeva difficile per gli sviluppatori integrare zkEVM nei loro progetti, limitando ulteriormente la sua adozione.
- Sfide di archiviazione e dati: zkEVM non affrontava efficacemente il problema dell'archiviazione dei dati sulla blockchain. I grandi requisiti di archiviazione dei dati rimanevano un collo di bottiglia per la scalabilità.
La transizione a zkVM: una svolta nella scalabilità
Riconoscendo le limitazioni di zkEVM, la comunità blockchain si è impegnata in un percorso per sviluppare una soluzione più versatile e scalabile, portando alla nascita di zkVM, o Zero-Knowledge Virtual Machine.
zkVM si basa sui principi fondamentali di zkEVM affrontandone le carenze. Esploriamo come zkVM sia pronta a rivoluzionare la scalabilità della blockchain:
- Compatibilità cross-platform: A differenza di zkEVM, zkVM è progettato per essere agnostico rispetto alla blockchain. Ciò significa che può essere integrato in varie reti blockchain, non limitato a Ethereum. Questa maggiore compatibilità apre la strada a un impatto più significativo di zkVM sull'intero ecosistema blockchain.
- Migliore esperienza utente: zkVM mira a semplificare il processo di implementazione per gli sviluppatori. Offrendo strumenti e interfacce user-friendly, zkVM rende più facile per gli sviluppatori sfruttare il potere delle prove zero-knowledge, riducendo la barriera all'ingresso.
- Gestione dei dati migliorata: zkVM affronta il problema dell'archiviazione dei dati in modo più efficace. Introduce tecniche innovative per la compressione e l'archiviazione dei dati, riducendo i requisiti di archiviazione sulla blockchain. Questa ottimizzazione ha un impatto positivo diretto sulla scalabilità riducendo la dimensione dei dati della blockchain.
- Elaborazione delle transazioni più rapida: Con le capacità di calcolo off-chain di zkVM, il carico computazionale sulla rete blockchain è ulteriormente ridotto. Ciò porta a tempi di elaborazione delle transazioni più veloci, commissioni inferiori e prestazioni complessive migliorate.
Per cosa stiamo ottimizzando?
Lockheed Martin si è impegnata nell'ambizioso compito di creare l'F-35, immaginandolo come un caccia versatile in grado di sostituire i caccia specializzati aria-aria e aria-terra. Tuttavia, questo sforzo ha incontrato significativi ostacoli, rimanendo un decennio indietro rispetto al programma previsto e guadagnandosi la reputazione, tra gli esperti del settore, di uno dei caccia meno di successo mai prodotti.
L'aspetto chiave di questa esperienza è che quando un sistema è progettato con uno scopo specifico in mente, spesso eccelle nel soddisfare quel ruolo particolare rispetto a una soluzione che tenta di ottimizzare più obiettivi contemporaneamente.
Tracciando un parallelo con il mondo della blockchain, Ethereum è stato inizialmente concepito come una piattaforma completamente pubblica e trasparente. Se si tenta di introdurre funzionalità di privacy in una tale blockchain, è improbabile che si raggiunga lo stesso livello di prestazioni di un sistema progettato con la privacy come principio fondamentale fin dall'inizio. Questo presenta sfide ingegneristiche, poiché gli sviluppatori devono adattare programmi che non erano originariamente destinati a funzionare in questo contesto, portando alla creazione di circuiti complessi e ingombranti.
Tuttavia, l'approccio alternativo prevede lo sviluppo di uno strato applicativo progettato specificamente per la privacy. Questo approccio consente di ottimizzare le funzionalità relative alla privacy mentre si traggono vantaggio dai benefici offerti dalle prove zero-knowledge, un argomento che esploreremo nella sezione seguente.
Applicazioni nel mondo reale di zkVM e zkEVM
Sia zkEVM che zkVM trovano applicazioni in vari settori, promettendo di trasformare le industrie e i casi d'uso della blockchain:
- Rivoluzione DeFi: Le piattaforme di Finanza Decentralizzata (DeFi) possono sfruttare zkVM e zkEVM per migliorare la velocità delle transazioni, ridurre le commissioni e proteggere i dati finanziari sensibili.
- Trasformazione della Catena di Approvvigionamento: Una maggiore trasparenza e tracciabilità nelle catene di approvvigionamento sono possibili con zkVM e zkEVM, riducendo le frodi e aumentando l'efficienza.
- Sicurezza dei Dati Sanitari: zkEVM e zkVM possono garantire la privacy e la sicurezza dei dati sanitari, consentendo la condivisione sicura delle informazioni tra le parti autorizzate.
- Giochi e NFT: Il settore dei videogiochi e i marketplace di Token Non Fungibili (NFT) possono beneficiare di transazioni più veloci e di una gestione sicura dei dati forniti da zkVM e zkEVM.
Il futuro di zkVM e della scalabilità della blockchain
Man mano che zkVM guadagna popolarità nello spazio blockchain, ha il potenziale per affrontare i problemi di scalabilità di lunga data che hanno limitato l'adozione e la crescita della blockchain. Tuttavia, come qualsiasi tecnologia emergente, ci sono sfide da superare e considerazioni da tenere a mente:
- Ostacoli all'adozione: Sebbene la compatibilità di zkVM con varie blockchain sia un vantaggio significativo, l'adozione diffusa dipenderà comunque dalla disponibilità dei progetti blockchain a integrare questa tecnologia nelle loro reti.
- Preoccupazioni per la sicurezza: Le prove zero-knowledge introducono tecniche crittografiche complesse e qualsiasi vulnerabilità potrebbe rappresentare rischi significativi per la sicurezza. Il continuo auditing e il miglioramento delle implementazioni di zkVM sono cruciali per mantenere la fiducia degli utenti.
- Panorama normativo: Man mano che la tecnologia blockchain evolve, continuerà a essere soggetta a scrutinio normativo. Resta da vedere come i regolatori tratteranno le prove zero-knowledge e le loro applicazioni, il che potrebbe influenzare l'adozione futura di zkVM.
Conclusione
Il percorso da zkEVM a zkVM rappresenta un passo avanti significativo nell'affrontare le sfide di scalabilità della blockchain. Sebbene zkEVM abbia gettato le basi, zkVM offre una soluzione più versatile e scalabile che ha il potenziale di rivoluzionare il modo in cui la tecnologia blockchain viene utilizzata in vari settori.
La transizione a zkVM non è priva di sfide, ma i benefici che apporta in termini di compatibilità cross-platform, facilità d'uso, gestione dei dati e velocità di elaborazione delle transazioni la rendono un avanzamento convincente nello spazio blockchain. Man mano che zkVM continua a evolversi e a trovare il suo posto negli ecosistemi blockchain, possiamo aspettarci di vedere applicazioni blockchain più scalabili ed efficienti che hanno il potenziale di trasformare le industrie e migliorare la vita delle persone in tutto il mondo.
Domande frequenti
Cos'è lo zkEVM e perché era insufficiente per la scalabilità della blockchain?
Lo zkEVM sta per Zero-Knowledge Ethereum Virtual Machine. Era limitato nella scalabilità perché si concentrava principalmente su Ethereum, mancava di compatibilità cross-chain e non affrontava in modo efficace l'archiviazione dei dati e l'usabilità.
Cos'è lo zkVM e in cosa differisce dallo zkEVM?
Lo zkVM, o Zero-Knowledge Virtual Machine, è una soluzione più versatile e compatibile con le diverse blockchain che si basa sullo zkEVM. Semplifica lo sviluppo, migliora la gestione dei dati e offre un elaborazione delle transazioni più rapida rispetto allo zkEVM.
Come migliora lo zkVM l'esperienza utente per gli sviluppatori blockchain?
Lo zkVM semplifica lo sviluppo fornendo strumenti e interfacce user-friendly, riducendo la complessità dell'implementazione delle prove a conoscenza zero e rendendo più facile per gli sviluppatori sfruttare questa tecnologia.
Quali sono le applicazioni pratiche di zkVM e zkEVM negli ecosistemi blockchain?
Sia zkVM che zkEVM trovano applicazione in DeFi, supply chain, sicurezza dei dati sanitari, gaming, NFT e altro ancora, offrendo velocità di transazione migliorata, sicurezza dei dati e privacy.
Quali sfide affronta lo zkVM nella sua adozione e nel suo sviluppo futuro?
Le sfide includono l'adozione diffusa tra i progetti blockchain, la garanzia della sicurezza nelle complesse tecniche crittografiche e la gestione delle potenziali barriere normative mentre la tecnologia evolve.
Dichiarazione di responsabilità. Le informazioni fornite non costituiscono consigli di trading. Cryptopolitan.com non si assume alcuna responsabilità per eventuali investimenti effettuati sulla base delle informazioni fornite in questa pagina. Si consiglia vivamente di effettuare ricerche indipendenti e/o consultare un professionista qualificato prima di prendere qualsiasi decisione di investimento.

Shayan Chowdhury
Shayan è un giornalista professionista specializzato in criptovalute, con focus su moduli crittografici e sviluppo blockchain. È stato reporter per CoinPedia e redattore (stagista) di notizie presso Binance. Dal ottobre 2022 ricopre il ruolo di redattore per le previsioni dei prezzi delle criptovalute su Cryptopolitan. Shayan ha studiato al Bidhannagar Government College, dove si è laureato in Matematica.
















