Serial vs Parallel Execution in Blockchain
Understanding serial and parallel execution in blockchains, optimistic & deterministic parallel execution.
Brief History of Serial & Parallel Computing
Before we dive into what serial and parallel execution means for blockchains, we must understand where they were first implemented - in computers.
Computer software, which as you must know, are programs/instructions executed by the computer hardware, were previously only capable of being executed accordingly (one after another). This was because the computers developed back then were what you can refer to as “serial computers.” The architecture of serial computers allowed them to process data sequentially. Serial computers possessed single-core processors which are the integral parts of the CPUs that allow them to execute instructions in specific orders. From the early days of electronic computers, serial computers dominated until the mid-late 1900s when parallel computing was first implemented.
Parallel computing was first only implemented to solve complex problems or problems that require intensive computations, AKA high-performance computing (HPC). With the emergence of supercomputers and high-level computers (having multi-processors within the CPUs) in the 1960s and 1970s, programs could be executed simultaneously as the tasks were broken down into sub-tasks and worked on by different elements of the multiprocessors.
Now, sit tight! It’s time to understand how these concepts are used in blockchain technology.
Serial Execution in Blockchain
Serial execution is a model whereby crypto transactions are executed (processed) in order, one after the other. Earlier developed blockchains like Bitcoin, Ethereum, Litecoin, and other EVM chains (even layer 2s) utilize serial execution. Here’s an overview of how serial execution works in typical blockchains:
Initiation & Mempool: Once a user initiates a transaction, it lands in the mempool. A mempool is a “waiting room” for unconfirmed transactions. An order (send 2 ETH to 0xd293….), once initiated by Bob, is moved into the mempool where the miners or validators within the network verify it. Once confirmed, Bob’s transaction and other transactions are added to a block. A block contains multiple transactions.
PS: Not all blockchains use mempools.
Consensus (Validation): Traditional blockchains require consensus before execution, meaning, transactions first have to be validated before they are processed. Once in their respective blocks, transactions are verified for various things such as ensuring senders have sufficient fees to cover the transactions, preventing double-spending, making sure the transactions conform to the consensus rules of the network, etcetera.
Execution: Once validated, transactions are then executed in order (i.e., Bob’s 2 ETH is removed from his account and 2 ETH is added to account 0xd293….). Transactions are executed in the order which are put by the miners or validators.
Finality: A block is considered final when all the transactions in it have been validated and executed. Once considered final, a transaction cannot be reversed or changed.
Appendation: After a block’s transactions have all been executed, it is then added to the chain of other blocks that make a blockchain.
Blockchains that execute transactions serially are called single-threaded because they allow for transaction execution in a single sequence, as a single thread. This is a result of the virtual machine which allows for just one state change at a time. While this ensures better security as each transaction is “scrutinized properly”, one downside is the slow throughput. Executing transactions linearly allows for slow procession time. This accounts for Ethereum’s infamous characteristic - slow.
Parallel Execution in Blockchain
Over time, the limitations of single-threaded blockchains became more apparent and solutions emerged. There are off-chain solutions like rollups which Ethereum considers the holy grail of scaling, sharding which was previously on Ethereum’s roadmap, and state channels. In 2020, the first parallel blockchain - Solana was launched. Now here comes the question: what is parallel execution?
Parallel execution is a model whereby crypto transactions are executed simultaneously (multiple at once) unlike is the case with serial execution. Meaning, that I can pay for an in-game transaction, you can send funds to your pops, she can buy X token, he can borrow USDT from Y lending platform, and they can mint a limited edition NFT all at once, on the condition that none of our transactions overlaps with one another.
Image Source: Amber Group
Blockchains that enable simultaneous transaction processing are referred to as “multi-threaded.” Unlike single-threaded blockchains which allow for just one state change at a time, multi-threaded blockchains allow for multiple state changes at a time.
Note: State changes refer to changes in the statuses of a blockchain’s existing state. For instance, Zach has 10 ETH in his wallet. The existing (current) blockchain state is that Zach’s wallet has 10 ETH in it. If Zach successfully sends 3 ETH to his friend’s wallet, there is a change in the state of the blockchain at that point. Zach’s wallet has less than 10 ETH, meanwhile, his friend’s wallet has 3 ETH in addition to its previous balance. All of these represent state changes.
Solana Virtual Machine (SVM) is multi-threaded as it allows users to perform as many transactions (that result in multiple state changes) at a time, hence making it possible to have high throughput. The SVM has a component called Sealevel that makes this possible. Sealevel serves as the engine driving horizontal scaling within the virtual machine, allowing multiple smart contracts to operate concurrently without affecting each other's performance. There are a few other blockchains that allow for parallel execution like Sui, Sei, Aptos, Neon, Fuel, and Monad.
Approaches of Parallel Execution
Various blockchains process transactions in parallel using two major approaches called “optimistic” and “deterministic or state access method.”
Optimistic parallel execution: This approach processes transactions on the assumption that they are independent of each other (i.e., no conflicts). In situations where there are, in fact, conflicts (transactions that touch the same state), the affected transactions are re-executed either sequentially or simultaneously. This approach results in a much faster execution process because transactions’ dependencies are not first confirmed before execution. Examples of blockchains that utilize optimistic execution are Monad, Aptos, and Sei v2.
Deterministic parallel execution or state access method: This approach requires transactions to reveal dependencies upfront (i.e. before execution). This method ensures developers have access to the specific parts of the blockchain’s state (hence the term “state access method”) to ascertain the independence of transactions before they are executed.
Unlike the optimistic approach in which the network proceeds to process all the transactions triggered at a time in “good faith” that they are all independent of each other, the deterministic approach first confirms the transactions that are independent and executes them simultaneously while serially executing dependent ones. Examples of blockchains that utilize deterministic execution are Solana and Sui.
While blockchains that leverage serial execution served the industry for a long time and still do, parallelizable blockchains have shown their effectiveness and potential to scale the industry to facilitate mass adoption.
To learn more about Monad blockchain and its ecosystem, follow us on X.
Written by Julia




