Questo articolo è un contributo della comunità. L'autore è Kenny Li, cofondatore di Manta Network, un protocollo Layer 1 programmabile per la privacy alimentato dalla tecnologia di prova a conoscenza zero.

Le opinioni in questo articolo sono del contributore/autore e non riflettono necessariamente quelle di Binance Academy.

TL;DR

  • Un zero-knowledge Ethereum Virtual Machine (zkEVM) è una macchina di stato Ethereum che può eseguire contratti intelligenti in modo compatibile con la tecnologia di prova a conoscenza zero (ZKP).

  • Gli zkEVM estendono le capacità dei rollup a conoscenza zero (zk-rollups) su Ethereum per supportare applicazioni decentralizzate (DApps).

  • Gli zkEVM rendono facile distribuire sia progetti Ethereum esistenti che nuovi utilizzando ZKP per migliorare l'ecosistema Ethereum.

Introduzione

Gli sviluppatori originali di Ethereum non hanno considerato la tecnologia ZKP quando hanno proposto per la prima volta la rete nel 2014. Negli ultimi anni, tuttavia, ZKP ha guadagnato attenzione e ci si aspetta che svolga un ruolo molto più prominente nello spazio blockchain. Pertanto, gli sforzi per combinare la tecnologia ZKP e la macchina virtuale di Ethereum si sono intensificati.

Per capire cos'è uno zkEVM, rivediamo prima brevemente i suoi due concetti fondamentali: zk-rollups ed EVM.

Cosa sono gli Zk-Rollups?

Un rollup è una soluzione di scalabilità che compila numerose esecuzioni di transazioni al di fuori della catena principale e invia i dati di nuovo alla rete principale come una singola transazione. Questo processo aumenta il throughput riducendo il costo di esecuzione di queste transazioni.

Su Ethereum, le transazioni all'interno di un rollup sono compresse e inviate alla mainnet di Ethereum per il costo di verifica di una singola transazione. La mainnet di Ethereum fornisce liquidazione e verifica i dati delle transazioni contenuti nel rollup.

