Vai alla barra degli strumenti
Set 11

Blockchain e scalabilità: cenni fondamentali

Blockchain e scalabilità: cenni fondamentali

La 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.

AMBROSUS

Ambrosus è una piattaforma che utilizza la tecnologia blockchain e i dispositivi IoT per tracciare le catene di approvvigionamento in …

TETHER

Tether è una stablecoin le cui riserve sono garantite da Tether Limited. Attualmente ci sono anche token di Tether supportati …

WBTC

WBTC sta per Wrapped BTC (bitcoin “incartati”) ed è un token erc-20 nato con lo scopo di consentire alla liquidità …

Bakkt annuncia oggi che mancano solo 7 giorni al lancio dei “Bitcoin futures contract”: il 23 settembre verranno avviati i contratti futures su Bitcoin, giornalieri e mensili, consegnati fisicamente ai possessori. Secondo il team di Bakkt i contratti offriranno una sicurezza di trading unica, che fa gola agli investitori istituzionali. Fonte: https://www.bakkt.com/index

Password dimenticata

@

Non recentemente attivo