Introduzione
Ethereum è attualmente la rete blockchain più utilizzata nell’ecosistema. Ha saputo essere protagonista di molte innovazioni di valore. Per raggiungere questo obiettivo, ha dovuto focalizzarsi su alcuni aspetti specifici.
In particolare, abbiamo la sicurezza del protocollo, che ha dimostrato la sua efficacia molte volte, e la decentralizzazione, in contrapposizione all’evolvibilità della rete.
I due pilastri principali, giustamente privilegiati, sono essenziali per lo sviluppo di applicazioni di valore sulla rete Ethereum. Tuttavia, in una blockchain pubblica così popolare, se l’evolvibilità non è efficiente, molti utenti e casi d’uso non potranno sfruttare appieno la rete a causa della bassa capacità di gestione delle transazioni e dei costi elevati.
Qui entra in gioco il progetto Taiko, una soluzione ZK Rollup compatibile con l’Ethereum Virtual Machine (EVM) che mira a fornire ad Ethereum tutta la potenza di elaborazione che merita.
Premessa
Per comprendere il funzionamento e l’importanza del progetto Taiko nell’ecosistema, è essenziale spiegare brevemente alcuni termini chiave.
Cosa sono gli ZK Rollup?
Gli ZK Rollups, così come gli optimistic rollups, sono soluzioni di secondo livello (layer 2) che aumentano la scalabilità di una blockchain di primo livello (layer 1) come Ethereum, Cardano o Tezos.
In breve, gli ZK Rollups processano e eseguono transazioni in lotti al di fuori della blockchain principale (off-chain), pubblicando solo prove di validità (ZK proof) sulla catena principale.
Ogni lotto include una prova crittografica denominata ZK-SNARK o ZK-STARK.
Esistono due sottocategorie di ZK Rollup: i Nativi EVM (Ethereum Virtual Machine) e gli equivalenti EVM.
Per approfondire questi concetti, consigliamo di leggere uno dei nostri articoli dedicati all’argomento.
Cos’è Taiko?
Taiko è una soluzione ZK Rollup equivalente EVM (Ethereum Virtual Machine) che mira a scalare la rete Ethereum.
Come accennato sopra, il progetto Taiko gestirà transazioni off-chain per alleggerire il carico sulla rete principale, pubblicando solo le prove di validità (ZK proof) del tipo ZK-SNARK.
Il progetto si distingue per la sua decisione di prioritizzare l’equivalenza EVM, mirando a rendere lo ZK Rollup il più fedele possibile alle specifiche EVM ed Ethereum, per supportare tutti i contratti intelligenti, le dapps, gli strumenti di sviluppo e le infrastrutture Ethereum già esistenti.
Questa compatibilità offre agli sviluppatori della rete Ethereum la possibilità di distribuire i loro contratti Solidity senza modifiche e di continuare ad utilizzare gli strumenti a loro familiari.
Oltre al componente “ZK-EVM” per la massima compatibilità (di cui parleremo più avanti), Taiko implementa un’architettura di blockchain di secondo livello per supportarla.
Taiko mira a sviluppare un’architettura quanto più leggera, decentralizzata e senza permessi possibile.
Il progetto Taiko nasce da esigenze specifiche della rete Ethereum. È evidente la forte richiesta di riduzione dei costi di rete da parte degli sviluppatori di dApps e protocolli, così come degli utenti, che spesso migrano verso blockchain concorrenti ritenute più performanti (Solana, Avalanche, Fantom, ecc.) o sidechains meno sicure rispetto alla blockchain principale.
I principi fondamentali di Taiko sono:
- Allineamento con Ethereum: L’obiettivo è sostenere lo sviluppo di Ethereum nel miglior modo possibile, utilizzando Ether (ETH) per pagare le spese di transazione (Gas) del layer 2.
- Equivalenza con Ethereum: La progettazione deve aderire il più possibile a quella di Ethereum, non solo per compatibilità, ma anche per soddisfare le aspettative e le esigenze degli utenti delle soluzioni L2 di Ethereum.
- Sicurezza: La progettazione del protocollo privilegia la sicurezza prima di tutto.
- Semplicità: Il protocollo deve essere costruito in modo da concentrarsi solo sul nucleo del protocollo ZK Rollup, non sulla sua evolvibilità e governance.
- Robustezza: Tutte le ipotesi di sicurezza devono essere direttamente o indirettamente applicate da Ethereum e dal protocollo. Il meccanismo di Proof of Stake è necessario per sanzionare comportamenti scorretti.
- Decentralizzazione: La progettazione deve incoraggiare un alto grado di decentralizzazione in termini di proposta e prova di blocchi. Una forte decentralizzazione garantisce il funzionamento affidabile del protocollo anche in presenza di comportamenti disonesti.
- Permessionless (senza permesso): Chiunque deve poter unirsi o lasciare la rete in qualsiasi momento, senza causare significative interruzioni alla rete o danni alle parti coinvolte. Nessuna entità singola dovrebbe avere il potere di autorizzare o bloccare i partecipanti.
Dal punto di vista di Taiko, gli ZK Rollups equivalenti a Ethereum, talvolta chiamati ZK-EVM (o zkEVM), rappresentano il Santo Graal delle soluzioni di scalabilità di livello 2, in quanto non compromettono la sicurezza o la compatibilità a differenza dei loro omologhi.
Come Funziona Taiko?
Come spiegato in precedenza, l’obiettivo di TAIKO è sviluppare un ZK Rollup completamente equivalente a Ethereum.
Questo significa che Taiko può interpretare il bytecode EVM e utilizzare le stesse funzioni di hash, albero di stato e altre logiche di consenso di Ethereum.
È importante notare che in futuro, se il protocollo Ethereum dovesse aggiornarsi, Taiko si impegnerà a mantenere la sincronizzazione.
Taiko si articola in tre componenti principali:
- I circuiti ZK-EVM (per la generazione delle prove)
- I nodi rollup L2 (per la gestione della catena rollup)
- Il protocollo sulla L1 (per collegare queste due parti insieme per la verifica del protocollo rollup)
Lo ZK-EVM dimostra l’esattezza dei calcoli EVM sul rollup con prove di validità ZK Proof, o più precisamente ZK-SNARK. La progettazione rispetta i principi fondamentali di sicurezza, decentralizzazione e assenza di autorizzazione.
I contratti intelligenti implementati sul layer 1 fungeranno da meccanismo di disponibilità dei dati e verificatori delle prove ZK-SNARK.
Si distinguono poi 3 ruoli nell’architettura descritta sopra:
- Propositori: Costruiscono blocchi sul rollup a partire dalle transazioni degli utenti del Layer 2 e li propongono sul Layer 1. Qualsiasi partecipante può eseguire questa funzione di creazione di blocchi.
- Dimostratori: Il loro obiettivo è generare prove ZK-SNARK che attestino la validità delle transazioni e dei blocchi del Layer 2 a partire dai blocchi proposti dai propositori.
- Nodi esecutori: Mantengono la sincronizzazione con lo stato della catena eseguendo transazioni basate sui dati presenti su di essa.
La Proposta di Blocchi su Taiko
Su Taiko, la sottomissione dei blocchi si suddivide in due fasi.
La prima è la proposta di blocco, che comporta la pubblicazione dei dati del blocco su Ethereum e l’aggiunta del blocco alla lista dei blocchi proposti memorizzata nel contratto TaikoL1. Una volta registrato, il protocollo garantisce l’immutabilità del blocco.
La seconda fase è la verifica del blocco. Grazie a un contratto intelligente di Taiko implementato sulla L1, dove è memorizzata la lista dei blocchi proposti, quando un blocco viene proposto, i suoi dati vengono pubblicati su Ethereum e il blocco viene immediatamente finalizzato. Questo processo rende la verifica molto più rapida poiché i dati sono già finalizzati.
L’Architettura di Taiko
Il protocollo Taiko ZK Rollup è composto da due contratti intelligenti (smart contracts) implementati sul layer 1 e 2 (L1 e L2).
TaikoL1, implementato su Ethereum, permette di proporre, dimostrare e verificare i blocchi del L2 (TaikoL2).
Questo contratto intelligente mantiene le seguenti variabili di stato:
- Il numero totale di blocchi proposti e l’ID del prossimo blocco da proporre;
- La lista dei blocchi proposti;
- L’ID dell’ultimo blocco verificato;
- La corrispondenza tra gli hash di convalida dei blocchi validati e i numeri dei blocchi L1 che li contengono;
- La corrispondenza tra gli ID dei blocchi proposti e le loro scelte di Fork.
Taiko L2, implementato sul Layer 2, permette di sfruttare la programmabilità dell’EVM e facilita l’ancoraggio (la transazione di ancoraggio è un modo per Taiko di utilizzare la programmabilità dell’EVM per imporre alcuni comportamenti del protocollo).
Permette anche di dimostrare la non-validità di un blocco proposto.
È importante notare che alcuni EIP saranno disattivati durante l’implementazione, ma verranno riattivati in futuro.
Per approfondire questi concetti che compongono il protocollo, consigliamo vivamente di consultare il whitepaper del progetto.
Conclusione
Le soluzioni per migliorare la scalabilità della rete Ethereum sono numerose, ma spesso presentano compromessi necessari per la loro funzionalità.
Taiko offre soluzioni a queste problematiche proponendo un’architettura diversa dai suoi concorrenti.
Il progetto è ancora molto recente e ha molto da dimostrare, ma presenta un potenziale significativo per il futuro e l’adozione di massa della rete Ethereum.