What is Monad? Blockchain Layer 1 with the goal of processing 10,000 transactions per second
Monad is a Layer 1 blockchain that uses Proof of Stake consensus mechanism and is highly compatible with EVM. The project has successfully raised 19 million USD at the Seed round capital call led by Dragonfly Capital. So what is special about this Monad project?
Monad - Blockchain Layer 1 with the goal of processing 10,000 transactions per second
What is Monad?
Monad is a Layer 1 blockchain that uses Proof of Stake consensus mechanism and is highly compatible with EVM. Besides, Monad uses the Parallel Execution operating mechanism, enabling the network to handle 10,000 TPS (Transaction per Second - number of transactions per second).
Monad
The project was built and developed by former members of Jump Trading LLC with the goal of turning Monad into a secure EVM Layer 1 blockchain, with fast and low-cost transaction processing. Recognizing the limitations of Sequential Execution from previous blockchains, Monad has developed a Parallel Execution mechanism that is still highly compatible with EVM .
Parallel Execution allows Monad to classify independent transactions and process them simultaneously at the same time efficiently. From here, Monad aims to be able to process 10,000 TPS to help users save time by not having to wait for each transaction to be confirmed one by one like other blockchain EVMs.
For example: John receives money from Harry, Chris receives money from James, we see that these are two independent transactions. If in EVM blockchain, 2 transactions will be processed one after another, but with Monad, 2 transactions will be performed in parallel at the same time.
Monad technology
Parallel Execution
Monad uses Parallel Execution (parallel execution) to process multiple transactions at the same time instead of one transaction at a time like Ethereum. The idea behind this solution is to speed up the throughput and efficiency of the network but does mean that transactions are performed differently. Essentially, Monad's blocks retain the same linear set of transactions as Ethereum, and the execution results of these transactions also remain the same.
However, Monad will use an optimistic execution method to keep trading outputs accurate. Here, the following transactions start running even if the previous transactions in the block have not been completed. If a transaction uses old data, it will be flagged for rerun with the most updated information. This check is performed by comparing transaction inputs and outputs using Optimistic Concurrency Control (OCC) and Software Transactional Memory (STM) techniques to maintain data integrity while maximizing speed. So, Monad aims to process more transactions faster without compromising security.
MonadDb
MonadDb is a custom database for storing state on Monad. Most Ethereum clients use a value database implemented as a B-Tree data structure (e.g. LMBD) or LSM-Tree (eg LevelD B and RocksDB). However, Ethereum uses the Merkle Patricia Trie (MPT) data structure to store state. This leads to a suboptimal solution where one data structure is inserted into another data structure. From here, MonadDb implements the native Patricia Trie data structure inserted both on disk and in memory.
Monad performs many transactions in parallel. When a transaction needs to read the state from the disk, the system does not need to wait for the previous transaction to complete but will start executing another transaction in the meantime. Monad understands this problem and uses Asynchronous I/O data processing method for the database. The value databases mentioned above lack support for Asynchronous I/O. From here, MonadDb has the latest support for Asynchronous I/O on Linux io_uring to avoid spawning a large number of kernel threads while also performing other I/O-related optimizations to reduce overhead.
MonadBFT
MonadBFT is a high-performance consensus mechanism used to determine transaction ordering in partially synchronous environments in the presence of Byzantine agents. This is a variant of HotStuff with the improvement proposed in Jolteon, DiemBFT, Fast-HotStuff to reduce from 3 rounds to 2 rounds by using 2nd order communication complexity in case of timeout of leader (commander).
MonadBFT is a 2-stage BFT algorithm built according to the optimistic response model with a linear communication cost in the normal case and a quadratic communication cost in the case of synchronization timeouts. Similar to most BFT algorithms, communication occurs in stages. At each stage, the leader sends a signed message to the voters, then the voters send a signed response to the next leader. MonadBFT leverages Pipelining - a capability that allows Monad to stack transaction phases instead of executing them one after another to increase transaction execution speed and the network's net transaction throughput.
Shared Mempool
Shared Mempool is a pool of memory divided into multiple shards, and each shard is responsible for storing a subset of transactions in the mempool. This allows the mempool to process transactions more efficiently and scale to larger numbers of transactions.
In Monad, Shared Mempools are used to store transactions that have been submitted but have not yet been executed. When a new transaction is submitted to the network, it is transferred to the shard based on the transaction's hash. The transaction is then stored in the shard's memory pool until it is executed.
Nodes in the Monad are responsible for processing transactions in the specified shard. To do this, nodes continuously select transactions from the shard's memory pool and execute them. The nodes then transmit the received transactions to the rest of the network.
Deferred Execution
A new approach called Deferred Execution involves moving execution away from the consensus process. In most existing blockchains, the leader selects a list of transactions from the mempool and executes them to determine the new state. The leader then publishes a block with the transaction whose new state is verified and executed by the other nodes participating in the consensus. This process involves executing transactions twice which can be time consuming when nodes are geographically distant.
With Deferred Execution, Monad has separated the execution process from the consensus process. Instead of executing transactions during consensus, Monad executes them first and stores the results. This allows Monad to bypass the need to execute transactions during the consensus process to significantly reduce the time needed to reach consensus, which reduces the burden on the network and ensures faster transaction confirmations.
Carriage Cost and Reserve Balance
Users must pay a fee for transactions to be included in a block called carriage cost. For each address, nodes maintain two balances:
- Reserve balance: Used to pay carriage cost.
- Execution balance: Used to pay transaction execution costs.
Carriage cost is deducted from the Reserve balance when a transaction is included in a block (consensus). Additionally, it is deducted from the Execution balance upon transaction execution and returned to the Reserve balance after the block delay period has passed.
An account's reserve balance is essentially a budget for transactions in process, and it exists to ensure that only paid transactions are included in blocks.
Each account has a target Reserve balance that can be changed by interacting with the stored smart contract. For example: For EOAs that are expected to send a large number of in-process transactions.
Highlights of Monad
Highly compatible with EVM: Monad is highly compatible with EVM which can help developers on Ethereum or other EVM blockchains easily expand their products they go to Monad in the future.
Using Parallel Execution mechanism: Monad uses Parallel Execution mechanism to help process many transactions at the same time and the network can handle 10,000 TPS. In addition, Monad is highly compatible with EVM combined with Parallel Execution, which will help users reduce transaction fees without compromising security.
Basic information about tokens
In September 2023, Monad announced the issuance of a token called "mon" used to pay gas fees and transaction fees on Monad, but there is no specific information about the launch time. Coin68 will update as soon as there is the latest information from the project.
Development roadmap
September 2023,Monad releases technical documents with the release of “mon” tokensUsed to pay gas fees and transaction fees on Monad. This blockchain has not yet announced the testnet for users and Coin68 will update as soon as there is the latest information from the project.
Development team
Monad's development team is mostly former members from Jump Trading LLC or famous financial institutions such as:
- Keone Hon: He is currently the co-founder and CEO of Monad Labs. Keone held the position of trading team leader at Jump Trading LLC for 8 years and worked at Jump Cryptoas head of development for DeFi applications and blockchain infrastructure.
- James Hunsaker: He is currentlythe co-founder of Monad Labs and James has previously held positions as senior as Vice President at J.P. Morgan and Goldman Sachs. James then joined Jump Trading LLC and worked there for the previous 8 years as a software engineer before starting Monad Labs in February 2022.
- Eunice Giarta: She is currently the COO of Monad Labs and Eunice has experience working at a number of financial institutions such as Bank of America, Broadway Technology, Shutterstock with trader and product manager positions.
Investors
Monad has successfully raised 19 million USD in the Seed round capital callled by Dragonfly Capital. Besides, Monad is also contributed capital by a number of other investment funds such as Shima Capital, Placeholder, Lemniscap,...
Monad investors
Partner
Currently, Monad does not have specific information about their official partners. Coin68 will update as soon as there is the latest information from the project.
summary
Monad is a Layer 1 blockchain that uses Proof of Stake consensus mechanism and is highly compatible with EVM. Besides, Monad uses the Parallel Execution operating mechanism, enabling the network to handle 10,000 TPS. However, the project is still in the testnet phase and we need to wait until the project's official mainnet to verify the feasibility that this blockchain can bring.
Through this article, you probably have some basic information about the Monad project to make your own investment decision.