Ethereum: soluzioni di scalabilità layer 2 (scaling)

In questa guida parliamo di soluzioni di scaling per Ethereum. I concetti che andremo a trattare si applicano anche alle blockchain in generale e come vedremo spesso sono già implementate da altre chain concorrenti.

Come sapete a Settembre avremo la prima fase del Merge di Ethereum, una blockchain che sta cambiando il suo metodo di consenso passando dalla Proof of Work attuale alla Proof of Stake.

La blockchain di Ethereum oggi è in grado di fornire un alto livello di sicurezza attraverso l’esecuzione di transazioni e una validazione che avviene in un ambiente “chiuso”. Questo è uno dei grandi limiti della sua blockchain che è in grado di processare poche transazioni al secondo portando a costi elevati per il suo utilizzo.

Il grande utilizzo di Ethereum nella Defi ha portato ad un grande congestionamento della rete che non riesce più a far fronte alle tante richieste. Gli sviluppatori nel corso degli anni hanno così progettato varie soluzioni di scalabilità che dovrebbero portare ad un aumento delle prestazioni.

Molte soluzioni di scaling su Ethereum sono già disponibili oggi, altre ne stanno arrivando. Cerchiamo allora di capire quali solo le soluzioni di scalabilità più comuni e quali saranno quelle del futuro.

Che cosa sono le soluzioni di scaling Blockchain?

Come sapete la blockchain è una tecnologia che si sta affermando sempre di più. Molte di quelle che conosciamo non sono però in grado di risolvere il famoso Trilemma:

Blockchain Trilemma

ovvero raggiungere la decentralizzazione assicurando sicurezza e scalabilità all’interno dell’infrastruttura.

Quando si parla di decentralizzazione facciamo riferimento ad un’equa distribuzione della potenza di elaborazione ed ai meccanismi di consenso. Una blockchain deve inoltre garantire la sicurezza, cioè essere inattaccabile da algoritmi ed hacker per proteggere gli utenti.

L’aspetto della scalabilità viene spesso “trascurato” in quanto i primi 2 aspetti sono considerati più importanti in una rete.

In poche parole si preferisce mettersi al riparo da eventuali problemi in cambio di una rete poco efficiente.

Per poter competere con altre reti, una blockchain deve però essere in grado di supportare molte TPS (transazioni al secondo). I circuiti di carte di credito come VISA o Mastercard sono infatti im grado di processare migliaia di transazioni per secondo.

Le blockchain di nuova generazione, oggi sono in grado di assicurare queste prestazioni anzi vanno oltre.

Abbiamo già esempi di blockchain ultra efficienti. Se volete qualche nome possiamo citare Algorand, Hedera Hashgraph, Solana.

Sono tutte blockchain in grado di surclassare in termini di prestazioni i circuiti tradizionali di pagamento.

Anche Ethereum sta andando in questa direzione. Nella Roadmap sono infatti previsti molti aggiornamenti che vanno nell’ottica della scalabilità.

Generalmente possiamo avere due tipi soluzioni:

  • Soluzioni di scaling layer 1
  • Soluzioni di scaling con layer 2

Per chi non sapesse cosa sono i layer e perché sono importanti vi rimandiamo al nostro articolo “Layer 0,1,2” che spiega come funzionano i livelli e come classificare le blockchain.

Qui sotto trovate anche un video che abbiamo realizzato che spiega il funzionamento dei layer in modo approfondito:

Layer 0,1,2 crypto: cosa sono e come funzionano
In questa guida parliamo di layer o livelli, delle componenti fondamentali di una blockchain. Spesso sentiamo parlare di layer 1 o layer 2 sopratutto quando …
Layer 0,1,2 crypto: cosa sono e come funzionano

The video was uploaded on 5/8/2022.

You can view the video here.

The video lasts for 16 minutes and 56 seconds.

Scaling di tipo Layer 1

Quando parliamo di blockchain di livello 1 pensiamo a Bitcoin, Ethereum, Solana e via dicendo.

Una blockchain “layer 1” può essere scalata attraverso interventi sul protocollo stesso e con modifiche ai meccanismi di consenso.

Ad esempio Bitcoin ha introdotto in passato molti miglioramenti al protocollo per migliorare l’efficienza.

