Ethereum's new Dark Forest

The public mempool could be going away for good. What does that mean for the Dark Forest, Ethereum's transaction mempool as we know it today?

Dark forest image
SourcPhoto by Rosie Sun on Unsplash

The public mempool could be going away for good. What does that mean for the Dark Forest, Ethereum's transaction mempool as we know it today?

After a transaction is broadcasted by a user, but before a transaction is confirmed on chain, it is vulnerable to manipulation by a mining pool as it prepares a block. Prices can be moved to just within a transaction's slippage tolerances, loan repayments can be censored, generalised front runners can attempt to mimic what you are trying to do to their gain, it's a pretty kill or be killed space; the mempool.

However, as Ethereum moves to Proof of Stake, the way blocks are added to the chain is moving from a probabilistic open manner, to a definitive ordered manner. This will have significant impacts on getting transactions included on chain, and the maximal extractable value (MEV) that can be obtained from the rights to produce blocks.

Entering a darker depth of the forest

The rights to propose a block in Proof of Stake are distributed at the start of each epoch. So once every 6 and a half minutes, thirty-two validators are selected to produce blocks, giving these entities a short lived monopoly over interacting with Ethereum. Whether and to what extent these lucky block producers will collude with one another to their own advantage is still unknown. Considering a small number of companies run a majority of the network's validators, the likelihood is that many slots in any given epoch will belong to just a handful of staking providers. Can large staking providers be depended upon to to provide open, unbiased access to transaction inclusion? The quantity of neutral, solely price-motivated block producers per epoch is yet to be known.

Assuming only a subset of validators run unrestricted MEV-enabled execution engines (or something like flashbots relay) to maximise their validator's potential returns, that means there will be a limited but known amount of block space available each epoch for MEV searchers to get included in. Picture it like this; at the start of the epoch, all block producing validators are selected, and those running MEV-Geth or equivalent will begin their slot auctions.

Graph outlining gas available per epoch
Not all of the block space in Eth2 is fair game.

As you can see, at any given point in an epoch, only a subset of validators (orange line) will be accepting bribes for bundle inclusion, and they might not be evenly distributed across the epoch.

How will this brand new supply and demand dynamic for inclusion affect MEV searchers and the price of inclusion? Before, you couldn't guarantee that the node you are passing your bundle to will manage to produce a block next, so you had to broadcast your transaction widely. Now, you could directly participate in a specific validator's slot auction. Will the auction be an optimism-like full block sequencer? Or an MEV-Geth-like partial block bundle includer? Will different auction types take place for early epoch slots when options for inclusion are plentiful vs late epoch slots where the chance for inclusion is scarce?

My belief is that fewer and fewer transactions will be submitted to the public mempool to be at the mercy of the MEV searchers lurking in the dark forest, and more and more will make direct to validator agreements for transaction inclusion, bypassing the mempool entirely with private relays. Is this a safer option in the long run? Or are we heading down a road where we can no longer peer into the dark forest with our illuminating tools?

The stakes are raised with Proof of Stake

As I mentioned in the opening of this post, the importance of the fact that a single validator has complete control over a given slot cannot be understated. The predictability of blocks and slots will turn MEV up to 11. Let me explain with an all too likely, but for now hypothetical scenario;

By the time of the merge, stakers will have been validating the beacon chain with single-instance validators for more than a year. Many of these validators have used the same seed phrase for both withdrawal key and validating keys. Let's say a single operator is running 100 validators this way when they notice something has gone terribly wrong.

All of their validators have entered the exit queue.

"Wait what? I haven't exited any of these?!" They panic. They don't want to accept what this means. Some way, their seed phrase has been compromised, and an attacker is trying to steal their funds.

Both the operator and the attacker have a copy of the seed phrase, and now they both have ~27 hours before these validators finish exiting, and their funds are deposited into their withdrawal address, claimable by anyone with the key, which they both have.

Given an empty exit queue, a validator is withdraw-able 8,192 slots after it has begun exiting, at a rate of ~4 validators per slot. That means there will be about 25 slots in a row where ~130 ether is up for grabs for whichever of these two people can sweep it out of the withdrawal address fast enough. How high do you think the slot auctions could go with that much money on the table? Can good steward validators spring into action to save their compromised fellow on short notice if their validator is chosen for one of those slots? Only time will tell.

Burning down the forest

Censorship in Proof of Stake is a critical concern. With the introduction of identifiable block producers comes the ability to legally mandate what types of transactions those validators can process. Sooner or later I suspect we will have governments attempting to control block production with either whitelists or blacklists or both. The more we allow stake centralisation to occur, the more likely a cartel will form where out-of-protocol forces will prevent users from getting their transactions onto Ethereum.

Ethereum's credible neutrality is its strength, if we let access to Ethereum become too gated and tiered, we risk losing everything we have been working for.

Collusion and defection in the dark forest

The frontier of MEV in an Proof of Stake world is cross-slot MEV. If you can guarantee that your transactions can be included in multiple contiguous blocks on the chain, the universe of ways you can screw with the systems running on Ethereum increases dramatically. Breaking short TWAPs, arbitraging oracle updates, getting around the 'flash loan protections' that have been put in place under the assumption that no single entity will control consecutive blocks reliably. We now know that assumption is flawed, and centralised entities will trivially be able to extract cross-slot MEV, so if we want to make this a fair fight, figuring out credibly neutral cross-slot MEV extraction is a high priority.

What I think we need is a fault tolerant, credibly neutral bonding mechanism that can incentivise independent validators to collude together for profit beyond what defection could result in for either party. A positive sum, stable solution to the prisoner's dilemma. If you're working on something like this, reach out to us at the Obol Network as we would love to help.

But for now, while it lasts, see you in the mempool anon. Thanks for reading.

Sign up to get notified of our next blog pieces! 👇