To kick things off, I’d like to offer a slightly different angle on things, which is implicit in the article, but I think warrants being stated explicitly. These aren’t super clear thoughts, apologies for the semi-ramble.
The value derived from the execution of user transactions: It is worth $10 to me that I am able to send a payment over Ethereum, and though I may pay a fraction of that, this value is realised once the payment goes through.
Although I agree with the idea that execution is and should be one of the main ways in which Ethereum creates value, I don’t think that execution should be viewed as a binary concept. In other words, I don’t think inclusion is really the only thing that matters to users. Already, we see users care about the price at which swaps or other more complicated financial operations are executed on top of whether they were executed at all . Ideally, the future of Ethereum holds a world of many complicated, weird and wonderful applications. Some of these applications (arguably most), may need to outsource computation or require aggregation of conflicting preferences. Incentivisation for this computation and expression of preferences is likely to lead to more MEV. If well designed, greater extraction of this MEV should imply higher user payoff. Let’s call this aligned MEV.
Taking the existence of aligned MEV as a given, it seems that there are (at least) two properties we would want block construction to satisfy:
Avoid “bad” MEV: Ultimately, “bad” is a subjective term, but there may be some things that we generally agree on as being good to avoid. Importantly, we want to impose constraints across the board, so that some validators don’t gain a wild advantage over others. Some candidates for MEV we want to avoid:
- Censorship: the value of pure censorship is implicit, since it satisfies the builders own preferences and no payment is transferred. There could also be value in risking an empty slot in pursuit of some super high return strategy.
- Extortion: a validator knows that inclusion within the next block is worth x to the originator of the transaction, they can refuse to include that transaction unless x-\epsilon is paid
- Mafia EV (h/t sxysun): by this I mean the block builder seeing a user transaction and executing it under conditions such that the builder profits at the expense of the user in a zero or negative-sum way. (e.g. sandwiching).
- Value that is not redistributed: currently realised MEV that flows to users validators is redistributed to users in the sense that it contributed to the Ethereum security budget. Some value is needed to incentivise the ecosystem of agents seeking to solve the optimisation problem (e.g. searchers, solvers and builders), but MEV captured above this should be considered non-redistributive and undesirable.
Give freedom to search for high social welfare state updates: not only should our attitude be that we want to give equal access to maximum MEV rewards to all validators because it’s good for decentralisation (the original “naivete” goal), we should also want to maximise extraction of aligned MEV because it represents higher social welfare for users. Some examples of AMEV:
- Avoid reverted transactions
- CoWswap-like batch solving
- reordering AMM trades for highest utility (sort of happens already)
- finding stable matchings for matching markets or any kind of search for preference matching
So we want to limit some kinds of MEV and maximally enable the extraction of other kinds. These goals seem somewhat in tension as it can be hard to move bathwater without the baby. Many proposals to avoid “bad MEV” (maybe we should call this unaligned MEV?) end up restricting the search too. E.g.
- Completely threshold encrypted mempools don’t allow for any intelligent block construction and introduce latency among other issues.
- Many proposals for consensus-based FIFO ordering don’t allow for any expression of preferences outside of impatience
- PBS introduces latency which increases time between transaction submission and knowing the outcome, and decreases utility for time-sensitive users (like cross-domain arbitrageurs). Having bids be floated through a gossip network will probably be much worse
So from a protocol perspective is how much bad can be eliminated without throwing out too much of the good? If aligned MEV favours the users, we can maybe expect users to vote with their feet by sending order flow to non-predatory block builders/building systems perhaps. The task obviously can’t be left up fully to market forces either.
For example, because of multi-block MEV, the current incentives might demand a market in which slots are auctioned way in advance, but auctioning slots way in advance makes slots homogeneous as there is little information to condition bids on. Now, instead of competing on a bunch of different strategies (some of which only pay off on occasion), builders basically compete only on their expected returns per slot, which may centralise the market and reduce competition, meaning that value is no longer redistributed via the security budget.
PEPC is interesting in this regard. We don’t know what the optimal PBS-like commitment market looks like. The optimal design might change through over years or blocks or even validator-to-validator and PEPC helps discover/adapt to the moving ecosystem. At the same time, there may be some local optimum where we can get stuck despite being globally far from optimum. What are the right constraints to avoid being stuck (e.g. SSLE), while still allowing freedom for discovery (which might be inevitable anyway).
As a last thought, I’ll mention an example of where I believe market forces could select a system that is well designed for AMEV. Decentralised building could end up being better for users due to more efficient extraction of AMEV by aggregation of many different strategies/local pieces of information while avoiding undesirable MEV because of constraints imposed by the decentralised builder “rules” (similar to consensus enforcing block validity conditions).
I hope the above added some stimulus even by being way off XD
Very good write-up inspiring a few half-baked thoughts.
Builder pre-confirmations could help with this. The idea Vitalik recently put forth:
- users receive enforceable commitment from builder to include tx if priority fee >= 5
- users receives state root if priority fee >= 8
- Agency for users ~ more ways to express preferences
- Significant UX Improvement ~ High TPS chains have no edge
- Enforceable builder commitments (abstractions)
- Compatible with distributed builder
- Centralized builders could win the market before a distributed builder is viable
- Reliant on out of protocol slashing
Is it worth considering how to leverage Mev-Boost? Proposals like Mev-Boost ++ could help test PEPC or other variants prior to IP-PBS.
Yes I can definitely see how pre-commitments address a lot of issues and “credible commitments” in general are an interesting approach. I’ve been wondering if pre-commits don’t just move the uncertainty elsewhere. For example, a validator could commit to including some transaction with a certain state root, but then another transaction paying 1000x what the first is paying arrives, but is only valid if the pre-confirmed txn is invalidated. If the commitment holds, then the val has obviously lost out.