Introduzione
Sono emerse molte soluzioni di seconda scala e anche se il passaggio di Ethereum a Proof of Stake (PoS) dovrebbe poter risolvere questo problema a lungo termine, la rete sta ancora cercando soluzioni sicure diverse per consentire l’elaborazione ad alta frequenza delle transazioni.
In quest’ottica, i ZK rollup, una soluzione recentemente messa in primo piano, sembrano essere un candidato interessante per rispondere a questi problemi di scalabilità.
Il progetto Scroll è stato concepito con questo scopo e mira ad offrire innovazioni e soluzioni per far evolvere la rete Ethereum.
Promemoria
Prima di presentare la soluzione di ZK rollup proposta da Scroll, è importante avere in mente alcuni concetti essenziali per una comprensione adeguata di questo articolo.
Come probabilmente già saprete, uno dei principali problemi della blockchain decentralizzata e sicura di prima scala Ethereum è la mancanza di scalabilità, che provoca un collo di bottiglia che porta a commissioni di transazione esorbitanti quando la rete è molto utilizzata.
Per ovviare a questo problema, una delle soluzioni che sembra semplice da implementare e molto efficace è quella di offrire Rollups come sovrapposizione (Layer 2) di Ethereum.
In realtà, esistono diverse sottocategorie di rollup, ma nel nostro caso ci concentreremo solo sui ZK rollup.
ZK rollup
In parole semplici, un ZK rollup (Zero Knowledge Proof o prova a conoscenza zero) è una soluzione di seconda scala utilizzata per elaborare transazioni off-chain (fuori dalla blockchain) e per inviare semplicemente una prova crittografica dello stato dei saldi sulla catena principale per aggiornare i conti.
I rollup sono considerati soluzioni ibride, poiché combinano dati on-chain e off-chain, a differenza delle soluzioni di tipo sidechain.
Infatti, secondo Vitalik Buterin: “I rollup spostano il calcolo (e lo stato di memorizzazione) fuori dalla catena, ma mantengono alcuni dati per transazione sulla catena.”
Per approfondire l’argomento, ti consigliamo la documentazione ufficiale sui ZK rollup.
Scroll, che cos'è?
In sostanza, Scroll è una soluzione di seconda scala di tipo ZK rollup compatibile con l’Ethereum Virtual Machine (EVM).
Scroll è quindi un rollup zk creato per scalare la blockchain Ethereum. Il pezzo centrale di Scroll è lo zkEVM, utilizzato per dimostrare l’accuratezza dell’esecuzione dell’EVM in Scroll.
Come molte altre soluzioni alternative come le sidechain o gli optimistic rollups, l’obiettivo di Scroll è quello di consentire alla blockchain Ethereum (la catena madre) di spostare l’esecuzione delle transazioni su una catena secondaria dedicata a tale scopo.
La visione di Scroll
Si può constatare che a seguito dei suoi problemi di congestione, la blockchain Ethereum ha orientato la sua roadmap verso le soluzioni rollup per aumentare la sua capacità di elaborazione delle transazioni.
Il team di Scroll vede nei rollup l’unico mezzo praticabile oggi per far evolvere le blockchain senza sacrificare la decentralizzazione e la sicurezza.
Dalle recenti ricerche, i ZKP (Zero Knowledge Proof) sembrano essere una soluzione miracolosa, relativamente facile da implementare e che elimina il compromesso tra sicurezza ed espandibilità.
Il team di Scroll è convinto che le piattaforme informatiche decentralizzate occuperanno una posizione così importante in un futuro prossimo che è fondamentale che siano guidate da comunità anziché da un’entità centrale o da un singolo team di sviluppo.
È con questo spirito che Scroll è stato plasmato basandosi su alcuni valori fondamentali:
- Mettere il potere nelle mani dell’umanità rendendo la tecnologia blockchain ultra-accessibile grazie alla scalabilità di massa per miliardi di utenti. Per farlo, deve essere sufficientemente economica da essere accessibile a tutti, ma anche sicura e facile da usare.
- Scroll evidenzia anche la sua trasparenza con la comunità essendo completamente open source fin dal primo giorno della sua creazione. Questa accessibilità ha lo scopo di rendere questa tecnologia meglio compresa e verificata da tutti. Dal punto di vista di un sviluppatore, la costruzione aperta porta a sistemi più sicuri e meglio progettati. Grazie alla sua accessibilità, il codice di Scroll è costantemente sottoposto a una revisione dei pari, sia interni che esterni.
- L’ultima sfida, portata come un vessillo dal team di Scroll, è ovviamente la lotta per la decentralizzazione e la resistenza alla censura. Infatti, il progetto ritiene che sia essenziale preservare le proprietà fondamentali di decentralizzazione e resistenza alla censura che rendono Ethereum così potente. Con l’obiettivo finale di una decentralizzazione e resistenza alla censura equivalente a quella di Ethereum, Scroll si sta costruendo.
Il funzionamento tecnico di Scroll
Dal punto di vista tecnico, Scroll segue uno schema classico di ZK rollup, la cui idea di base è quella di aggregare un gran numero di transazioni di stato in un blocco rollup e generare una prova sintetica per il blocco fuori dalla catena.
Attualmente, l’architettura di Scroll è composta da tre elementi di infrastruttura:
I nodi di Scroll: costruiscono i blocchi di seconda scala con le transazioni degli utenti. Collocano questi blocchi sulla base di Ethereum e trasmettono i messaggi tra Layer 1 e Layer 2. Questo è il principale modo per gli utenti e le applicazioni di interagire con Scroll. Sono composti da tre moduli, rispettivamente il sequenziatore (Sequencer), il coordinatore (Coordinator) e il Relayeur.
Concretamente, il sequenziatore fornisce un’interfaccia JSON-RPC e accetta transazioni sulla Layer 2 (L2). Con una cadenza molto regolare (alcune volte al secondo), recupera un lotto di transazioni dal mempool di L2 e le esegue per generare un nuovo blocco su L2 e una nuova root di stato.
Appena viene generato un nuovo blocco, il coordinatore viene notificato e riceve la traccia di esecuzione di questo blocco dal sequenziatore. Successivamente, invia la traccia di esecuzione a un Roller scelto casualmente nel pool di Roller per la generazione della prova.
Il Relayeur ha il compito di monitorare i contratti di bridge e rollup implementati sia su Ethereum che su Scroll.
Deve assumersi 2 compiti molto importanti: monitorare il contratto di rollup per seguire lo stato dei blocchi L2, inclusa la disponibilità dei loro dati e la prova della loro validità, ma anche monitorare i depositi e i prelievi dei contratti di bridge (ponte) implementati su Ethereum e Scroll e trasmettere i messaggi da un lato all’altro.
La rete di Roller: genera le prove di validità zkEVM per dimostrare che le transazioni sono state eseguite correttamente. In breve, i Roller dovrebbero utilizzare acceleratori: hardware utilizzato per la prova del lavoro come schede grafiche (GPU), FPGA e ASIC per ridurre il tempo e il costo delle prove.
I Roller utilizzano un processo a più fasi per generare una prova:
- Innanzitutto convertono la traccia di esecuzione ricevuta dal coordinatore in testimoni di circuito
- Generano le prove per ciascuno dei circuiti zkEVM
- Infine, utilizzano l’aggregazione di prove per combinare le prove di più circuiti zkEVM in una singola prova di blocco
Come sempre, riteniamo che un’immagine valga più di mille parole.
Contratti Rollup e Bridge: fornisce la disponibilità dei dati per le transazioni di Scroll, verifica le prove di validità zkEVM e consente agli utenti di spostare asset tra Ethereum e Scroll.
In sintesi, il contratto Rollup riceve le root di stato e i blocchi L2 dal sequenziatore. Poi, memorizza le root di stato (state root) nello stato di Ethereum e i dati di blocco di seconda scala come calldata (memorizzazione dei dati provenienti da chiamate esterne alle funzioni) di Ethereum.
Ciò garantisce la disponibilità dei dati per i blocchi di Scroll, sfruttando la sicurezza di Ethereum per garantire che gli indexer, inclusi i relay Scroll, possano ricostruire i blocchi L2.
Una volta che una prova di blocco che stabilisce la validità di un blocco L2 è stata verificata dal contratto Rollup, il blocco corrispondente viene considerato finalizzato su Scroll.
Per quanto riguarda i contratti di bridge implementati su Ethereum e Scroll, consentono di fare il ponte tra le due layer per messaggi o asset standardizzati come i token ERC20 in entrambe le direzioni.
Conclusione
In generale, il progetto Scroll propone soluzioni allettanti e innovative per il futuro della rete Ethereum.
Tuttavia, essendo un progetto recente, deve ancora dimostrare tutte le sue prove se vuole essere un serio concorrente al tanto atteso progetto di StarkWare e alla sua soluzione StarkNet che propone un’alternativa simile.
Nel frattempo, è interessante tenerlo d’occhio e seguirne l’evoluzione poiché, come spiegato nell’introduzione di questo articolo, i rollup sembrano essere una soluzione attraente per le reti di prima generazione come Ethereum, Tezos, Cardano o Celestia.