Un altro meccanismo per migliorare la scalabilità è lo sharding che viene già usato da blockchain come Elrond o Hedera. Con lo sharding una rete divide le transazioni in piccoli pezzi o “shards” processandoli insieme e parallelamente evitando una singola transazione. Ne parleremo in modo più approfondito in un articolo dedicato.

Si possono poi fare modifiche al meccanismo di consenso. Ad esempio col merge Ethereum passerà dalla Pow ad una più efficiente Proof of Stake in termini energetici anche se molti “puristi” affermano che sarà sacrificata la decentralizzazione.

Uno dei vantaggi dei layer 1 è che non bisogna aggiornare l’infrastruttura ma si può scalare con modifiche al software.

Scaling di tipo Layer 2

Un protocollo layer 2 invece viene costruito su blockchain esistenti per migliorare la velocità e dunque raggiungere la scalabilità.

Come sapete, oggi Ethereum non è in grado di processare migliaia di transazioni al secondo. Questo rappresenta un limite per la crescita e la futura adozione Per questi motivi sono nati i layer 2.

Ethereum ha oggi un volume di scambi enorme che porta ad alcuni problemi:

  • congestione della rete
  • commissioni elevate
  • esperienza d’uso negativa da parte degli utenti costretti a pagare costi elevati e ad attese prolungate

Per risolvere questi problemi sono nate delle soluzioni di scaling:

  • scaling on-chain: ovvero si interviene sul livello 1 modificandone blocchi e protocolli (ad esempio SegWit per Bitcoin).
  • scaling off-chain: ovvero si introducono i layer 2, un concetto nuovo introdotto proprio da Ethereum

I layer 2 nascono quindi come soluzione al problema di scaling e mirano a non stravolgere la blockchain di sottostante.

Un layer 2 è quindi una soluzione di scaling di tipo off-chain ovvero avviene al di fuori della catena principale.

Blockchain Layer

Esempi di layer 2 noti sono ad esempio Lightining Network per Bitcoin che consente di fare pagamenti sulla rete con BTC, oppure Ethereum Plasma o Polygon. Questi esempi utilizzano delle tecnologie diverse ed altre sono in arrivo su Ethereum,

Abbiamo capito quindi che un protocollo di livello 2 consente di eseguire una serie di operazioni e transazioni indipendentemente dal livello 1. Non è quindi necessario “modificare” la chain principale ma si aggiunge semplicemente uno “strato” aggiuntivo al quale vengono delegate molte operazioni.

In questo modo la chain layer 1 viene di fatto “alleggerita” da compiti inutili e si può occupare per esempio solo della sicurezza o del consenso.

Quindi mentre il layer 1 garantisce la sicurezza, il layer 2 di occupa di processare migliaia di transazioni al secondo (TPS) rendendo più utilizzabile la rete per gli utenti.

Vediamo allora quali sono nel dettaglio le principali soluzioni di scaling adottate da Ethereum.

👍 Cosa sonoSi tratta delle soluzioni che cercano di migliorare la scalabilità della blockchain di Ethereum rendendola più efficiente.
✅ TipologieOn Chain / Off chain
✅ SoluzioniSharding / Layer 2 (Sidechain, Rollups, State Channels)
💰TokenETH
🥇Migliore piattaforma per fare trading su cryptoeToro
🥇Miglior exchange per comprare EthereumBinance

Migliori piattaforme per investire in criptovalute

Prima di vedere quelle che sono le caratteristiche principali dello scaling di Ethereum vi segnaliamo alcune delle piattaforme certificate per investire sulle criptovalute:

BROKER
CARATTERISTICHE
VANTAGGI
ISCRIZIONE
Broker consigliato
Valutazione
commissioni basse
Copy trading e conto demo
Trading Bitcoin, criptovalute

68% di utenti perdono denaro con questo provider facendo trading di CFD.

Valutazione
Conto demo gratisServizi di intelligenza artificiale
Valutazione
Corso di trading / Commissioni basseAzioni frazionate
Valutazione
CFD trading su BitcoinPiattaforma di qualità

Il problema della scalabilità di Ethereum

Come accennato in precedenza Ethereum può processare in media 15 TPS e ciò costituisce un grosso problema per chi vuole utilizzare la sua blockchain.

