Con l’aumentare della complessità delle reti e del numero di utenti che effettuano transazioni, nella blockchain sono emerse criticità che si stanno tentando di risolvere con nuove soluzioni tecnologiche, come Sidechain e Parachain. Uno dei problemi principali di molte soluzioni è la loro scalabilità. Il sistema che consente di risolvere questo problema è la blockchain layer 2.
Le soluzioni di scalabilità: perché sono necessarie
Scalabilità: cosa si intende esattamente? Con l’aumentare delle transazioni, il rischio è che i blocchi saturino. Ciò accade perché, sempre più spesso, il numero di transazioni che la blockchain può validare raggiunge un limite a causa delle capacità insufficienti della stessa. La difficoltà risiede in uno specifico parametro chiamato “limite di dimensionamento del blocco”, e il limite attuale non è adeguato a reggere una frequenza di transazioni costantemente in crescita.
Vi è, inoltre, un secondo aspetto da tenere in considerazione. I miner hanno un duplice guadagno: il block reward, ossia il premio che va a chi trova il blocco, e delle commissioni variabili, che dipendono dalle transazioni. Con quale criterio, quindi, una transazione verrà eseguita prima delle altre? Naturalmente quella con più commissioni.
La conseguenza di tutto ciò è che, nei periodi in cui la rete è congestionata, i tempi e i costi necessari per effettuare una transazione sono elevati: se si vuole che venga effettuata in un ragionevole arco temporale, è necessario pagare una commissione maggiore, affinché essa venga inserita in un blocco più velocemente.
Immaginiamo di voler pagare un caffè con i bitcoin. Come facciamo se la transazione rischia di impiegare ore o giorni? Non possiamo di certo pagare 10 euro di commissioni a fronte di 1 euro di spesa.
Questo è il problema attuale delle principali blockchain: scrivere un dato su un registro permanente comporta tempi e costi da non sottovalutare.
Come si fa a scalare, quindi ad aumentare il processo, all’aumentare dei nodi? La risposta è: Layer 2.
Vediamo di comprendere quali sono i suoi principali vantaggi e perché rappresenta una valida soluzione al problema della scalabilità nel layer 1.
Layer 2 e Sidechain
Il sistema che consente di risolvere il problema della scalabilità è dunque la blockchain Layer 2, rappresentata ad esempio dalla Sidechain. Come suggerisce il nome, questa non è altro che una “blockchain parallela” su cui viaggiano le transazioni che, in un secondo momento, verranno scritte sul Layer 1. In altri termini, la Sidechain è una Blockchain collegata a un’altra Blockchain, denominata catena principale.
La prima Sidechain, Lightning Network, è nata nel 2015 ed è stata progettata per eseguire transazioni istantanee tra gli utenti della blockchain Bitcoin.
Le Sidechain consentono di utilizzare i token e altre risorse digitali in una blockchain separata e, se necessario, di tornare alla catena originale.
Nonostante Sidechain e blockchain siano indipendenti dal punto di vista strutturale per quanto riguarda l’esecuzione delle transazioni, è importante garantire la sicurezza di entrambe, perché qualsiasi impatto sulla Sidechain si ripercuote sulla catena principale.
Finora abbiamo fornito una definizione generale di Sidechain. Più concretamente, qual è il suo funzionamento e in che modo va a risolvere le complicazioni emerse con il Layer 1? Immaginiamo di dover effettuare con una controparte diverse transazioni al giorno. Ha senso che tutte queste vengano scritte sul Layer 1? No, perché a quel punto andremmo a sostenere costi maggiori e le tempistiche sarebbero troppo lunghe. La Sidechain, poniamo Lightning Network, apre un canale di comunicazione fra le due controparti. Queste ultime possono effettuare all’interno del canale tutte le transazioni che desiderano, senza che vengano scritte nei blocchi. Quando le controparti decidono di chiudere il canale, viene effettuato il saldo totale delle transazioni sulla catena principale.
Nel primo paragrafo, abbiamo detto che, uno dei vantaggi innegabili delle blockchain, è quello di garantire una certa sicurezza nelle transazioni. Dal momento in cui in Lightning Network vengono registrate soltanto la prima e l’ultima transazione, le transazioni effettuate all’interno non godono delle garanzie del Layer 1. Questo perché i miner sono all’oscuro di tutte le transazioni intermedie. Tuttavia, esistono altri meccanismi di validazione interni al Layer 2 che variano in base alla Sidechain di riferimento. Il Layer 1 è, in qualche modo, più sicuro del Layer 2, ma quest’ultimo gode di due grandi vantaggi: commissioni ridotte e maggiore velocità.
Tra Layer 1 e Layer 2, se vogliamo citare un lato negativo è che, finché i Bitcoin rimangono sul Layer 2 non sono veri e propri Bitcoin, ma solo crediti e debiti che si finalizzano solo una volta in cui sono trasferiti sul Layer 1. Esistono, inoltre, rischi legati alla privacy, seppur siano più che compensati dai vantaggi offerti. L’ago della bilancia, dunque, non può che pendere a favore di tale soluzione.
Layer 2 e la Sidechain di Ethereum
Finora abbiamo illustrato la blockchain in termini generali, con riferimenti a Bitcoin. Parlando di Ethereum, invece, è utile menzionare alcune differenze.
Ethereum è un’altra criptovaluta che, a differenza di Bitcoin, non è solo una moneta, ma ha anche altre funzionalità.
Si passa dal concetto di Distributed Database a quello di Distributed Computing: molto semplicemente, Ethereum può essere rappresentato come un enorme computer condiviso (di cui ogni singolo peer è una piccola parte) in grado di erogare una potenza enorme. Al suo interno, è possibile scrivere smart contract.
Uno smart contract non è altro che un’applicazione, con il suo codice sorgente, invocabile da tutti. Ciò significa che chiunque, all’interno della rete, può interagire con quello smart contract. Facciamo un esempio pratico: su Ethereum possiamo scrivere delle logiche, che potrebbero consentire, per citare alcune possibilità, di creare un fondo su cui poter ritirare la nostra criptovaluta dopo un particolare intervallo temporale, o permettere il ritiro a specifiche persone. Con Bitcoin questo non è possibile.
Qual è il problema? Anche Ethereum ha lo svantaggio della scalabilità, dunque elevatissimi costi per interagire con gli smart contract. Come per i Bitcoin, per Ethereum vi sono dei costi di transazione che dipendono dai miner: infatti essi, a parità di lavoro eseguito e quindi di costo energetico per validare un blocco, sceglieranno di includere nello stesso le transazioni con un valore di commissioni maggiori.
Come nel caso dei Bitcoin, inoltre, i costi sono decisamente inferiori quando entra in gioco la Sidechain. Polygon Matic è una delle principali Sidechain Ethereum. Attraverso la rete Polygon viene creato uno smart contract “ponte”, che consente di trasferire qualsiasi transazione dal Layer 1 al Layer 2 e viceversa. Polygon è la Sidechain Ethereum più diffusa, ma discorso simile può valere anche per altre Sidechain, come Loopring.
Un caso pratico in cui la Sidechain risolve il problema dei costi è quello degli NFT. Gli NFT (Non Fungible Token) sono asset che racchiudono al loro interno informazioni, dei metadati, che li rendono unici, come nel caso delle opere d’arte digitali. Sono univoci, non possono essere acquistati da più persone.
In sostanza, un NFT per essere ‘mintato’/generato all’interno del suo smart contract, necessita di commissioni elevate.
Nel Layer 2, la questione dei costi viene risolta. In Polygon, ad esempio, è possibile creare a costi abbordabili un NFT e trasferirlo sulla rete Ethereum in un secondo momento, similmente a come avviene tra Ligthning Network e Bitcoin. Finché si rimane nel Layer 2, i costi sono molto bassi, ed è possibile tornare nel Layer 1 quando si desidera.
Parachain e Ethereum 2.0
Per concludere, menzioniamo due nuove introduzioni, che si propongono come alternative alla Sidechain: Parachain e Ethereum 2.0.
La Parachain è di recentissima introduzione. In questo caso, si parla di una soluzione introdotta da Polkadot, la quale va a risolvere il problema della scalabilità creando blockchain parallele dette anche Parachain. Il concetto che sta alla base, a differenza delle Sidechain, è quello di affidarsi a un’unica Relay Chain. Essa rappresenta il cuore di Polkadot ed è indispensabile per il processo di validazione delle transazioni delle sottostanti Parachain, per garantire sicurezza e affidabilità del consenso. In questo modo, le Parachain possono essere customizzate per qualsiasi caso d’uso e scambio dati verso la Relay Chain. Questo rende Polkadot una blockchain per l’interoperabilità tra blockchain, a differenza di Polygon che, essendo una Sidechain, rappresenta esclusivamente un bridge specifico per Ethereum.
Ethereum 2.0, invece, non è una Sidechain, ma un tentativo di risolvere la scalabilità al Layer 1. Ciò che si propone di fare è modificare il protocollo. Questo upgrade introduce significativi cambiamenti:
- l’algoritmo di consenso passa da Proof of Work a Proof of Stake:
- introduce un meccanismo chiamato ‘sharding’ per aumentare la scalabilità portando la rete Ethereum ad essere in grado di processare oltre 100mila transazioni al secondo:
- sostanziali riduzioni delle commissioni per le transazioni rendendo l’utilizzo più accessibile in termini di costi per l’utente medio.
All’interno delle blockchain, questa è un’operazione molto delicata. Perché? La risposta è molto semplice: la blockchain è formata da peer, e ognuno ha la sua versione del software. Bisognerebbe convincere tutti i peer ad aggiornarlo in una nuova versione. Questa operazione è chiamata fork, ed è molto dispendiosa e a rischio, perché una parte dei peer potrebbe accettare il nuovo protocollo e un’altra no.
Conclusioni
Riassumendo, il problema della scalabilità può essere affrontato in due modi: modificando il Layer 1 o creando un Layer 2.
Sebbene entrambi gli approcci siano promettenti, la complessità dei sistemi e la loro recente implementazione portano dei rischi legati a eventuali bug. È fondamentale, quindi, lasciar maturare ulteriormente queste soluzioni e testarle sistematicamente.
È importante sottolineare però, che, ad oggi, non esistono strade giuste o sbagliate, ma soltanto studi e nuove alternative più o meno efficaci, che dovranno essere validati nel tempo.