Zk roll up è l'acronimo di zero knowledge bundled transactions. Con questa tecnologia, le reti di livello 1 diventano più economiche e scalabili, poiché le transazioni vengono raggruppate ed elaborate come una sola transazione sulla mainnet chain. Oggi parleremo di zk rollup. Non è uno degli argomenti più semplici, quindi preparati!
✔️ Lo Zk Rollup è una soluzione di livello 2 che aumenta la velocità della blockchain aggregando ed elaborando più transazioni in un unico blocco.
✔️ La prova di conoscenza zero consiste nel dimostrare che si conosce una cosa particolare, come l'hash (codice) di un blocco, senza rivelare altre informazioni.
✔️ Un rollup zk viene spesso utilizzato quando la rete principale diventa troppo lenta e costosa. In questo modo si decongestiona la rete, rendendola più veloce ed economica.
✔️ I rollup Zk diventeranno sempre più comuni grazie alla loro scalabilità e ai vantaggi in termini di risparmio, anche se sono ancora difficili da implementare.
Un rollup zk è composto da due parti. Zk è l'abbreviazione di zero conoscenze. In olandese, significa non avere informazioni. La prova di conoscenza zero consiste nel dimostrare di conoscere un particolare elemento, ad esempio l'hash (codice) di un block, senza conoscere altre informazioni, come nome, indirizzo, ecc.
La parte "rollup" significa "arrotolare". In questo contesto, significa che più transazioni vengono raggruppate ed elaborate in un unico block.
Entrambe le parti riguardano la velocità. Con i rollup zk, la velocità di una blockchain aumenta notevolmente.
Uno zk roll up è una soluzione layer 2. Viene spesso implementata quando la rete principale diventa troppo lenta e costosa, come nel caso di Ethereum. La rete principale della blockchain, il layer 1, viene quindi supportata dallo zk rollup, alleggerendola e rendendola più veloce ed economica.
Immagina di essere uno sviluppatore di Ethereum. Devi rendere la rete più veloce e meno costosa da gestire. Decidi di implementare i rollup zk per scaricare la chain principale.
Ora, quando vengono effettuate delle transazioni, queste vengono raggruppate fuori dalla catena in un rollup su una sotto-catena. Su questa chain, il nuovo stato della rete viene comunicato alla chain mainnet (Ethereum) con l'aggiunta di altri dati (zero knowledge proof) per dimostrarne la correttezza.
Di conseguenza, la main chain dovrà elaborare solo le prove di rollup e zk e non migliaia di transazioni. In questo modo è possibile scalare Ethereum da 10-15 transazioni a migliaia al secondo.
I dati delle transazioni saranno quindi memorizzati sulla chain principale, in modo che lo stato della blockchain sia ancora corretto e comunicato a tutti coloro che tengono traccia della rete. In questo modo, ogni validator saprà sempre quanti ETH possiede.
Lo stato di rollup di zk viene monitorato sulla rete Ethereum da un smart contracts. Per dimostrare questo status, devono fornire la prova crittografica di aver effettuato tutte queste transazioni. Le roll up Zk utilizzano anche la compressione dei dati, come gli indirizzi, per rendere il tutto ancora più veloce ed economico. Una volta fornita la prova, il pacchetto di transazioni raccolte verrà eseguito istantaneamente sulla chain principale.
Poiché gli aggiornamenti dello stato di sicurezza vengono eseguiti sulla mainnet (Ethereum), i rollup di zk sono molto più sicuri rispetto a quelli di sidechain.
La maggior parte dei rollup zk utilizza un supernodo, una sorta di superutente che aggrega tutte le transazioni. C'è il rischio che qualcuno venga censurato, che in questo caso significa che il superutente non vuole convalidare le transazioni. Se ciò accade, qualcuno può inviare le proprie transazioni direttamente al contratto rollup su mainnet.
Gli utenti possono iscriversi per essere inclusi nel prossimo roll up e quindi essere più economici in questo modo.
Gli operatori o i superutenti controllano una transazione e verificano se un utente fa parte dello stato della rete. Inoltre, controllano se ci sono fondi sufficienti in un conto. La transazione deve essere corretta e la chiave pubblica deve corrispondere a quella del mittente nel roll up. Anche il nonce (per evitare una doppia spesa) è incluso nel roll up.
Quando il roll up ha raccolto un numero sufficiente di transazioni, le raggruppa. Uno SNARK zk viene utilizzato per fornire una prova della correttezza dei dati.
Dopodiché, un circuito di verifica si occupa di questi dati e controlla che tutto sia corretto. Una volta fatto questo, l'operatore invia i dati allo smart contracts di verifica sul layer 1 della blockchain. Qui tutto viene nuovamente testato per verificarne la correttezza, dopodiché le transazioni vengono inserite nel libro mastro e si conosce il nuovo stato della blockchain.
È anche possibile creare delle prove. Queste cosiddette prove ricorsive raggruppano zk prove nel layer 2, poi nel layer 1 tutte le prove vengono accettate insieme, dopodiché una batteria di blocchi viene accettata istantaneamente, il che aggiunge ulteriore scalabilità a una rete roll-up.
Se anche tu vuoi unirti a un roll up come utente per ridurre i costi delle transazioni, devi stakenare i fondi in uno smart contract roll up al layer 1. Una volta che l'operatore avrà accettato i tuoi fondi, potrai effettuare transazioni più economiche in questo roll up.
I roll up Zk aumentano la scalabilità e riducono i costi per gli utenti. Tuttavia, sono piuttosto difficili da implementare, motivo per cui sono ancora poco utilizzati. Inoltre, le possibilità che superutenti disonesti minaccino la rete sono più alte. Man mano che gli sviluppatori diventeranno più abili, i roll up zk diventeranno sicuramente più comuni, dato che molti utenti di alcune reti ritengono inaccettabili i costi e la velocità delle transazioni.