Uno zk-rollup è un tipo di rollup che utilizza la tecnologia ZKP, una tecnologia crittografica che consente di verificare la validità di un'informazione senza rivelare l'informazione stessa. Gli zk-rollups non hanno bisogno di pubblicare tutti i dati delle transazioni sulla mainnet di Ethereum; devono solo dichiarare le differenze (come le modifiche nello stato dell'account utente) e la prova di validità, abbassando così le commissioni di gas.

La sicurezza degli zk-rollups deriva dalla crittografia ZKP, in cui vengono utilizzati mezzi crittografici per verificare la prova e ottenere la mancanza di fiducia. Questo è diverso da altri rollups come gli optimistic rollups, la cui sicurezza deriva dalla teoria dei giochi economici, dove i cattivi attori sono disincentivati da potenziali perdite e i sfidanti sono motivati da incentivi.

Cos'è l'EVM?

L'EVM è una macchina di stato in cui il sistema degli account di Ethereum e i contratti intelligenti vengono eseguiti. Ogni esecuzione di contratto intelligente attiva l'EVM per passare da uno stato precedente a uno nuovo. L'EVM definisce la regola per calcolare nuovi e validi stati da un blocco all'altro.

Lo stato è un concetto importante in Ethereum. È una struttura dati Merkle Patricia Trie che rappresenta l'attuale stato di Ethereum e consente a chiunque di tracciare le informazioni sulle transazioni dal blocco attuale fino al blocco di genesi.

Tutti i nodi coinvolti nel mantenimento di Ethereum esistono per garantire continuità e consenso, il che consente a ciascun nodo di vedere l'esatto stato attuale. L'EVM gioca un ruolo critico nel mantenere questa coerenza.

Come funziona uno zkEVM?

L'EVM non supporta ZKP per impostazione predefinita. Lo zkEVM mira a garantire la continuità dello stato di Ethereum mentre fornisce la prova che tutte le informazioni sono corrette. In questo modo, i vari fattori coinvolti nel calcolo di questi processi sono verificati mantenendo la sicurezza e la privacy.

Lo zkEVM fa questo replicando l'ambiente di Ethereum come zk-rollups. Prende lo stato iniziale, calcola tutte le transazioni e poi restituisce un nuovo stato aggiornato insieme a una prova ZKP. Questa prova viene inviata a un contratto intelligente verificatore che controlla la correttezza sia dell'output dello stato iniziale che di quello nuovo senza dover verificare tutte le transazioni singolarmente.

Poiché gli zkEVM sono basati sull'EVM, gli sviluppatori possono facilmente portare DApps e contratti intelligenti di Ethereum su zkEVM senza dover eseguire lavori di sviluppo ZKP. In altre parole, gli zkEVM consentono ai zk-rollups di eseguire contratti intelligenti, oltre a scambi di token e pagamenti precedentemente supportati senza zkEVM.

Grazie alla caratteristica di compatibilità dell'EVM, gli sviluppatori possono costruire nuovi prodotti utilizzando gli strumenti EVM esistenti e il linguaggio di programmazione, Solidity, godendo nel contempo della maggiore sicurezza che deriva da zkEVM. Gli stessi vantaggi si applicano anche agli utenti: possono continuare a utilizzare le stesse DApps e strumenti familiari, ma con maggiore sicurezza e privacy.

Compatibilità EVM contro Equivalenza EVM

Quando una blockchain è definita compatibile con EVM, significa che offre un ambiente in cui è possibile distribuire DApps scritte nel linguaggio di programmazione Solidity. Solidity è progettato per sviluppare contratti intelligenti che funzionano sulla rete Ethereum.

In effetti, gli sviluppatori di Ethereum possono copiare e incollare il codice delle DApps esistenti da Ethereum e distribuirlo su altre catene compatibili con EVM con modifiche minime. Per gli utenti, qualsiasi indirizzo di catena compatibile con EVM è lo stesso del loro indirizzo Ethereum.

Questo significa che gli indirizzi sono compatibili con portafogli mainstream come Metamask e Trust Wallet. Attualmente, le principali catene compatibili con EVM includono BNB Chain, Avalanche C-Chain e Polygon.

La compatibilità EVM non deve essere confusa con l'equivalenza EVM, che significa che, dal punto di vista dello sviluppatore DApp, i rollup di Layer 2 sono quasi identici a Layer 1 Ethereum.

Per usare un'analogia con i sistemi operativi, l'equivalenza EVM è simile al ripristino di file e impostazioni tramite Apple Cloud se il computer precedente di un utente e il nuovo computer eseguono entrambi il sistema operativo di Apple.

Al contrario, la compatibilità EVM significa che se un nuovo computer passa a un sistema Windows, i file originali devono essere scaricati tramite cloud storage e convertiti per recuperare le impostazioni preferite e i vecchi file.

Diversi tipi di ZkEVM

Generare e verificare ZKP direttamente utilizzando EVM è estremamente lento perché Ethereum non è stato progettato originariamente per supportare la tecnologia ZKP. In alcuni casi, potrebbe richiedere fino a diverse ore. Tuttavia, è imperativo trovare un equilibrio tra compatibilità EVM ed efficienza ZKP.

Il fondatore di Ethereum, Vitalik Buterin, ha classificato gli zkEVM nei seguenti quattro tipi. Simile al trilemma della blockchain, ognuno di essi ha diversi compromessi tra efficienza delle prestazioni ZKP e compatibilità EVM.

Tipo 1: Equivalenza a livello di consenso — zkEVM che è completamente equivalente a Ethereum

A livello di consenso, un zkEVM di Tipo 1 — noto anche come rollup sancito — è equivalente a Ethereum, e lo stato della catena zkEVM e le transazioni sono identici a quelli di Ethereum. Possono verificare reciprocamente i blocchi e essere utilizzati direttamente con i client di esecuzione di Ethereum.

Gli zkEVM di Tipo 1 rendono Ethereum stesso più scalabile e possono essere introdotti direttamente sulla mainnet di Ethereum. Lo svantaggio è che l'efficienza ZKP è estremamente scarsa e richiede una grande quantità di calcoli per essere verificata. La soluzione è utilizzare validatori paralleli su larga scala o circuiti integrati specializzati per zk-SNARK in futuro.

Gli zkEVM di Tipo 1 con alta efficienza ZK sarebbero la forma più ideale di zkEVM. Attualmente, ci sono molti progetti che stanno costruendo o esplorando questo tipo di zkEVM.

Tipo 2: Equivalenza a livello di bytecode — completamente equivalente a EVM

Il Tipo 2 è completamente equivalente all'EVM ma non a Ethereum. Si differenzia da Ethereum in termini di strutture dati (come la struttura del blocco e l'albero di stato) e elimina alcune operazioni di stack che non sono amichevoli per ZK.

