Vai al contenuto principale
Change page

Scalabilità

Panoramica sulla scalabilità

Con la crescita del numero di persone che utilizzano Ethereum, la blockchain ha raggiunto determinati limiti di capacità. Ciò ha fatto aumentare il costo di utilizzo della rete, creando la necessità di "soluzioni di scalabilità". Ci sono molteplici soluzioni in fase di ricerca, test e implementazione che adottano approcci diversi per raggiungere obiettivi simili.

L'obiettivo principale della scalabilità è aumentare la velocità delle transazioni (definitività più rapida) e la capacità transazionale (maggior numero di transazioni al secondo) senza sacrificare la decentralizzazione o la sicurezza. Sulla blockchain layer 1 (l1) di Ethereum, l'elevata domanda porta a transazioni più lente e a prezzi del gas insostenibili. Aumentare la capacità della rete in termini di velocità e capacità transazionale è fondamentale per un'adozione significativa e di massa di Ethereum.

Sebbene la velocità e la capacità transazionale siano importanti, è essenziale che le soluzioni di scalabilità che consentono di raggiungere questi obiettivi rimangano decentralizzate e sicure. Mantenere bassa la barriera all'ingresso per gli operatori dei nodi è fondamentale per prevenire una progressione verso una potenza di calcolo centralizzata e insicura.

Concettualmente, classifichiamo innanzitutto la scalabilità come scalabilità onchain o scalabilità offchain.

Prerequisiti

Dovresti avere una buona comprensione di tutti gli argomenti fondamentali. L'implementazione di soluzioni di scalabilità è un argomento avanzato, poiché la tecnologia è meno collaudata sul campo e continua a essere oggetto di ricerca e sviluppo.

Scalabilità onchain

La scalabilità onchain richiede modifiche al protocollo di Ethereum ( layer 1 (l1)). Per molto tempo, si è previsto che lo sharding della blockchain avrebbe scalato Ethereum. Ciò avrebbe comportato la divisione della blockchain in parti distinte (shard) da far verificare a sottoinsiemi di validatori. Tuttavia, la scalabilità tramite rollup layer 2 (l2) ha preso il sopravvento come tecnica di scalabilità principale. Ciò è supportato dall'aggiunta di una nuova forma di dati più economica allegata ai blocchi di Ethereum, appositamente progettata per rendere i rollup economici per gli utenti.

Sharding

