Quando ad una blockchain arriva un numero di transazioni tale da esorbitare la sua capacità di elaborarle, si verifica la cosiddetta congestione di rete. Si tratta di un fenomeno derivante da diversi fattori, sia esterni, come la volatilità del mercato, che interni, riguardanti in particolare caratteristiche intrinseche della rete. Una categoria, quest’ultima, in cui vanno a rientrare, ad esempio, la block size (le dimensioni del blocco) e il block time (periodo di tempo che trascorre tra blocchi consecutivi). Andiamo quindi ad esaminare meglio il problema.
Alcuni concetti chiave della blockchain
Per capire meglio cosa sia la congestione di rete, occorre riuscire a comprendere alcuni concetti chiave attorno ai quali ruota la tecnologia blockchain. Tra di essi, in particolare, i seguenti:
- la mempool (abbreviazione di memory pool), ovvero la raccolta di transazioni non confermate che attendono l’inclusione nel blocco successivo. Prima di essere aggiunta alla catena, una transazione viene aggiunta a questa vera e propria area di attesa, da cui sarà rimossa dopo la conferma;
- i blocchi candidati, quelli proposti per l’aggiunta alla blockchain. Per essere confermati devono essere minati in base al meccanismo di consenso vigente sulla rete. Nel caso di Bitcoin saranno quindi necessari complicati calcoli, mentre su Ethereum occorre mettere in staking i token (almeno 32);
- la finalità, ovvero il momento in cui una transazione o un’operazione non è più in grado di essere modificata o annullata. A quel punto viene registrata in modo permanente sulla blockchain, senza alcuna possibilità di rimuoverla o alterarla;
- il principio della catena più lunga, che deve essere applicato quando gruppi concorrenti di minatori producono nuovi blocchi praticamente nello stesso momento. Dovendo operare una scelta, si adotta il criterio che premia la versione di blockchain caratterizzata dal maggior lavoro computazionale, che si esprime proprio con la maggior lunghezza della catena. Su Ethereum, dopo il Merge, è stato adottato un meccanismo simile, che premia il maggior peso della catena, inteso come la somma accumulata dei voti dei validatori ponderata per i saldi dei loro ether in staking.
Le cause della congestione di rete
Quali sono le cause principali che portano ad un sovraccarico eccessivo della rete? Tra di esse occorre sicuramente annoverare:
- un forte aumento in termini di domanda, che vede la mempool superare in capacità il numero di transazioni che possono entrare in un singolo blocco;
- una misura di blocco inadeguata. Ogni blockchain ha un suo massimo di capacità per un blocco, che per Bitcoin, alle origini era di un megabyte. Dopo l’aggiornamento noto come SegWit (abbreviazione di Segregated Witness) tale massimo teorico è quatto volte maggiore. Se le transazioni in attesa eccedono questo limite si congestiona la rete;
- un block time che non regge al ritmo di creazione delle transazioni. Sempre su BTC tale tempo di blocco equivale a 10 minuti.
Cosa accade se la rete entra in fase di stress?
Naturalmente, la congestione di rete si traduce in una serie di problemi molto seri. I più rilevanti, sono i seguenti:
- il dilatamento dei tempi di attesa per la conferma della transazione eseguita;
- un elevamento delle commissioni da versare, nell’intento di incentivare i minatori a convalidare la propria transazione a discapito di chi paga di meno;
- il peggioramento dell’esperienza utente, con l’aggravio dei costi e il prolungarsi dei tempi di attesa;
- un aumento della volatilità di mercato. Chi ha intenzione di vendere, ma vede prolungarsi i tempi per poterlo fare, può essere preso dal panico e scaricare più in fretta possibile i propri asset, a prezzi anche molto sfavorevoli.
Come si può notare, si tratta di conseguenze molto serie. Tali da aver spinto molti sviluppatori a dedicare i propri sforzi alla risoluzione di tali problemi. Se per Bitcoin si è pensato a Segregated Witness, altri hanno messo in campo lo sharding (divisione della blockchain in parti più piccole e autonome), o le soluzioni layer 2 (che elaborano le transazioni fuori dalla rete principale).
Tra le criptovalute che hanno abbracciato lo sharding occorre ricordare Polkadot, Near Protocol ed Elrond. Tra le soluzioni di livello 2, ci sono invece Polygon, Loopring e Immutable X. In entrambi i casi, ci sono comunque molte altre aziende che hanno deciso di dare una risposta alla congestione di rete, per offrire una migliore esperienza ai propri utenti.