È completamente compatibile con le DApps esistenti di Ethereum, strumenti di debug e infrastruttura per sviluppatori. L'equivalenza a livello di bytecode può accelerare i tempi di provers, sebbene non in modo significativo. Un chiaro svantaggio del Tipo 2 è che è costoso, non sinergico con ZK, con bassa efficienza e costi elevati.

Tipo 2.5: Simile al Tipo 2 ma con modifiche alle commissioni di gas

Il Tipo 2.5 condivide i vantaggi e gli svantaggi del Tipo 2 ma ha commissioni di gas leggermente più basse.

Tipo 3: Equivalenza a livello di bytecode — quasi equivalente a EVM

Basato sul Tipo 2, il Tipo 3 sacrifica ulteriormente la compatibilità per migliorare l'efficienza ZK. Elimina funzioni che sono difficili da implementare su zkEVM, come le precompilazioni, quindi alcuni codici utilizzati nelle DApps che richiedono questa funzione devono essere riscritti.

Tipo 4: Equivalenza a livello di linguaggio di sviluppo — linguaggio di alto livello equivalente a EVM

Gli EVM di Tipo 4 hanno le migliori prestazioni ZK ma una compatibilità relativamente scarsa.

Riflessioni finali

Lo scopo principale dell'implementazione di zkEVM è estendere il supporto al calcolo ZKP all'esecuzione di contratti intelligenti e, in questo modo, estendere le DApps a tutti i protocolli compatibili con EVM. Ma le applicazioni ZKP non si fermano qui.

La tecnologia ZKP può potenzialmente essere compatibile con casi d'uso Web2. Combinare vari casi d'uso Web2 con ZKP potrebbe rendere le applicazioni Web3 più fluide e user-friendly. Garantirebbe inoltre agli utenti già abituati ai browser Internet tradizionali l'accesso a Web3 e, a sua volta, promuoverebbe l'adozione di Web3.

Ulteriori letture

  • Cos'è la Prova a Conoscenza Zero e come influisce sulla Blockchain?

  • Rollup Ottimisti vs. Rollup a Conoscenza Zero: Qual è la Differenza?

  • Migliorare la Trasparenza Cripto con la Prova a Conoscenza Zero


Dichiarazione di non responsabilità e avviso di rischio: Questo contenuto è presentato a voi su base 'as is' per informazioni generali e scopi educativi, senza rappresentanza o garanzia di alcun tipo. Non dovrebbe essere interpretato come consulenza finanziaria, legale o professionale, né è inteso a raccomandare l'acquisto di alcun prodotto o servizio specifico. Dovresti cercare la tua consulenza da professionisti appropriati. Dove l'articolo è stato contribuito da un terzo, ti preghiamo di notare che le opinioni espresse appartengono al contributore terzo e non riflettono necessariamente quelle di Binance Academy. Ti invitiamo a leggere la nostra dichiarazione di non responsabilità qui per ulteriori dettagli. I prezzi degli asset digitali possono essere volatili. Il valore del tuo investimento può scendere o salire e potresti non riottenere l'importo investito. Sei l'unico responsabile delle tue decisioni di investimento e Binance Academy non è responsabile per eventuali perdite che potresti subire. Questo materiale non dovrebbe essere interpretato come consulenza finanziaria, legale o professionale. Per ulteriori informazioni, consulta i nostri Termini di Utilizzo e Avviso di Rischio.