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].