Si arriva spesso al paradosso di pagare ad esempio più commissioni (gas fees) per il minting di un NFT rispetto al prezzo dell’NFT stesso. O ci sono casi in cui gli utenti sono costretti a pagare commissioni altissime per prelevare i propri fondi o spostarli su un wallet.

Oppure gli utenti che utilizzano le piattaforme di lending potrebbero decidere di non rimborsare un prestito a causa delle commissioni elevate.

Tutti questi aspetti sono uno svantaggio per Ethereum che rende l’esperienza d’uso degli utenti molto negative. E la Defi è costituita al 90% da applicazioni e smart contract che usano Ethereum.

Ethereum Scaling
Scalabilità con i layer 2 per Ethereum

In questo contesto si rende necessaria una soluzione per migliorare la scalabiilità e l’efficienza. Per quanto riguarda Ethereum ci sono varie soluzioni di Layer2:

  • Side chain: un classico esempio è Polygon che sfrutta una chain parallela
  • Plasma chain: una soluzione che consente di prevenire gli attacchi di cui soffrono le side chain sfruttando delle sotto catene
  • Rollups: con soluzioni come ZK Rollup, Optimistic Rollup, Arbitrum in cui le transazioni del layer 2 sono impacchettate, aggregate ed inviate al layer 1
  • State Channels: in cui due parti creano un canale firmando le rispettive transazioni bloccando i fondi (utilizzato nei pagamenti e nel gaming)

Scaling On Chain

La prima soluzione consiste nello scaling on chain ovvero si modifica la Mainnet di Ethereum al fine di migliorarne le prestazioni

Nella roadmap di Ethereum è prevista l’adozione dello sharding ovvero un processo che consente di dividere in vari shards le operazioni per poi processarle e ridurre così la congestione della rete.

In questo modo ogni nodo validatore dovrà elaborare solo un particolare frammento e non tutte le tranaszioni della rete.

Ecco la roadmap prevista da Ethereum con l’introduzione dello sharding:

Ethereum Roadmap Sharding

Scaling Off Chain: i layer 2

Quando si parla invece di scaling off chain si fa riferimento a soluzioni progettuali che operano al di fuori della blockchain principale.

Tali soluzioni tecnologiche sono chiamate Layer 2 (L2) in quanto lavorano sopra lo strato principale layer 1 (L1) con ottimizzazioni volte a migliorare e velocizzare l’elaborazioni delle transazioni.

I layer 2, di fatto, gestiscono le transazioni al di fuori della mainnet di Ethereum ma ne sfruttano il solido modello di consenso. A livello 2 possiamo pensare di avere dei nodi che si occupano della produzioni di blocchi. Le transazioni vengono perciò inviate a tali nodi sul layer 2 ed in una fase successiva vengono ancorate al layer 1 senza la possibilità di essere alterate in una fase successive.

Questo processo cambia in base alle varie implementazioni tecnologiche di layer 2.

Vediamo le principali.

Rollups

I rollup costituiscono la soluzione principale di scaling che verrà adottata da Ethereum 2.0. Come possiamo vedere nella roadmap sottostante:

Ethereum: i rollups

si può parlare di Ethereum come una blockchain che diventerà rollup-centrica ovvero in cui saranno i layer 2 di questo tipo a consentire di raggiungere la scalabilità.

Il termine sta ad indicare il fatto che vengono impacchettate più transazioni in un’unica transazione per essere processate. A seconda del modo in cui i dati vengono poi ancorati alla blockchain layer 1 e cioè Ethereum possiamo distinguere in rollup optimitic o zk.

Lo stesso fondatore di Ethereum, Vitalik Buterin, ha parlato dei rollup come il futuro.

