Home
Glossary
Parallelization

Parallelization

Intermediate


What Is Parallelization?

Parallelization (Parallel Transaction Execution) is a method for processing multiple tasks at the same time. Parallelization is based on the idea of parallelism, which is a concept in computer science that describes the ability to execute multiple processes simultaneously. For blockchain technology, this approach increases the number of transactions per second (TPS) and improves the overall throughput of the network.

How Parallelization Works

Parallelization structures the network to validate multiple transactions simultaneously instead of processing them sequentially (one by one). It uses the available network resources and spreads the task of transaction execution across multiple nodes

Parallelization checks many potential network states simultaneously, each showing the outcome of validating a particular set of transactions. By exploring these states, the network understands how each transaction would impact the ledger if it was validated. Once the check is over, the network reaches a common state, which reflects the outcome of the parallel validation.

Parallelization Models 

There are two parallelization models: optimistic parallelization and state-access parallelization.

1. Optimistic parallelization. In the optimistic parallel execution model, the network bypasses the sorting stage and proceeds to process transactions at the same time. It operates under the assumption that transactions in the queue are independent and revisits them to revise any incorrect executions. The network re-executes the transaction with accurate data if there are additional dependencies among transactions.
2. State-access parallelization. In the state-access parallel execution model, transactions are initially sorted based on their impact on the network's state, considering factors like interaction with specific smart contracts or accounts. These sorted transactions are then fed into the consensus system, distinguishing between related and unrelated transactions. Unrelated transactions are executed simultaneously to optimize efficiency, while related transactions are coordinated before processing, with prioritization based on gas fees for enhanced processing speed.

Benefits of Parallelization

High transaction processing speed

Distributing tasks among multiple nodes significantly reduces the transaction execution time, increasing the transaction processing speed. As such, networks implementing parallelization are generally more efficient than those with sequential processing models.

Scalability

Parallelization addresses the blockchain scalability problem by distributing transaction validation across network nodes. This accelerates the process and allows for horizontal scaling. Horizontal scaling is the ability of the network to expand its resources by adding nodes during periods of higher demand and scaling down when the demand drops.

Reduced gas costs

Parallelization minimizes the fees by distributing transactions to node subgroups, lowering costs compared to sequential processing where every node validates each transaction. Faster transaction speeds also reduce the competition for validation, further driving down the fees per transaction. 

Conclusion

Parallelization is an approach to transaction processing offering a solution to the blockchain scalability problem. By executing transactions simultaneously and distributing their validation across multiple nodes, parallelization enables blockchain networks to handle more transactions, reduce gas costs, and achieve faster processing times.