Introduzione sui rollup
Che cos’è un rollup? Che cosa si intende per scalabilità rollup centrica? Quali sono le differenze tra Optimistic e ZK? Oggi risponderemo a tutte queste domande affrontando le due tipologie di rollup più diffuse, ossia gli Optimistic e gli Zero Knowledge Rollup.
Come li definisce il matematico David Hoffman, i rollup possono essere paragonati all’operazione di compressione dei computer. Tradotto in linguaggio blockchain, viene compressa la dimensione dei dati delle operazioni di esecuzione; questo formato compresso viene riportato sul L1 in forma leggera, risparmiando spazio, operazioni e contribuendo quindi all’efficienza della rete.
La funzionalità principale dei rollup è quella di operare le transazioni parallelamente e riportarle periodicamente sulla blockchain principale (Ethereum per ora è la più utilizzata) in un formato compresso. Il network di Ethereum delega l’esecuzione ai rollup per concentrarsi sul settlement, sul consenso e la data availability.
Come sempre, la competizione porta a un risultato migliore e più rapido. Vediamo quindi a che punto siamo nello sviluppo di queste applicazioni: introduciamo la lotta tra Optimistic Rollup e Zero Knowledge Rollup.
Indice
Rollup Centric Roadmap
Vitalik Buterin sostiene: “Mi sembra molto plausibile che quando [il full execution sharding] sarà finalmente implementato, praticamente nessuno se ne accorgerà. Tutti si saranno già adattati a un mondo incentrato sui rollup, che ci piaccia o no, e a quel punto sarà più facile continuare su quella strada che cercare di riportare tutti sulla mainnet di Ethereum, senza un beneficio chiaro e una riduzione della scalabilità del 20-100 volte.”
Un aspetto sottovalutato di questa roadmap incentrata sui rollup è che questi ultimi sono molto più liberi di innovare indipendentemente l’uno dall’altro: scommettere sui rollup significa ottenere più innovazione più in fretta.
Il metodo più immediato ed economico per riportare i dati sul layer principale per i rollup è la funzionale call_data, che costa 16 Unit of Gas per ogni Byte riportato onchain. Ovviamente, nel momento in cui il gas aumenta esponenzialmente per attività anomale, sul layer1 questo diventa molto costoso.
Il principale problema che osserviamo da questa dinamica non è tanto il costo di per sé, ma il fatto che esso possa essere influenzato da categorie di operatori non concorrenti, ovvero operatori onchain e rollup.
Nonostante stiano completando azioni differenti, essi competono per lo stesso spazio o servizio (il blockspace). Infatti, i trader utilizzano il BS per l’esecuzione, mentre i rollup richiedono di poter inserire dati dell’esecuzione che portano all’esterno.
"Scommettere sui rollup significa ottenere più innovazione e più in fretta"
Optimistic vs Zero Knowledge
Come suggerisce il nome, gli Optimistic rollup adottano un approccio ottimistico alle transazioni. Essi assumono che le transazioni eseguite su L2 siano valide fino a che non venga dimostrato l’opposto. Per fare ciò viene lasciato un periodo c.d. di challenge in cui chiunque può produrre delle prove di potenziali frodi avvenute nel passaggio.
Gli Zero Knowledge rollup invece forniscono maggiori garanzie in quanto eseguono un verifica preventiva della correttezza delle transazioni e pubblicano la c.d. prova di validità su L1.
In seguito, lo smart contract sulla chain principale, incaricato di aggiornare lo stato, dovrà solo controllare che la “forma” della prova sia corretta.
I rollup ottimistici tendono a essere più rapidi ed economici grazie ai minori requisiti di calcolo rispetto ai rollup ZK; in compenso, gli operatori dovranno attendere che il periodo di sfida sia trascorso prima di poter garantire la finalità dei prelievi.
Ma sarà davvero così? Continua a leggere questo articolo per scoprire i dettagli di questa competizione agguerrita.
Vediamo ora le principali differenze tra i due in maniera sintetica, per poi scendere nel dettaglio di categoria:
- Sicurezza: considerare ogni transazione valida fino a prova contraria è sicuramente un’assunzione pericolosa, per questo è necessario sempre garantire un periodo di verifica permissionless. Predeterminare la validità delle transazioni aumenta il grado di sicurezza a discapito dei costi.
- Finalità: nel caso dei rollup ottimistici, la finalità avviene dopo un periodo minimo di 7 giorni, mentre nel caso degli Zero Knowledge questo tempo si riduce fino a un minimo di 3 ore.
- Scalabilità: in questo caso, i rollup ottimistici alleggeriscono i costi rispetto ai loro competitor, infatti le ZK Proofs necessitano di costi di produzione e verifica maggiori, che nel migliore dei casi un Optimistic non ha bisogno di compiere.
- Privacy: per definizione una ZK Proof permette di verificare la correttezza delle informazioni senza rivelarne il contenuto, mentre nel caso delle Fraud Proof, gli operatori dovranno accedere ai dati delle transazioni per individuare i tentativi di frode.
- Diffusione: a causa di un calcolo errato sul tempo di implementazione delle ZK proofs e dati i costi decisamente inferiori di sviluppo, gli Optimistic Rollup dominano la scalabilità blockchain a oggi. Questo divario non è destinato a durare, infatti i primi rollup ZK e le prime zkEVM sono state lanciate negli ultimi anni e con l’avanzamento della tecnologia i costi di produzione delle ZKps si ridurrà notevolmente.
Optimistic Rollup
Questa è una soluzione particolare di rollup che si inserisce nel concetto di scalabilità dei Layer 1 grazie a due elementi principali: l’esecuzione viene gestita offchain a costi limitati ed elevata sicurezza, poichè con regolarità vengono pubblicati i c.d. batches sulla chain principale.
La domanda che sorge spontanea è: chi verifica la validità delle transazioni contenute nei Batches? La risposta è nessuno, o meglio: tutti possono farlo in un determinato periodo di tempo. Durante il periodo di challenge, chiunque sia interessato può rieseguire tutte le transazioni tramite un processo chiamato Fraud Proof o Fault Proof. Al termine del periodo in cui poter eseguire le fraud proofs (che va dai 7 ai 14 giorni), considerando che non vengano riscontrati errori, il calldata importato sul L1 diventerà immutabile. Questo significa che le transazioni in esso contenute hanno la stessa irreversibilità di una qualsiasi transazione di mainnet.
Ma quindi come fanno i rollup a garantire trasferimenti e prelievi pressochè istantanei? Si può comunque costruire su batches non ancora validati ma con la consapevolezza che qual ora dovessero essere riscontrate irregolarità, tutto ciò che viene dopo, verrà ricompilato in base alle prove corrette.
Mentre coloro che dovessero intenzionalmente provare a contraffare la rete subiranno sanzioni economiche.
"Durante il periodo di challenge chiunque sia interessato può rieseguire tutte le transazioni tramite un processo chiamato Fraud Proof o Fault Proof."
Fault Proofs
Una Fault Proof non è altro che una contestazione rispetto ad un passaggio di stato di un rollup. Quando viene pubblicato il batch sul L1 da parte del Sequencer, in questa fase il Verifier può opporsi, identificando tentativi di frode.
Ad esempio, il Sequencer invia una passaggio di stato che sottrae fondi ad Alice e li aggiunge a Bob senza che Alice abbia mai firmato nessuna transazione per questo. Qui interviene il Verifier, che può invalidare questa operazione. Questo è possibile perché il Verifier si occuperà di controllare le transazioni del passaggio di stato fornendo una prova del corretto ordine delle transazioni.
Esistono diverse tipologie di challenge ed ognuna ha delle funzionalità specifiche e compromessi sulla sicurezza, tempestività e decentralizzazione.
Le prime metodologie di verifica consistevano nella rielaborazione di tutte le transazioni. La sicurezza era quindi molto elevata ma la tempestività e i costi venivano decisamente meno.
Dopodichè si è passati alle tipologie a più tentativi, dove suddividendo la lista di transazioni in varie metà (processo di bisezione), e paragonando i vari stati, si arriva ad isolare la transazione truffaldina.
Queste due tipologie di Fault Proof si chiamano Single Round e Multi Round.
Esistono poi metodologie tramite cui un attaccante potrebbe ripetutamente proporre passaggi di stato falsi cercando di esaurire le risorse del Verifier (Resource Exhaustion Attack) e per questo sono stai introdotti ritardi nella proposta dei passaggi di stato e “obbligazioni” a garanzia dell’operazione.
Per approfondire questo tema consiglio la lettura dell’articolo di ricerca scritto da Luca Donno per L2BEAT.
Insomma, nonostante gli Optimistic rollup siano stati scelti per la loro semplicità di implementazione, alla fine il processo di verifica della correttezza dei passaggi di stato non è poi così semplice. Infatti, solo nel 2024 è stato proposto un modello di Fault Proof permissionless e sufficientemente sicuro.
Zero Knowledge
Passiamo ora alla versione complessa ma intrinsecamente più sicura del concetto di rollup, gli Zero Knowledge Rollup.
Come detto anche in precedenza, gli ZK rollup sono delle soluzioni di scalabilità offchain costruite on-top di Ethereum, con lo scopo di portare l’esecuzione offchain, il che permette di occupare molto meno spazio sul L1.
A differenza degli Optimistic rollup, gli ZK postano onchain una prova crittografica che assicura che il nuovo stato, riportato in L1, sia effettivamente il risultato matematicamente corretto delle transazioni avvenute offchain. Questa prova è definita ZK proof, o Validity Proof, in quanto permette di verificare la validità di un’asserzione (in questo caso rispetto alle modifiche allo stato della chain) senza rivelare il contenuto dell’asserzione stessa.
Questo aumenta notevolmente il troughput e l’efficienza del L1, in quanto non è più necessario ricompilare tutte le volte il nuovo stato e il contenuto salvato in blockchain rimane leggero.
Gli operatori che si occupano di creare i nuovi batches di transazioni possono sia essere entità centralizzate sia essere scelti tramite logica a PoS per incentivare la produzione di blocchi validi.
Infatti, con questo meccanismo il peso dello stake incrementa la possibilità di essere scelti per il batches successivo e inoltre funge da deterrente in quanto l’eventualità di azioni malevole viene punita con lo Slash dei fondi a garanzia. Approfondisci qui il concetto di Proof of Stake.
Queste prove come dicevamo poc’anzi sono definite zero knowledge proof, ma vediamo insieme le principali tipologie che sono state sviluppate fin ora, le loro applicazioni e differenze. Benvenute alle SNARK/STARK Industries.
"La ZK proof permette di verificare la validità di un'asserzione senza rivelare il contenuto dell’asserzione stessa."
ZK Snark
Le zero knowledge proof permettono di verificare l’autenticità di un informazione senza rilevare i dettagli della stessa. Il significato di SNARK è Succint Non-interactive Argument of Knowledge.
Il protocollo di verifica SNARK, mediante il quale possono essere prodotte le zk proof, prevede l’intervento di due parti: il proponente e il verificante.
Il proponente si occupa di raccogliere le transazioni da accompagnare con una prova crittografica che confermi il corretto passaggio di stato del rollup con i relativi merkle root, mentre il verifier si occupa di verificare la correttezza della prova SNARK prima di aggiornare lo stato dello smart contract di rollup.
Alcune caratteristiche del protocollo:
- Succint: in quanto la prova di validità richiede una potenza di calcolo relativamente ridotta per essere verificata, rispetto al contenuto che viene verificato;
- Non-interactive: perchè rappresenta un’innovazione dei precedenti modelli ZK che prevedevano diverse interazioni tra prover e verifier;
- Argument: rappresenta l’enorme potenza computazionale richiesta per barare nel processo di verifica;
- Knowledge: in quanto la prova SNARK non può essere prodotta se si accede alle informazioni contenute nell’informazione da verificare.
Le blockchain hanno un problema principale: verificare l’integrità dei passaggi di stato della rete (computational integrity problem). Per fare questo alcune chain costringono i nodi a rieseguire tutte le transazioni, ma come abbiamo visto prima non è un sistema scalabile.
Le prove SNARK permettono di superare questo limite validando il contenuto di un batches di transazioni senza accedere al contenuto. Questo focus sulla privacy (come esempio prendiamo Monero) permette di verificare in maniera rapida la veridicità delle informazioni, senza doverle rieseguire tutte.
Il modo di verificare le transazioni offchain e creare una prova SNARK è estremamente complesso, ma permette di verificare un gran contenuto di informazioni in breve tempo. Il concetto di succint si rivede proprio qui: la forza computazionale richiesta è estremamente ridotta rispetto al contenuto che verifica.
La maggior parte dei rollup che utilizzano prove SNARK segue questi tre passaggi:
- Gli utenti eseguono una transazione su L2;
- L’Operatore che si occupa di creare il batch compie le verifiche ed invia al contratto di verifica su L1 la prova SNARK;
- Una volta che il Verifier accetta la prova SNARK, viene considerato il nuovo stato e aggiornato il contratto di rollup su L1.
ZK Stark
Il significato di STARK è Scalable Trasparent Argument of Knowledge, e no, non è l’azienda di Iron Man.
Le differenze principali delle prove ono come osservabili dal nome: la trasparenza e la scalabilità.
Partiamo dalla trasparenza. Il protocollo STARK utilizza un metodo di selezione randomico e pubblico per mettere in comunicazione Prover e Verifier, eliminando quindi la componente di centralizzazione.
Mentre all’aumentare del numero di transazioni aumenta il tempo di produzione in di una prova SNARK, le STARK hanno un modello di scalabilità in funzione del numero di transazioni quasi-lineare, ossia all’aumentare delle transazioni impiegano proporzionalmente sempre meno tempo per creare la prova.
A livello di funzionamento le logiche sono pressoché identiche:
- Gli utenti eseguono una transazione su L2;
- L’Operatore che si occupa di creare il batches compie le verifiche e invia al contratto di verifica su L1 la prova STARK;
- Una volta che il verifier accetta la prova STARK, viene considerato il nuovo stato e aggiornato il contratto di rollup su L1.
Un’altra differenza sostanziale è l’aumento di sicurezza dovuto all’utilizzo di hash anti collisione, considerati più sicuri delle curve ellittiche delle SNARK e addirittura resistenti ai potenziali attacchi ricevuti da computer quantici.
Saranno le prove STARK il sacro Graal della crittografia del futuro?
Conclusioni
L’articolo di oggi era particolarmente complesso, perciò ti facciamo i complimenti per essere arrivato/a fino alla fine.
Comprendere le differenze tecniche del funzionamento dei vari protocolli è il primo passo per fare scelte più consapevoli in fase di investimento e detenzione dei propri fondi.
Non rinunciare ai alla sicurezza del tuo portafoglio per pigrizia e ricorda che questo settore si basa sulla verifica personale e non vincolata ad autorizzazioni. Qualsiasi progetto si dimostri oscuro e permissioned non dovrebbe meritare di controllare i tuoi fondi.
È vero che molto spesso la tecnologia corre più veloce a livello teorico che a livello pratico e questo ci porta a scendere a compromessi, ma non conoscere le alternative significa, in un certo senso, scegliere ciò che ci viene venduto come migliore.
Per approfondire temi quali blockchain, DeFi, sicurezza, trading e tanto altro ancora, ti aspettiamo sulla nostra piattaforma di formazione TCG Learn con i nostri corsi di investimento gratuiti, workshop e la formazione one-to-one.