From: thepipeline_xyz
Monad introduces asynchronous execution as one of its key innovations [00:00:11]. This, combined with other optimizations, results in a performant system capable of producing 10,000 transactions per second (TPS) at sub-cent gas fees [00:00:22].
Impact of Asynchronous Execution
Asynchronous execution fundamentally allows for much larger block sizes [00:00:32]. This enables app developers to write more secure code without concerns about increasing gas costs for end-users [00:00:38]. The outcome is cheaper and faster transactions with expanded gas limits [00:00:46]. Monad’s expanded gas limits open up new design spaces, allowing developers to utilize cutting-edge primitives like proof verification and signature aggregation [00:00:52].
How Transactions are Processed
Typically, when a user’s wallet interacts with a blockchain, it sends a transaction through an RPC server [00:01:15]. This transaction is then sent to validators who maintain a mempool [00:01:26]. Transactions sit in the mempool until a leader validator decides to build a block, ordering these transactions within it [00:01:33].
Traditional Blockchain Execution
In typical blockchains, the block time — the period allocated to build a block — is shared between execution and consensus [00:01:52]. This means selecting transactions, putting them into a block, executing them, and reaching consensus on the block all occur within the same time segment [00:02:15]. The time budget for execution in most blockchains today is significantly smaller than the time budget for consensus, as network messages for consensus take the majority of the time [00:02:38]. This limited execution time directly translates to a smaller gas limit for the block [00:04:02].
Monad’s Asynchronous Execution with Parallelism
Asynchronous execution on Monad is made possible by parallelism [00:03:06]. Monad utilizes multiple threads to separate execution and consensus [00:03:10].
- Separation of Concerns: For a given block (e.g., Block Zero), the entire block time can be dedicated to performing consensus [00:03:32].
- Pipelining: The execution of Block Zero occurs in the subsequent block time, on a separate thread [00:03:40]. This creates a pipeline where consensus for one block occurs while execution for a previous block is happening concurrently [00:04:47].
- Expanded Gas Budget: Because execution is performed on a separate thread and can utilize an entire block time, the gas budget is massively expanded [00:04:12]. This allows for significantly more complex and numerous transactions within each block.
This combination of parallelism, pipelining, and the separation of consensus and execution into asynchronous processes makes Monad a performance system [00:05:29].