Monad: the blockchain that parallelizes the EVM to reach 10,000 tx/s

A few weeks ago, the project Monad finalizes a financing round worth $255 million. Among the investors, we find several well-known names in the industry such as Paradigm or Electric Capital. For its part, Fortune magazine presents Monad as “the layer 1 that attacks Ethereum and Solana”. Let’s explore together what Monad, the new arrival on the layer 1 horizon, offers.

What is Monad?

As we have just discussed, Monad is a layer 1 blockchainjust like Ethereum, Solana or even the BNB Smart Chain.

In practice, the Monad blockchain is developed by Monad Labsa team of nearly 40 people.

At the origin of the project, we find three co-founders, Keone Hon, James Hunsaker And Eunice Giarta. Keone and James cut their teeth at Jump Trading and Jump Crypto, where they worked on both trading systems and decentralized applications. For her part, Eunice worked at Bank of America Merrill Lynch and was also involved in creating a trading system for Broadway Technology.

Keone Hon, James Hunsaker and Eunice Giarta the co-founders of Monad.

This appetite for trading systems, which are known to require very low latency and a high degree of optimization, led them to imagine Monad. Indeed, Monad aims to become the fastest layer 1 in the ecosystem.

An L1 with extraordinary performance

In its documentation, the Monad project states that it will be able to process 10,000 transactions per second. To compare, Ethereum can process between 10 and 20 transactions per second. For his part, Solana is able to process approximately 5,000 transactions per second.

Logo MonadLogo Monad

Thus, Monad wants to stand out by doubling the number of transactions per second offered by Solana, which is one of the blockchains with the best throughput to date.

However, Monad does not want to improve performance at the expense of decentralization.

To do this, layer 1 has implemented several methods to achieve such levels of performance. Thus, Monad operates a parallel execution of transactions as well as a process called Superscale pipelining. Don’t worry, we’ll explore these concepts in more detail later in the article.

Still on the performance side, Monad offers a one second block timenamely that a new block will be produced there every second and a finality of a second also. As a reminder, the concept of finality refers to the guarantee that once a transaction is validated, it is final and can no longer be modified or canceled.

A compatible EVM blockchain

At the same time, Monad made the choice of EVM compatibility (Ethereum Vitrual Machine). On the one hand, this allows applications developed on Ethereum (or any other EVM blockchain) to be deployed on Monad without having to make any changes to the Source code.

In addition, this allows you to use all the tools already available and widespread such as Metamask or Etherscan.

Additionally, Monad uses the same address architecture as Ethereum. Therefore, it will be possible to reuse your Ethereum address on Monad. As explained in the documentation:

“From a user perspective, Monad behaves very similarly to Ethereum. You can use the same wallets (e.g. MetaMask) or block explorers (e.g. Etherscan) to sign or view transactions. Monad’s address space is the same as Ethereum, so you can reuse your existing keys. »

The specificities of Monad

During this presentation, you may wonder what differentiates Monad from other L1s deployed in recent years.

Well, Monad has two major specificities and not the least. Namely parallelization and superscalar pipelining. Don’t worry, we will explain these concepts with somewhat barbaric titles.

Parallel execution

First, Monad uses a method called parallel execution. In practice, this consists of execute transactions simultaneously instead of processing them one by one.

Thus, rather than executing them one after the other as is, for example, the case on Ethereum, the transactions are executed at the same time, thus drastically reducing the execution time.

Without going into too much detail, Monad uses a method called Optimistic Execution.

“This means that Monad will start executing transactions before previous transactions in the block have completed. »

However, although execution is parallel, the outcome of transactions is ordered linearly within the block, as is the case on Ethereum. So the parallel execution happens under the hood, but from the user’s perspective the result is the same as on Ethereum, only faster.

But then what happens if there is a runtime error because two transactions are dependent on each other? As you can imagine, Monad has foreseen this scenario.

To do this, Monad uses a monitoring system that compares the data used by Transaction 2 with the results of Transaction 1. If the data differs, it means that Transaction 2 used incorrect information and must be executed again with the good data. If necessary, the blockchain will re-execute the transaction based on the correct data. Especially since the latter uses a cache system to reduce the need for resources.

“When rerunning a transaction due to a merge failure, it is often the case that the account(s) and storage accessed do not change. This state is always cached in memory, so it is expensive work that does not need to be repeated. »

Superscale pipelining

Secondly, Monad hopes to be able to reach 10,000 transactions per second using a method called superscalar pipelining. This method involves creating groups of actions and executing them in parallel.

In practice, Monad’s pipeline architecture will break transaction execution into smaller steps. These steps are performed simultaneously and independently. Consequently, this reduces transaction processing time and therefore improves throughput.

To illustrate this concept, Monad offers a rather well-thought-out metaphor using the example of doing one’s laundry.

“When you’re doing four loads of laundry, the naive strategy is to wash, dry, fold and put away the first load before starting the second. The pipeline strategy is to start washing the second load when the first is put in the dryer. Pipelining allows work to be done more efficiently by using multiple resources simultaneously. »

Visual example of Superscalar pipeliningVisual example of Superscalar pipelining
Above: without pipelining. Bottom: with pipelining.

MonadBFT: the consensus used by the blockchain

On the consensus side, Monad operates a Proof of Stake system called MonadBFT. In fact, it is a derivative of HotStuff used by Libra/DiemFacebook’s aborted blockchain project or even Aptoswhich also uses a modified version.

Who says Proof of Stake, says validator nodes. Therefore, to operate correctly, these validator nodes must be connected to a full node. One of the main components of decentralization lies in the accessibility of these complete nodes and therefore the hardware requirements necessary to operate them.

To operate a full node you will need a 16-core CPU, 32 GB of RAM, 2 TB of SSD for storage as well as a bandwidth of 100 Mbit/s.

For comparison, here is a comparison between the hardware requirements for a full node on Ethereum, Solana and Monad:

Blockchain CPU RAM Solid state drive Bandwidth
Ethereum 4-core CPU 16 GB RAM 1 TB SSD 25 Mbps
Monad 16-core CPU 32 GB RAM 2 TB SSD 100 Mbps
Solana 12 cores / 24 threads or more 256 GB RAM PCIe Gen3 x4 NVME SSD or better 10 Gbps

Thus, Monad manages to achieve performances theoretically higher than that of Solana, while having hardware requirements well below. However, the needs remain greater than those to operate an Ethereum full node.

A project in its embryonic state

However, it must be emphasized that all of the performances announced by Monad are still only theoretical.

Indeed, the project is currently being intensively developed. This does not have a mainnet and its testnet should see the light of day in the coming months, but no exact date has yet been revealed. However, the Monad teams operated several Devnets internally, to ensure that the entire technology stack was functioning correctly before deploying the testnet.

Therefore, we are impatiently awaiting the Monad testnet in order to be able to test the performances announced by the development teams. Regardless, Monad’s success seems to be off to a good start. Indeed, the project has a vibrant community and has been able to focus on it.

-

-

PREV on a trip to the Los Angeles video game fair
NEXT Less than 300 euros, the refurbished iPhone 12 is definitely worth the detour