From: thepipeline_xyz
Monad is an EVM-equivalent L1 blockchain designed from scratch to deliver high performance and efficiency, serving as a new home for Ethereum applications [01:21:21]. It targets a vision of the world computer, offering a high-performance, low-cost system while maintaining decentralization [01:26:00].
Key Performance Metrics
Monad aims to provide a high-performance system with significant improvements over existing blockchains:
- Transaction Speed: 10,000 real Ethereum transactions per second (TPS), not just transfers [00:39:27]. This is achieved by running the actual Ethereum state through the blockchain [00:49:57].
- Finality: Single block times and single slot finality [00:58:14]. Finality is reached at consensus time [09:48:29].
- Transaction Costs: Costs are as low as hundreds of a cent for a UniSwap V2 transaction [01:30:11].
- Compatibility: Maintains full EVM RPC compatibility, allowing existing wallets and indexers to work out of the box [01:02:18]. Developers can port over any contract and tap into existing EVM research and network effects [01:53:07].
- Decentralization: Strives for decentralization with hundreds of nodes participating in consensus globally [01:36:34], while maintaining reasonable hardware requirements, such as targeting 100 megabits per second internet for a consumer full node [03:03:03].
Addressing Blockchain Bottlenecks
Traditional blockchains face four fundamental constraints:
- Network Bandwidth: Internet overhead [02:24:26].
- CPU Throughput: Speed of computer cores [02:28:44].
- State Access: Database and historical state of the chain [02:32:14].
- State Growth: Current accounts and their balances [02:38:20].
Many blockchains overcome these by increasing bandwidth requirements (e.g., 1 GB or 10 GB connections), centralizing nodes (placing them close together), or increasing RAM requirements, which makes nodes expensive [03:08:18]. Monad’s goal is to maximize commodity hardware efficiency through a new software architecture [04:02:08].
Monad’s Key Innovations
Monad’s high performance is rooted in a full scratch redesign of its architecture [03:32:41]. While keeping the EVM bytecode, Monad rebuilt its consensus, execution engine, and introduced a custom state database [04:41:40].
Asynchronous Execution
Unlike most blockchains that use interleaved execution (where execution and consensus are done in tandem within a block time), Monad implements asynchronous execution [05:10:00].
- Concept: This stems from the realization that if you have a deterministic state machine like the EVM, and you know the transaction ordering and data, you don’t need to execute to know the results will be the same [06:37:07].
- Mechanism: Monad pulls execution out of the current block and runs it in tandem with the next block [07:07:00]. This means ordering the current block while executing the previous block [07:20:00].
- Benefits: This greatly expands the execution budget and gas budget, leading to higher throughput and lower fees [08:29:00]. Many blockchains are moving in this direction, with proposals in Solana to do the same [09:26:00].
Parallel Execution
Parallel execution, a hot topic in the blockchain space, involves taking one lane of execution and turning it into multiple lanes, utilizing modern computers’ multiple cores [10:17:00].
- Traditional vs. Monad: Historically, transactions are linearly ordered and serially executed [10:46:00]. Monad maintains the consensus ordering but executes everything in parallel, committing results in the correct order [10:59:00].
- Optimistic Parallel Execution: Monad uses optimistic parallel execution (also called software transactional memory or optimistic concurrency control) [11:13:00]. It assumes everything can run in parallel, generates pending results, and then re-executes only conflicted transactions with the new state [11:28:00].
- Efficiency: The overhead of re-execution is low because the state is already cached [13:46:00]. This approach eliminates the need for access lists, reducing bandwidth overhead while providing a familiar EVM interface [13:59:00].
Monad DB
The underlying technology that makes parallel execution truly effective is Monad DB, a custom state database [14:29:00].
- Role: Monad DB feeds the parallel execution engine by enabling parallel state access [14:58:00]. Without it, the system would bottleneck waiting for database lookups for each transaction [15:16:00].
- Asynchronous I/O (IO_Uring): It achieves this through asynchronous I/O using kernel technology called IO_Uring [20:57:00]. This allows Monad to issue many parallel requests to the database, ensuring the system’s other parts are not bottlenecked [15:25:00].
- Native Merkle Patricia Try Storage: Ethereum logically uses a Merkle Patricia Try (MPT) for succinct verification of transactions and state, allowing quick checks of a root to verify underlying data [17:13:00]. However, most Ethereum clients use off-the-shelf databases (like B-trees or LSM trees) that are not natively MPTs, leading to inefficient “tree traversal within a tree traversal” [16:45:00].
- Monad DB’s Innovation: Monad DB is a full rebuild of a database where the Merkle Patricia Try is the actual way data is stored on disk [19:41:00]. This removes the indirection, making data lookups 16 to 32 times more efficient per tree traversal [20:10:00]. This combined with asynchronous I/O allows for both parallel state access and parallel execution, which is the “secret sauce” for Monad’s performance [21:12:00].
By combining asynchronous execution, optimistic parallel execution, and a custom, MPT-native database like Monad DB, Monad aims to saturate hardware capabilities and deliver high throughput while maintaining decentralization and full EVM compatibility [04:02:08].