Home
Glossario
Parallelizzazione

Parallelizzazione

Intermedio


Cos'è la parallelizzazione?

La parallelizzazione (Parallel Transaction Execution) è un metodo per elaborare più attività contemporaneamente. La parallelizzazione si basa sull'idea di parallelismo, un concetto in informatica che descrive la capacità di eseguire più processi contemporaneamente. Per la tecnologia blockchain, questo approccio aumenta il numero di transazioni al secondo (TPS) e migliora il rendimento complessivo della rete.

Come funziona la parallelizzazione

La parallelizzazione struttura la rete per convalidare più transazioni contemporaneamente invece di elaborarle in sequenza (una per una). Utilizza le risorse di rete disponibili e distribuisce l'attività di esecuzione delle transazioni su più nodi

La parallelizzazione controlla contemporaneamente molti potenziali stati della rete, ognuno dei quali mostra il risultato della convalida di un particolare insieme di transazioni. Esplorando questi stati, la rete comprende come ogni transazione influirebbe sul ledger se fosse convalidata. Una volta terminato il controllo, la rete raggiunge uno stato comune, che riflette l'esito della convalida parallela.

Modelli di parallelizzazione 

Esistono due modelli di parallelizzazione: optimistic e state-access.

1. Parallelizzazione optimistic. Nel modello di esecuzione parallela optimistic, la rete ignora la fase di smistamento e procede all'elaborazione delle transazioni contemporaneamente. Opera partendo dal presupposto che le transazioni in coda siano indipendenti e le riesamina per rivedere eventuali esecuzioni errate. La rete riesegue la transazione con dati accurati se ci sono ulteriori dipendenze tra le transazioni.
2. Parallelizzazione state-access. Nel modello di esecuzione parallela state-access, le transazioni vengono inizialmente ordinate in base al loro impatto sullo stato della rete, considerando fattori come l'interazione con smart contract o account. Queste transazioni smistate vengono quindi inserite nel sistema di consenso, distinguendo tra transazioni correlate e non correlate. Le transazioni non correlate vengono eseguite contemporaneamente per ottimizzare l'efficienza, mentre le transazioni correlate vengono coordinate prima dell'elaborazione, con una priorità basata sulle commissioni gas per una maggiore velocità di elaborazione.

Vantaggi della parallelizzazione

Elevata velocità di elaborazione delle transazioni

La distribuzione delle attività tra più nodi riduce significativamente il tempo di esecuzione delle transazioni, aumentando la velocità di elaborazione delle transazioni. Pertanto, le reti che implementano la parallelizzazione sono generalmente più efficienti di quelle con modelli di elaborazione sequenziale.

Scalabilità

La parallelizzazione risolve il problema della scalabilità blockchain distribuendo la convalida delle transazioni tra i nodi della rete. Questo accelera il processo e consente la scalabilità orizzontale, ovvero la capacità della rete di espandere le proprie risorse aggiungendo nodi durante i periodi di maggiore domanda e ridurle quando la domanda diminuisce.

Riduzione dei costi gas

La parallelizzazione riduce al minimo le commissioni distribuendo le transazioni a sottogruppi di nodi, tagliando i costi rispetto all'elaborazione sequenziale in cui ogni nodo convalida ogni transazione. La maggiore velocità delle transazioni riduce anche la concorrenza per la convalida, abbassando ulteriormente le commissioni per transazione. 

Conclusione

La parallelizzazione è un approccio all'elaborazione delle transazioni che offre una soluzione al problema della scalabilità blockchain. Eseguendo transazioni contemporaneamente e distribuendo la loro convalida su più nodi, la parallelizzazione consente alle reti blockchain di gestire più transazioni, ridurre i costi gas e ottenere tempi di elaborazione più rapidi.