Learn about monad
Monad ecosystem
Community News
Community culture
How to contribute
Artists and Gallery
Team members
Monacomics
Monad media kit
FAQs
Disclaimer
"No connect wallet on any site. We never provide any links that require connecting a wallet. If you see one, perhaps our site has been hacked."
Deferred Execution – Monad Technical Overview (🇺🇸)
Deferred Execution is a mechanism used by MonadBFT to separate transaction execution from the consensus process. This improves the efficiency of the blockchain network while optimizing how it handles transactions and achieves consensus. Let’s break down this concept to gain a better understanding.
1. Core Concept of Deferred Execution
In traditional blockchains, the process of executing transactions and achieving consensus (such as block validation) occurs simultaneously. However, this can lead to performance issues, especially when the network handles a large number of transactions or experiences congestion.
Deferred Execution in MonadBFT separates these two processes:
- Consensus: The network verifies the order and validity of transactions within a block without executing them immediately.
- Transaction Execution: After the consensus is reached, the nodes execute the transactions in the agreed-upon order.
This separation allows Monad to process blocks more efficiently and in parallel, avoiding the congestion problems that arise when both consensus and execution happen simultaneously.
2. How Deferred Execution Works
To better visualize how Deferred Execution functions, consider the following steps:
- Step 1: Consensus on Transaction Order: When a new block is proposed, validators in the MonadBFT network check if the transactions are valid and vote on the block. Once a supermajority (over two-thirds) agrees, the block is confirmed, but the transactions within the block are not yet executed.
- Step 2: Deferred Execution: After consensus is reached on the block, nodes begin executing the transactions in the block according to the agreed order. Since the execution occurs after consensus, it does not slow down the consensus process.
- Step 3: Parallel Execution: By separating execution from consensus, Monad can process transactions in parallel. This means that transactions that do not depend on each other can be executed simultaneously, speeding up the overall process.
3. Benefits of Deferred Execution
Deferred Execution offers several key advantages for the system:
- Performance Optimization: By decoupling transaction execution from the consensus process, the system avoids bottlenecks and allows for faster consensus. This increases the number of transactions the network can process per second (TPS).
- Reduced Complexity: Separating execution from consensus simplifies the process. Validators only need to focus on agreeing to the order of transactions rather than executing them immediately.
- Increased Scalability: Deferred Execution enables Monad to handle a larger volume of transactions without affecting consensus performance. This allows the system to process multiple blocks concurrently and optimally utilize resources.
- DDoS Attack Resistance: One major threat to blockchain networks is Distributed Denial of Service (DDoS) attacks, where attackers flood the network with invalid transactions to overwhelm mempool capacity. Deferred Execution allows Monad to bypass unexecutable transactions, protecting the network from such attacks.
4. Example of Deferred Execution
Imagine a blockchain network processing a series of consecutive transactions. In the traditional model, the network would need to both agree on the transaction order and execute them immediately, which could lead to delays if there is a complex transaction or a backlog of transactions.
With Deferred Execution:
- Monad only needs to agree on the order of transactions and can proceed to the next round without waiting for the current transactions to be executed.
- After consensus, the nodes execute transactions in the agreed order but can execute multiple transactions at the same time (parallel execution) if they are independent.
For instance, if there are two transactions A and B that are unrelated, Monad can execute them concurrently, reducing processing time compared to sequential execution.
5. Comparison with Traditional Mechanisms
In blockchains like Ethereum or Bitcoin, consensus and transaction execution happen simultaneously. This means that when a new block is proposed, the transactions within it are executed right away, which can lead to congestion if there are many transactions or complex computations involved.
With MonadBFT and Deferred Execution, these two processes are separated, allowing the network to continue achieving consensus even while some transactions may take longer to execute.
Criteria | Ethereum | Monad (Deferred Execution) |
---|---|---|
Processing Order | Consensus and execution happen sequentially (block-by-block). | Consensus and execution happen in parallel; no need to wait for execution before moving to the next block. |
Performance | Lower performance under high transaction volume due to block confirmation and execution dependencies. | Higher performance through parallel execution and consensus, optimizing transaction processing time. |
Transaction Latency | Transactions may be delayed, as each block must be confirmed and executed. | Transactions are executed as soon as the previous block reaches consensus, minimizing latency. |
Consensus Mechanism | Validators must agree on the block and execute transactions immediately. | Uses Deferred Execution to optimize execution and consensus separately. |
Special Features | Sequential execution relies on block consensus. | Separates consensus and execution, boosting speed and efficiency. |
6. Conclusion
Deferred Execution in MonadBFT represents a significant improvement in blockchain performance. By separating the consensus and transaction execution processes, Monad can handle more transactions quickly and securely while optimizing system resource usage.
This leaves an important question: How does the system efficiently store and manage the data required for transaction execution? For that, we need to understand the role of MonadDB.
READ MORE
🔹MonadBFT: A Consensus Mechanism Delivering High Performance for the Monad Blockchain
🔹Deferred Execution: Optimizing Consensus and Parallel Transaction Processing
🔹Parallel Execution: Enhancing Multithreaded Transaction Throughput