EVM Scalability: The Case For Radically Higher Throughput
Blockchains create trustless ledgers for currency and computation. This is valuable, both as a censorship-resistant store of value, and as a medium for supporting decentralized applications (DApps) such as virtual exchanges, digital banks, and online games. While these apps are fairly simple right now, they are rapidly becoming more advanced and useful.
Growth in the DApp space is dependent on significant improvements in the underlying blockchains. Existing blockchains are extremely slow by today’s computing standards. A typical transaction in crypto today corresponds to a single user action like “deposit funds into a virtual bank” or “play a card in a decentralized card game”, and it entails executing a few hundred instructions (ADD, JUMP, etc) of Ethereum Virtual Machine (EVM) bytecode, the nearly-ubiquitous standard for blockchain programs. Ethereum itself supports ~10 such transactions per second (tps), while the fastest EVM-compatible competitor supports about 200 tps.
This essay first reviews the existing landscape of blockchain throughput, then makes a case for much higher throughput to support more complex apps and many multiples of the current user count.
Current Landscape
Today’s top L1 blockchains:
Ethereum
Ethereum throughput is 10tps.
Eth DAUs stand at 500k; there are 1M transactions per day. Much higher throughput is needed to support mainstream adoption (e.g. 100M DAUs would be 200x assuming similar engagement level; could imagine this 100xing further if users do 200 transactions per day instead of 2).
- Average Eth transaction fee: 0.013 Eth (== $30 on 2/1/2022). Citation
- Eth hope for scaling relies on adding complexity via sharding + either optimistic rollups or zk-rollups.
See this page for further background on rollups. We believe this will be successful but will take time; there are significant tech hurdles, and fundamentally they partition the blockchain into separate execution environments, which breaks composability.
EVM-compatible alt L1s
EVM support is crucial given its ubiquity amongst crypto devs, similar to Javascript in web2. Supporting EVM makes it easier for devs to reuse knowledge and libraries.
Alt L1s with EVM support have up to 20x higher throughput; see this comparison from Dragonfly Capital. While this might sound impressive, it is starting from an extremely low baseline; much higher throughput is actually needed for mass adoption.
In our view, the low throughput of existing alternatives is because they reuse the VM from geth, focusing on innovativing on the consensus algorithm side. Increases in throughput come from altering gas limit and block time (which Eth could also do, at least in PoS).
See the table below for links to each chain’s EVM implementation in github, and compare it to Ethereum’s.
- In marketing materials, Avalanche claims 4500 TPS but it’s only for their X-Chain, which only processes token transfers (no smart contract execution)
The below screenshot of real metrics from https://ethtps.info/ is consistent with the above:
Solana
At a 100x speedup to Eth, Solana represents the most interesting blockchain in our view. Solana throughput is ~1000 tps (note, live stats show 2500–3000 tps but >60% of those transactions are actually validators voting on the next block; citation). Solana does not support EVM although Neon Labs (not live) is trying to do this.
The case for radically higher throughput
We aim to build an EVM-compatible smart contract execution platform that is meaningfully faster: at least 10000 tps.
Why do we need such high throughput? For example, why isn’t 200 tps enough?
High throughput and speed are essential for building real-world applications. Examples include:
Real games
Most current blockchain “games” commit assets and experiences to the blockchain rather than running player actions on chain. What are the benefits of a game being fully on the blockchain?
- Dispute resolution (smart contracts run on-chain are authority)
- Natural dynamic for turn-based games
- Imagine a craps table at a virtual casino — each action by any player (e.g. adding chips on ‘6’ or ‘8’, making a one-roll bet, etc.) should be a smart contract invocation. A game with 10,000 players taking actions once every 10 seconds, would require 1,000 tps
- In cases where many players affect the outcome, the blockchain can aggregate many user actions and update global state, like:
- Decentralized sports wagering app where every bet adjusts the line slightly
- Puzzle-hunt style ‘game’ where a player actions affect other players’ ability to do actions
- High throughput blockchains will enable both familiar and new styles of games
Real financial applications
Example: Pyth Oracle sends 340 tps to Solana, with only about 50 assets priced right now. What happens when there are 500 assets?!
Example: Serum DEX sends 150 tps to Solana, with 2 major market-makers and generously 50 liquid markets (notional volume over 100k USD/day). What happens when there are 10 market-makers and hundreds of markets?
- Unlocking new and innovative applications by offering a truly fast and cheap solution that could not be built on other blockchains
Currently 500k Eth DAUs; if this number 100x’s to 50M, it will both require a more scalable blockchain, and offer immense opportunity for an ecosystem that can support that usage.
Everyone understands the potential of blockchain in offering decentralized networks supporting composability and community ownership:
- Developers can build base-layer primitives and other developers can combine those primitives into more complex applications.
- Developers can build more useful applications and incentivize others to add value to their app’s network by tokenizing ownership in the protocol, and giving ownership to early adopters and composers
We seek to unlock innovation, and facilitate wider adoption of decentralized apps, by building a much more performant base layer.
About Monad
Monad is a new Proof-of-Stake (PoS) blockchain and decentralized computation platform that combines the best of performance and portability.
Monad offers throughput that is orders of magnitude higher than any existing smart contract blockchain, supporting 10,000 smart contract transactions per second (tps) through algorithmic improvements to virtual machine design and Byzantine Fault Tolerant (BFT) consensus mechanisms.
Monad delivers this performance while maintaining full compatibility with the Ethereum Virtual Machine (EVM) bytecode — the standard widely used for smart contract implementation — and consequently with existing Ethereum dApps and tooling.
We are addressing a challenging problem with urgent and clear market need. Demand for decentralized computation from new, increasingly complex apps as well as new crypto users is snowballing. But existing systems have extremely limited capacity.
For more information on how you can get involved, see our open opportunities at https://monad.xyz/open-opportunities.