Fondamentalmente abbiamo due tipi di rollup:

  • Optimistic Rollup: è un modello che presuppone che le transazioni siano valide “a priori”. Se un validatore ritiene che un potenziale blocco sia non valido si torna indietro e si analizza nello specifico fino a trovare l’errore. La sicurezza dunque viene offerta grazie alla possibilità di eseguire prove su potenziali errori nel caso in cui si sospetti una transazione non valida.E’ un modello già usato nell’informatica che suppone che la maggioranza degli aggiornamenti andrà a buon fine e dunque si preferisce fare un controllo dopo i calcoli in modo da portarsi avanti
  • ZK Rollups: questo tipo di rollup detto Zero Knowledge Rollup (a conoscenza zero) pressupone invece che i calcoli vengano eseguiti off chain e successivamente venga inviata una prova di validità alla chain senza rivelare niente su questa informazione. Cioè utilizza le prove di validità al di fuori della chain principale comprimendo le transazioni prima di inviare la prova definitiva alla blockchain di Ethereum. Da qui il termine a conoscenza zero.

I rollup Zero Knowledge sono più efficienti in quanto hanno bisogno solo della prova di validità invece di tutti i dati delle transazioni come invece richiedono gli Optimistic.

Arbitrum

Un esempio di layer 2 di tipo optimistic rollup per Ethereum è Arbitrum.

Arbitrum dunque è un soluzione di scaling che memorizza un riepilogo delle transazioni L2 su Ethereum. E’ basato sulla cosiddetta “fraud proof” ovvero un nodo può avanzare il sospetto che una transazione sia non valida o fraudolenta.

Arbitrum: architettura

In Arbitrum la fase di esecuzione è gestita in modo separato dalla fase di convalida. L’esecuzione viene eseguita in ambiente locale per velocizzare il processo. La fase di convalida invece con la verifica sarà richiesta meno spesso ma deve essere efficiente per essere eseguita anche su Ethereum.

In caso di errore o transazione sospetta, la fase di convalida avviene al di fuori della catena con Arbitrum che ricercherà nelle transazioni il motivo della controversia e deciderà quindi come risolverla. Questo processo di “arbitraggio” richiede dei calcoli eseguiti off chain per evitare consumo di gas fees. La risoluzione del problema sulla transazione non valida viene invece poi risolta sulla chain.

Per mettere in comunicazione Ethereum con Arbitrum si utilizza poi un bridge e la validazione avviene sul layer 1.

Se tutti i nodi validatori sono d’accordo si prosegue, altrimenti si procede a scomporre il blocco alla ricerca dell’errore come visto in precenza.

Lo svantaggio di Arbitrum è che le gas fees sono ridotte ma comunque sono ancora presenti.

Optimism

Optimism è un altro esempio di optimistic rollup e quindi di soluzione di scaling per Ethereum.

Rispetto ad Arbitrum qui abbiamo la fase di esecuzione che avviene in contemporanea a quella di convalida.

Anche in questo caso le transazioni vengono impacchettate ed inviate in blocco al layer 1.

Optimism è in grado di processare insieme le transazioni, fornire la prova della validità ed inviarle in blocco ad Ethereum.

Durante una transazione Optimism continua a comunicare con Ethereum sfruttandone la sicurezza e la decentralizzazione mentre il layer 2 di occupa della scalabilità.

Questo porta ad alcuni vantaggi:

  • Scalabilità: si ottiene un miglioramento della velocità fino a 100 volte
  • Costi ridotti: Optimism costa molto meno in quanto i rollup, impacchettando più transazioni in un’unica, consentono di ridurre il costo per singola transazione
  • Sicurezza: il layer 2 sfrutta comunque la sicurezza del layer 1
  • Esperienza d’uso: gli utenti possono sfruttare Optimism pagando meno commissioni e sfruttando le transazioni più velocità

Come vedete in questa immagine sull’architettura di Optimism

Optimism: architettura

le transazioni vengono processate da un “Sequencer” che si occupa di alleggerire le operazioni su Ethereum.

State Channels

Gli state channel, sono un’altra soluzione di scaling di tipo layer2, e consentono a due partecipanti di aprire un canale di comunicazione per effettuare transazioni al di fuori della chain principale.

Fatta la transazione poi questa viene finalizzata sulla chain principale. Gli State Channels consentono di impiegare meno risorse evitando la congestione della rete ed i ritardi.

Nel contesto di Ethereum i canali non sono altro che dei protocolli peer to peer (P2P) che consentono a due soggetti di fare tantissime transazioni tra loro. Un canale utilizza la crittografia per dimostrate che i dati di riepilogo provengono effettivamente da una catena di transazioni che vengono firmate da uno smart contract “multisig” per assicurasi che la firma avvenga da entrambe le parti.