Lo sharding è il processo di divisione di un database. Sottoinsiemi di validatori sarebbero responsabili dei singoli shard piuttosto che tenere traccia dell'intero Ethereum. Lo sharding è stato a lungo sulla roadmap di Ethereum, e un tempo si intendeva rilasciarlo prima di The Merge alla Proof-of-Stake (PoS). Tuttavia, il rapido sviluppo dei rollup layer 2 (l2) e l'invenzione del danksharding (l'aggiunta di blob di dati dei rollup ai blocchi di Ethereum che possono essere verificati in modo molto efficiente dai validatori) ha portato la community di Ethereum a preferire una scalabilità incentrata sui rollup invece della scalabilità tramite sharding. Questo aiuterà anche a mantenere più semplice la logica di consenso di Ethereum.

Scalabilità offchain

Le soluzioni offchain sono implementate separatamente dalla Mainnet layer 1 (l1): non richiedono modifiche al protocollo Ethereum esistente. Alcune soluzioni, note come soluzioni "layer 2 (l2)", derivano la loro sicurezza direttamente dal consenso di Ethereum layer 1 (l1), come i rollup ottimistici, i rollup a conoscenza zero o i canali di stato. Altre soluzioni comportano la creazione di nuove catene in varie forme che derivano la loro sicurezza separatamente dalla Mainnet, come le sidechain, i validium o le catene Plasma. Queste soluzioni comunicano con la Mainnet ma derivano la loro sicurezza in modo diverso per ottenere una varietà di obiettivi.

Scalabilità layer 2

Questa categoria di soluzioni offchain deriva la sua sicurezza dalla Mainnet di Ethereum.

Layer 2 (l2) è un termine collettivo per le soluzioni progettate per aiutare a scalare la tua applicazione gestendo le transazioni al di fuori della Mainnet di Ethereum (layer 1 (l1)), pur sfruttando il robusto modello di sicurezza decentralizzato della Mainnet. La velocità delle transazioni ne risente quando la rete è congestionata, rendendo l'esperienza utente scadente per alcuni tipi di applicazioni decentralizzate (dapp). E man mano che la rete diventa più trafficata, i prezzi del gas aumentano poiché i mittenti delle transazioni cercano di superarsi a vicenda con le offerte. Questo può rendere l'utilizzo di Ethereum molto costoso.

La maggior parte delle soluzioni layer 2 (l2) è incentrata su un server o un cluster di server, ciascuno dei quali può essere definito nodo, validatore, operatore, sequencer, produttore di blocchi o con un termine simile. A seconda dell'implementazione, questi nodi layer 2 (l2) possono essere gestiti dagli individui, dalle aziende o dalle entità che li utilizzano, oppure da un operatore di terze parti, o da un ampio gruppo di individui (simile alla Mainnet). In generale, le transazioni vengono inviate a questi nodi layer 2 (l2) invece di essere inviate direttamente al layer 1 (l1) (Mainnet). Per alcune soluzioni, l'istanza layer 2 (l2) le raggruppa poi in lotti prima di ancorarle al layer 1 (l1), dopodiché vengono protette dal layer 1 (l1) e non possono essere alterate. I dettagli su come ciò avvenga variano in modo significativo tra le diverse tecnologie e implementazioni layer 2 (l2).

Una specifica istanza layer 2 (l2) può essere aperta e condivisa da molte applicazioni, oppure può essere distribuita da un singolo progetto e dedicata a supportare solo la propria applicazione.

Perché è necessario il layer 2?

  • L'aumento delle transazioni al secondo migliora notevolmente l'esperienza utente e riduce la congestione della rete sulla Mainnet di Ethereum.
  • Le transazioni vengono raggruppate (rolled up) in un'unica transazione verso la Mainnet di Ethereum, riducendo le commissioni del gas per gli utenti e rendendo Ethereum più inclusivo e accessibile per le persone ovunque.
  • Qualsiasi aggiornamento alla scalabilità non dovrebbe andare a scapito della decentralizzazione o della sicurezza: il layer 2 (l2) è costruito sopra Ethereum.
  • Esistono reti layer 2 (l2) specifiche per le applicazioni che apportano il proprio insieme di efficienze quando si lavora con asset su larga scala.

Maggiori informazioni sul layer 2.

Rollup

I rollup eseguono le transazioni al di fuori del layer 1 (l1) e poi i dati vengono pubblicati sul layer 1 (l1) dove viene raggiunto il consenso. Poiché i dati delle transazioni sono inclusi nei blocchi del layer 1 (l1), ciò consente ai rollup di essere protetti dalla sicurezza nativa di Ethereum.

Esistono due tipi di rollup con modelli di sicurezza diversi:

Canali di stato

I canali di stato utilizzano contratti multisig per consentire ai partecipanti di effettuare transazioni in modo rapido e libero offchain, per poi stabilire la definitività con la Mainnet. Questo riduce al minimo la congestione della rete, le commissioni e i ritardi. I due tipi di canali attualmente esistenti sono i canali di stato e i canali di pagamento.

Scopri di più sui canali di stato.

Sidechain

Una sidechain è una blockchain indipendente compatibile con l'EVM che funziona in parallelo alla Mainnet. Queste sono compatibili con Ethereum tramite bridge bidirezionali e funzionano secondo le proprie regole di consenso e parametri di blocco scelti.

Scopri di più sulle sidechain.

Plasma

Una catena Plasma è una blockchain separata che è ancorata alla catena principale di Ethereum e utilizza prove di frode (come i rollup ottimistici) per arbitrare le controversie.

Scopri di più su Plasma.

Validium

Una catena validium utilizza prove di validità come i rollup a conoscenza zero, ma i dati non vengono archiviati sulla catena principale layer 1 (l1) di Ethereum. Questo può portare a 10.000 transazioni al secondo per catena validium e più catene possono essere eseguite in parallelo.

Scopri di più su Validium.

Perché sono necessarie così tante soluzioni di scalabilità?

  • Molteplici soluzioni possono aiutare a ridurre la congestione complessiva su qualsiasi parte della rete e anche a prevenire singoli punti di guasto.
  • Il tutto è maggiore della somma delle sue parti. Soluzioni diverse possono esistere e lavorare in armonia, consentendo un effetto esponenziale sulla futura velocità delle transazioni e sulla capacità transazionale.
  • Non tutte le soluzioni richiedono l'utilizzo diretto dell'algoritmo di consenso di Ethereum, e le alternative possono offrire vantaggi che altrimenti sarebbero difficili da ottenere.

Preferisci imparare visivamente?

Ethereum layer 2 scaling explained

An overview of layer 2 scaling solutions for Ethereum, including rollups, Plasma, state channels, and sidechains.

Guarda con trascrizione 

Nota che la spiegazione nel video utilizza il termine "Layer 2" per riferirsi a tutte le soluzioni di scalabilità offchain, mentre noi differenziamo il "Layer 2 (l2)" come una soluzione offchain che deriva la sua sicurezza attraverso il consenso della Mainnet layer 1 (l1).

Rollups: the ultimate Ethereum scaling strategy?

A deep dive into rollups as Ethereum's primary scaling strategy.

Guarda con trascrizione 

Letture di approfondimento

Conosci una risorsa della community che ti è stata utile? Modifica questa pagina e aggiungila!

Tutorial: Costruire Layer 2 scalabili su Ethereum