Why Another Blockchain? Exploring the Need for a Million Users in a Virtual Society

10 Apr 2024

The web3 space is starting to touch on real mass market products. This can be most clearly seen in the social and gaming sectors. However most of the applications are essentially pushing ownership and financial primitives into these applications. This whilst interesting doesn’t make for a better social media or video game.

Core to what makes things more interesting is the experiences offered and how they can be novel to consumers. For example you take an experience stack like MSquared. This supports 10,000 people in a single digital space at a point in time. Creating experiences that are not possible with other technologies. If all or even some of those people want to purchase a digital item users would be waiting seconds if not minutes on today’s blockchain infrastructure. This is just not acceptable for real-time applications.

WELCOME TO THE METAVERSE! – Improbable | MSquared (M²)

We believe you can go beyond ownership to add real innovation to the space. The first thing we see is if you could put the logic of the digital assets used in experiences on-chain you allow for 2 new properties:

  • Portability of the logic – meaning if I have a jetpack that allows me to fly that can be used across many experiences
  • Composability of the logic – Creators could build on each others work in a manner similar to defi.

This would enable a whole new set of creators to enter the space and build easier and faster than before. 

If you also consider a future Virtual Society with hundreds of thousand’s of people all transacting and using these objects you need a major jump in the performance of existing blockchains.

The current state

Although many blockchains support the EVM bytecode standard, they all leave much to be desired from a throughput perspective. Below are transactions per second (TPS) figures for a typical UniswapV3 transaction (Dex swaps per second (DPS)), which is 130k gas. As you can see, most chains offer up to ~200 DPS, or ~20M DPS per day. These numbers where taken from this article:

Average DPSMax DPSFinality
ETH9.19 (cite)18.38 (cite)66s (cite)
Polygon47.67 (cite)95.33 (cite)Variable (cite)
AVAX31.65 (cite)175.68 (cite)3.7s (cite)
BNB194.6 (cite)194.6 (cite)75s (cite)

These are somewhat similar to real world observed numbers (taken from Chaininspect). Note that Uniswaps are a more complex user interaction and are composed of many transactions. Thus these numbers will be higher than above.

If you go outside of the EVM ecosystem you can do a lot better. Note this TPS is not the same as above as the tests are not the same.

TPSFinality
Aptos30,000 (cite)0.9s (cite)
SUI11,000 – 297,000 (cite)480m/s (cite)
Solana1608 (cite)12.8s (cite)

Note for Aptos and SUI real world live tests have not hit these levels yet. These numbers are based on their benchmarks. The Solana numbers differ to what is on the Solana webpage as we are using the real world observed numbers. Using the same methodology as the article above Solana’s numbers are significantly worse at 273.34 swaps per second.

Despite this performance increase we believe the EVM is important. There is already a rich ecosystem of developers and content around the EVM. Not being able to access that seems like a poor choice. These chains had to make that tradeoff in order to create the performance needed. But what if we could have similar performance on the EVM?

The bottlenecks we see today with approaches on the EVM today:

  • Execution speed – The rate at which smart contract code can be executed.
  • Bandwidth – The amount of bandwidth needed to send data between nodes on the network.
  • Storage – Retrieval of storing historical data of a chain. Ethereum EIP-4844 was a recent upgrade that improved the cost of storage significantly for ETH and other L2’s. However we still need improvements in reading and writing data to blockchains.

Isn’t Parallel the way to fix this?

Parallel is definitely an approach to increase chain performance significantly. With projects like SEI and Monad really paving the way for EVM based chains. The issue with parallel approach is the “hot state” problem. This is where you have many users interacting with one on-chain piece of on-chain state. With parallel approaches it is not possible to split the work amongst many threads.

Unfortunately this is the normal pattern of usage for real-time experience. Thinking about 100,000+ people in the same space they are going to all be doing a similar action. Take for example the Otherside Otherdeed mint. This was 10,000’s of people all trying to interact with the same minting contract, with funds going to one wallet, causing congestion. Parallel approaches wouldn’t fix this. We instead need to work on a way to optimize one thread to its limit. Later we can then parallelize further increasing performance.

Somnia the blockchain for the Virtual Society

The Somnia blockchain has many innovations that enable it to increase performance by several orders of magnitude compared to other EVM chains:

  • Independent Data Chains: Each validator operates its own blockchain, or “data chain,” which allows for independent block production. This unique approach eliminates the need for a consensus mechanism within individual data chains, streamlining the data processing workflow.
  • Consensus Chain: A separate blockchain aggregates the heads of all data chains, employing a modified Hotstuff algorithm for proof of stake consensus. This structure decouples data production from the consensus process, significantly enhancing overall efficiency.
  • Compiled Bytecode: By translating EVM bytecode to highly optimized native code, Somnia achieves execution speeds close to hand-written C++ contracts, facilitating the execution of millions of transactions per second on a single core.
  • Advanced Compression Techniques: The Somnia data chain architecture is designed to enable streaming compression in order to maximize data throughput. Somnia combines this with BLS signature aggregation in order to achieve extremely high compression ratios, allowing for massive transaction data throughput. This allows theoretical performance above other preported “limits due to bandwidth”.
  • Optimized State Management: Somnia eliminates traditional full state Merkle trees in favor of two smaller, cache-friendly Merkle trees, drastically speeding up state updates by making different light client tradeoffs.

That’s just the start. In early MVPs we have achieved 400k TPS running over 100 nodes distributed globally. This TPS was ERC-20 swaps which is actually a good use case for parallel execution chains, yet there is a clear jump in performance. Our next step will be deploying Uniswap and stating how many Uniswaps per second our chain can do vs others. We believe this actual user workload style benchmarking is a true way to assess blockchain performance.

Speed is one thing but without use cases that actually use it it’s kinda pointless. That’s why we are partnering with M2 who can bring 10,000’s of users to unique Metaversal events. We are also looking for other partners across gaming, social media and metaverse that are looking to bring more users to blockchain and put more stuff on-chain.

Check out Somnia.network to learn more about the fastest EVM chain designed to power the Virtual Society.