E’ una soluzione impiegata anche da Bitcoin nei protocolli di pagamento come Lightning Network.

Sidechain

Una sidechain è invece una blockchain EVM compatibile che funziona in parallelo rispetto alla blockchain di riferimento.

Ogni sidechain funziona secondo le proprie regole come la produzione di blocchi e le regole di consenso. Un classico esempio di sidechain è dato da Polygon (MATIC).

Polygon

Un esempio di scaling per Ethereum basato su sidechain è Polygon.

Quindi è di fatto una blockchain indipendente anche se utilizza come base l’Ethereum Virtual Machine come motore. Questo significa che gli smart contract scritti in Solidity per Ethereun funzionano allo stesso modo su Polygon.

E’ possibile poi trasferire fondi e dati tra Ethereum e Polygon attraverso dei bridge.

Polygon utilizza un meccanismo di consenso Proof of Stake mentre Ethereum ancora per poco funziona in Proof of Work ma passerà al POS con il merge atteso a Settembre 2022.

Quindi Polygon è in grado di risolvere i problemi di scalabilità processando più transazioni. Questo però va a scapito della decentralizzazione.

I nodi della rete Polygon utilizzano la PoS per validare le transazioni, produrre blocchi per poi fare le operazioni di commit sulla rete principale di Ethereum. Il token della rete è MATIC.

Ethereum Scaling: video approfondimento

Per completare questa guida abbiamo realizzato un video sul nostro canale YouTube nel quale parliamo delle principali soluzioni di scalabilità Layer 2 per Ethereum:

Ethereum Scaling: le soluzioni LAYER 2 per la scalabilità (Rollup, Channels, Sidechain)
In questa guida parliamo di soluzioni di scaling per Ethereum. I concetti che andremo a trattare si applicano anche alle blockchain in generale.Il grande uti…
Ethereum Scaling: le soluzioni LAYER 2 per la scalabilità (Rollup, Channels, Sidechain)

The video was uploaded on 1/9/2022.

You can view the video here.

The video lasts for 17 minutes and 15 seconds.

Ethereum Scaling: le domande frequenti

Che cosa vuole dire Ethereum Scaling?

Si tratta delle soluzioni che cercano di migliorare la scalabilità della blockchain di Ethereum rendendola più efficiente.

Quali sono le principali soluzioni di scalabilità per una blockchain?

E’ possibile sfruttare soluzioni on chain che mirano a raggiungere la scalabilità modificando il protocollo di layer 1, o soluzioni di layer 2 che consentono di delegare operazioni ad uno strato superiore.

Quali i principali Layer 2 per lo scaling di Ethereum?

Le soluzioni principale impiegate da Ethereum per i Layer 2 sono le sidechain (impiegate da Polygon), Plasma, State channels ed i Rollup che possono essere di tipo Optimistic o ZK (Zero Knowledge).

Ethereum Scaling: riepilogo

Conclusioni

In questa guida abbiamo visto quali sono le principali soluzioni di scalabilità (scaling) per una blockchain. In particolare abbiamo visto quelle dedicate ad Ethereum.

Le blockchain di layer 2 consentono attualmente di velocizzare l’esecuzione delle transazioni su Ethereum portando ad una riduzione dei costi e al miglioramento dell’esperienza degli utenti.

La soluzione più promettente sembra essere quella dei ZK Rollups in fase di sviluppo. Ethereum ha infatti annunciato una roadmap che sembra andare nella direzione dei rollups.

Questo garantirà più efficienza, costi ridotti e maggiore interoperabilità.

Le soluzioni di scaling L2 saranno sempre più importanti e giocheranno un ruolo chiave nell’adozione della tecnologia blockchain e per la creazione di una economia realmente decentralizzata.

Se volete investire in criptovalute è possibile utilizzare le piattaforme regolamentate che permettono di operare in qualunque situazione di mercato

Per iniziare è fondamentale partire a fare pratica con le demo. Vi lasciamo con i link ufficiali che sono mediati dal server di WebEconomia in modo da garantire l’accesso sicuro:

Sono le migliori piattaforme con conti demo illimitati e sopratutto gratuiti per sempre.