Skip to toolbar
Sep 11

Blockchain e scalabilità: cenni fondamentali

Blockchain e scalabilità: cenni fondamentali

hidden post imageLa scalabilità di una blockchain è la sua capacità di gestire un aumento del volume delle transazioni. Per essere scalabile, una blockchain deve essere in grado di gestire un elevato volume di transazioni al secondo o TPS (Transaction Per Second).

Tra i parametri fondamentali con cui possiamo aumentare le transazioni al secondo abbiamo la velocità con cui viene aggiornato il registro distribuito. Nel caso della blockchain questo parametro è chiamato Block Time, e rappresenta il tempo medio impiegato per generare un nuovo blocco da aggiungere alla blockchain. Se sto acquistando un caffè con Bitcoin, non vi è alcuna garanzia che la mia transazione andrà a buon fine, soprattutto con così tante altre transazioni con commissioni di transazione potenzialmente più elevate. Il tempo di blocco medio di Bitcoin dura circa 10 minuti e, generalmente, quando effettuiamo una transazione, dobbiamo aspettare 6 conferme, cioè 6 blocchi trascorsi da quando la nostra transazione è stata inclusa in un blocco, per avere una alta probabilità che la nostra transazione sia andata a buon fine e sia stata finalizzata (da qui la finality della blockchain). In questo senso Bitcoin non è per nulla scalabile, anche perché nessuno vuole aspettare un’ora ogni mattina per prendere il caffè, ammesso che si voglia pagare in Bitcoin.

Per fare in modo che ogni blocco contenga più transazioni possiamo aumentare la block size, cioè la dimensione dei blocchi. Per contro, con l’aumentare di questo parametro aumenta anche la dimensione della blockchain in GB, disincentivando gli utenti comuni a unirsi alla rete in quanto lo spazio di archiviazione richiesto è troppo alto. Quindi, per mantenere un alto grado di decentralizzazione e rendere più semplice la partecipazione di più nodi alla rete in futuro, siano essi gestiti da utenti dedicati o occasionali, dobbiamo progettare delle blockchain tenendo conto delle dimensioni di archiviazione della stessa.

Più in generale i sistemi possono scalare verticalmente o orizzontalmente. Lo scaling up, o verticale, implica l’aggiunta di più risorse in modo che ogni macchina possa svolgere più lavoro. Tradizionalmente questo viene fatto aggiungendo più memoria o capacità di elaborazione a una macchina in particolare.
Lo scaling out, o orizzontale, implica l’aggiunta di più macchine della stessa capacità e l’aggiunta di più funzionalità distribuite. Combinando idee dal ridimensionamento verticale e orizzontale contemporaneamente si ottiene il ridimensionamento diagonale.

Applicando questa concetto alla blockchain, possiamo classificare gli sforzi di scalabilità. Per “scalare” in maniera verticale, ci sono stati sforzi per aumentare la dimensione del blocco (Bitcoin Cash e Bitcoin SV) o ridurre il tempo di blocco (Litecoin e Dogecoin), oppure per ridurre la dimensione delle transazioni in modo che un numero maggiore possa essere contenuto in blocchi della stessa dimensione (Segwit per Bitcoin, che separa le firme dalle transazioni).  Per lo scaling orizzontale, possiamo considerare come esempio lo sharding, un metodo di distribuzione dei database, o le sidechain. E infine per lo scaling diagonale, abbiamo visto progetti come Plasma e Cosmos, che mirano non solo a rendere più efficienti le singole blockchain, ma anche a creare un nuovo valore e collegare tra loro queste blockchain.

Oltre al tradizionale punto di vista della scalabilità dei sistemi, esiste un altro modello utile per visualizzare le soluzioni di ridimensionamento basato sugli strati o layer. Le soluzioni di scaling di layer 1 si riferiscono a quelle che cambiano la blockchain e il suo stesso protocollo, modificando i parametri della blockchain come la dimensione del blocco, la velocità del blocco, il puzzle di hash, cambiando il meccanismo di consenso. Ad esempio Ethereum 2.0 è una soluzione di scaling di livello 1, poiché cambierà radicalmente l’infrastruttura e il funzionamento della blockchain di Ethereum.

D’altra parte, abbiamo soluzioni di scalabilità di layer 2, chiamato anche scaling off-chain. In generale, le soluzioni di livello 2 sono più facili da eseguire poiché non richiedono una sovrascrittura completa della blockchain sottostante come nelle soluzioni di livello 1. C’è ad esempio l’idea di impostare canali di pagamento tra determinati partecipanti alla rete, i famosi payment channels, come Raiden e Nahmii per Ethereum e Lighting Network per Bitcoin.

Gianni Morselli, contributor di Cryptohelper

DECRED

Decred (DCR) è una criptovaluta che dà la priorità alla governance decentralizzata e al processo decisionale sulla blockchain. L’obiettivo è …

POLKADOT

Gavin Wood è stato co-founder ed ex-CTO di Ethereum nonchè co-founder ed ex-CEO di Parity Technologies, la società che ha …

BINANCE COIN

Binance Coin (BNB) è stata lanciata a metà Luglio del 2017 con una ICO (2700 BNB per 1 Ethereum, una …

Arriva Muir Glacier, il fork a sorpresa di Ethereum

Un hard fork a sorpresa di Ethereum è previsto per il blocco numero 9.200.000, previsto per giovedì 2 gennaio 2020. L’unico cambiamento in questo aggiornamento è che viene ritardata di 2 anni la difficulty bomb (Ice Age), la feature prevista agli albori di Ethereum che aumenta la difficoltà di mining ogni 100.000 blocchi in modo da accelerare la transizione del network a Proof of Stake. Nonostante l’ultimo fork Istanbul sia avvenuto poche settimane fa, è emerso che gli sviluppatori di Ethereum hanno commesso un errore non prendendo in considerazione l’imminente scoppio della “bomba di difficoltà”. Qui potete trovare un conto alla rovescia dell’aggiornamento di rete:

Lost Password
Join us on Telegram Channel @MyCryptoHelper

@

Not recently active