La tecnologia Blockchain rivoluziona il modo in cui pensiamo alla fiducia, alla sicurezza e ai sistemi decentralizzati. Tuttavia, una delle principali sfide che l’adozione della blockchain deve affrontare è la scalabilità. Man mano che il numero di utenti e transazioni su una rete blockchain cresce, la potenza di elaborazione richiesta per convalidare e autenticare le transazioni può diventare un collo di bottiglia, con conseguenti tempi di transazione lenti, commissioni elevate e inefficienze. Negli ultimi anni sono emerse molte soluzioni innovative per affrontare queste sfide di scalabilità, tra cui rollup ZK, rollup Optimistic, Validium e altri. Tra le varie soluzioni di ridimensionamento, zkEVM è una delle più interessanti in questo ambito. Vediamo se zkEVM è davvero il Santo Graal dello scaling!

Cos'è zkEVM?

La Zero-Knowledge Ethereum Virtual Machine (zkEVM) è una macchina virtuale in grado di sviluppare ed eseguire contratti intelligenti con funzionalità a conoscenza zero. Tutti gli zkEVM si sforzano di raggiungere lo stesso obiettivo: fornire la stessa esperienza di rollup ZK della blockchain di Ethereum layer 1 (L1). Nelle prime fasi della corsa allo scaling di Ethereum, i rollup ottimistici come Arbitrum e Optimism avevano un vantaggio significativo perché questo stile di rollup era inizialmente relativamente più semplice e compatibile o addirittura completamente equivalente all’EVM. Grazie a questa affinità tecnica, gli sviluppatori possono evitare di modificare il codice o abbandonare gli strumenti EVM e i contratti intelligenti, migrando o creando contratti intelligenti su una soluzione più scalabile per mantenere la sicurezza e la decentralizzazione L1, ottenendo un'esperienza utente eccellente.

Tipi di zkEVM

Vitalik Buterin divide zkEVM in quattro diversi tipi in base alla compatibilità e alle prestazioni. zkEVM di tipo 1 sarà completamente compatibile con EVM e potrà anche essere utilizzato per aggiornare Ethereum stesso, mentre zkEVM di tipo 4 funzionerà solo con applicazioni Ethereum specifiche. Una spiegazione più tecnica dei vantaggi e degli svantaggi di ciascuna tipologia può essere ricercata sul blog di Vitalik. Ecco la sua ripartizione dei vari tipi di zkEVM:

Immagine dal blog di Vitalik

Tipo 1 e Tipo 2 zkEVM

zkEVM appartiene ai rollup ZK di tipo 1 e tipo 2, che hanno la massima compatibilità con Ethereum. Sono completamente compatibili con la maggior parte delle applicazioni Ethereum poiché non toccano il livello dell'applicazione. Di conseguenza, zkEVM è diventata la prima scelta per gli sviluppatori che creano applicazioni su Ethereum.

La competizione sul percorso di scalabilità si infiamma per vedere quale squadra può produrre i primi zkEVM "Tipo-1" e "Tipo-2" per fornire agli sviluppatori Ethereum soluzioni di scalabilità altamente compatibili senza apportare modifiche importanti alle loro basi di codice Build. Sebbene gli obiettivi siano simili, entrambi adottano approcci diversi.

Nel marzo di quest'anno, diversi progetti di rollup ZK hanno rilasciato le proprie implementazioni zkEVM. Il rilascio pubblico di zkEVM rappresenta il passo più importante verso ciò che Vitalik aveva previsto nel 2021: "Nel medio e lungo termine, con il miglioramento della tecnologia, i rollup ZK vinceranno in tutti gli scenari applicativi."

Sebbene zkEVM di Tipo 1 offra la massima compatibilità con Ethereum, i tempi di prova sono ancora molto lenti perché zkEVM di Tipo 1 replica anche le inefficienze di Ethereum. Attualmente, la generazione delle prove per i blocchi Ethereum richiede ore. zkEVM di tipo 2 fornisce un migliore equilibrio tra compatibilità e prestazioni, fornendo agli sviluppatori una compatibilità sufficiente e riducendo significativamente i tempi di prova. Molte iniziative stanno attualmente dando priorità allo sviluppo di zkEVM di tipo 2.

Il leader competitivo in zkEVM

Immagine da msfew.eth

  • Scorri: Costruisci tipo 2 zkEVM. Il team ha sviluppato zkEVM in collaborazione con il gruppo Privacy & Scaling Exploration. Il passaggio finale prima della mainnet, il test Scroll Alpha, verrà rilasciato nell'agosto 2022.

  • Polygon zkEVM: open source e utilizzo di zkEVM di tipo 2. Utilizza prove ZK per ridurre le commissioni di transazione e aumentare il throughput mantenendo la sicurezza di Ethereum L1. La versione beta della mainnet Polygon zkEVM è stata lanciata ufficialmente il 27 marzo 2023.

  • Era zkSync: utilizzo di zkEVM di tipo 4, creato da Matters Lab. Il suo zkEVM Type-4 ha caratteristiche uniche e le impressionanti capacità di volontà di zkPorter. Di conseguenza, zkSync Era diventa il primo EVM a essere lanciato sulla rete principale e ad essere completamente accessibile al pubblico per trasferire i propri fondi al sistema o distribuire il proprio codice sulla rete.​

  • StarkNet: utilizzo di zkEVM di tipo 4. In effetti, EVM non è una funzione nativa di Starknet. Starknet utilizza il convertitore Warp (fornito da Nethermind) per convertire il codice Solidity in Cairo per supportare l'implementazione del contratto intelligente. Kakarot è un progetto guidato dalla comunità che contribuisce anche alla compatibilità di StarkNet con EVM.

Altri zkEVM

  • Taiko: come affermato sul suo sito web, Taiko si presenta come uno "zk-rollup completamente decentralizzato, equivalente a Ethereum" con zkEVM di tipo 1. Secondo Taiko, essere uno zkEVM di tipo 1 lo distingue dalle altre iniziative nell'elenco e uno dei suoi principali vantaggi è che richiede modifiche minime al codice per semplificare la migrazione.

  • Linea: Type-2 zkEVM alimentato da Consensys. Integrando ZKP con la piena compatibilità EVM, gli sviluppatori sono in grado di creare DApp scalabili o spostare DApp esistenti su nuove piattaforme senza modificare il codice o riscrivere i contratti intelligenti. Il testnet pubblico è stato lanciato il 28 marzo di quest'anno ed è stato aggiunto alle opzioni di rete predefinite dell'estensione Metamask.

Insomma

Il lancio di Polygon zkEVM e zkSync Era sulla rete principale di Ethereum sarà il primo passo più critico nel testare zkEVM con utenti reali e attività DApp. L’accessibilità e la scalabilità di una zkEVM pronta per la produzione ha il potenziale per interrompere la concorrenza non solo tra le varie soluzioni di scalabilità di Ethereum, ma anche tra Ethereum e altre catene di livello 1. L'implementazione di successo di Type-2 zkEVM consentirà agli sviluppatori Ethereum esistenti di estendere le proprie DApp sul codice con cui hanno familiarità, aumentando ulteriormente la viscosità dell'ecosistema Ethereum.

zkEVM rappresenta un passo verso la costruzione di un Ethereum più sostenibile pensando alla comunità degli sviluppatori. Fornendo agli sviluppatori una piattaforma di estensione più compatibile su cui più sviluppatori possono basarsi, liberiamo più spazio di progettazione per l'intero ecosistema. In futuro, un numero maggiore di sviluppatori passerà probabilmente ai rollup ZK di tipo 3 e tipo 4 ad alte prestazioni, che possono scalare meglio Ethereum e fornire più casi d'uso, ma ora con Type-1 e Type-2 zkEVM rende tutto più semplice per gli sviluppatori per passare al rollup.