1 of 29

what are the open challenges in mev privacy?

[ phil daian | flashbots ]

cryptodon.lol/@phil

2 of 29

(codename) SUAVE

… the next step for Flashbots

Full spec coming (very) soon; discuss and build with us today.

  • an mev-aware, encrypted mempool for users and wallets
  • progressive decentralization
  • a turnkey decentralized block builder for rollups

The Single Unifying Auction for Value Expression

3 of 29

What is SUAVE?

- Fully decentralized block-builder

- Fully open source, open development

- ETH-Native / EVM-compatible

- Optimal user execution, harnessing MEV

- Full compatibility with Flashbots today

- Cross/multi-chain support

- Maximizes competition and geographic diversity

- Enabling open orderflow for Ethereum's future

- Programmable privacy

Full spec coming (very) soon; discuss and build with us today.

4 of 29

  1. What is the privacy / efficiency frontier?�Problem setting: User can select rich decryption predicates at MEV-search-time. When to reveal info?�
  2. What is geographic diversity and how to achieve it? Relationship to inclusion/CR? How to L1 (how to PBS)?�
  3. How to escape SGX? MPC and geographic diversity? FHE?�
  4. What are limits of MEV minimization? (stay tuned!)�
  5. SUAVE MEV?? (meta-MEV, MEV x social welfare)

… some trillion $ questions

5 of 29

  • What is the privacy / efficiency frontier?�Problem setting: User can select rich decryption predicates at MEV-search-time. When to reveal info?�
  • What is geographic diversity and how to achieve it? Relationship to inclusion/CR? How to L1 (how to PBS)?�
  • How to escape SGX? MPC and geographic diversity? FHE?�
  • What are limits of MEV minimization? (stay tuned!)�
  • SUAVE MEV?? (meta-MEV, MEV x social welfare)

… some trillion $ questions

6 of 29

We will be talking about privacy in service of two goals.

  1. DECENTRALIZE FLASHBOTS AS IT IS TODAY

  • ALLOW THE USER TO INTERNALIZE THE VALUE OF THEIR MEV�(“democratize”)

Privacy goals!

7 of 29

Privacy goals!

8 of 29

informal proposal - proof of private tx (PoTX)

9 of 29

informal proposal - proof of private tx (PoTX)

PoPTX(hash, public_txs, private_txs)

10 of 29

informal proposal - proof of private tx (PoTX)

11 of 29

informal proposal - proof of private tx network (PoTX)

12 of 29

informal proposal - proof of private tx network (PoTX)

13 of 29

We will be talking about privacy in service of two goals.

  • DECENTRALIZE FLASHBOTS AS IT IS TODAY

  • ALLOW THE USER TO INTERNALIZE THE VALUE OF THEIR MEV�(“democratize”)

14 of 29

… definitions

SUAVE is a stateful system.�

SUAVE states are denoted by s1 -> s2 -> s3 ... , where s is the current SUAVE state and S is the set of all historical/past SUAVE states.

A SUAVE bid (preference) maps future states of the world to their utility to the bidder.

A bid is a program (smart contract on SUAVE), such that exec(bid, s) outputs b,e where b is a natural number that is paid to address e (the executor who executed the SUAVE transaction).

15 of 29

… definitions

exec(bid, s) outputs b,e where b is a natural number that is paid to address e

SUAVE contains special oracle contracts that are responsible for importing external events into s. One simple example is an ETHOracle contract, which allows SUAVE bids to query ETH history.

�This oracle may have data as follows (assume in some arbitrary s):

Block 1, hash 0xf, log hash 0xa, transactions [0x1, 0x2, 0x3]

Block 2, hash 0xe, log hash 0xb, transactions [0x3, 0x4, 0x5]

Block 3, hash 0xd, transactions []

16 of 29

Example Bids! exec(bid, s) outputs b,e where b is a natural number that is paid to address e

If in block 2, transaction 0xcafe comes at position 0, pay 3ETH (b) to the sender of the tx (e) at position 1

Or

If in block 3, transaction 0xcafe comes before transaction 0xdeadbeef comes before transaction 0x00 (effective sandwich), pay 3ETH (b) to the sender of the tx following the sandwich (e)

Or

If block 3 is empty, pay the miner (e) 3ETH (b)

Or

If [x] is in the execution logs (w Merkle proof), pay the originator of the transaction corresponding to [x] (e) 3ETH (b)

17 of 29

We will be talking about privacy in service of two goals.

  • DECENTRALIZE FLASHBOTS AS IT IS TODAY

  • ALLOW THE USER TO INTERNALIZE THE VALUE OF THEIR MEV�(“democratize”)

18 of 29

Addressing our first goal: MEV-GETH in SUAVE

TODAY:

Searchers <-> Relay <-> Sequencers

Searchers submit bids to the relay which represent bids to sequencers, which may or may not be valid/lucrative. The relay is trusted to ensure relayers are paid (spam control).

SUAVE:

Searchers <-> SUAVE <-> [ Executor <-> L1 ]

19 of 29

MEV-GETH in SUAVE

Searcher -- I would like [tx1,tx2,tx3] mined

Relay -- Estimate profit to miner for [tx1,tx2,tx3], prune to only send most promising bundles to miner

Sequencer -- Receive relay bundles, re-execute to confirm payment.

----------->

Searcher -- I would like [tx1,tx2,tx3] mined, and if they are, I would like to pay 3ETH (b, unconditional)

SUAVE -- Propagate and aggregate searcher input, ensure payments are valid

Executor -- Ensure validators perform economically optimal action

Case 1: Validator is SUAVE-native

Validator can profit switch b against best known mempool block

Case 2: Validator is SUAVE-unaware

Executor gets miner to mine optimal TX order

  • PGA
  • MEV-geth-style trusted or native payments

We develop native plugins for Case 1 while allowing anyone to develop Case 2.

20 of 29

informal proposal - proof of private tx network (PoTX)

21 of 29

where is mev going?

user

validator

  • more private
  • more decentralized
  • more competitive
  • more transparent
  • more user tooling

minimize

maximize

  • more robust
  • more efficient
  • more geographically diverse
  • fewer network externalities
  • (still) fewer first-party deals

22 of 29

We will be talking about privacy in service of two goals.

  • DECENTRALIZE FLASHBOTS AS IT IS TODAY

  • ALLOW THE USER TO INTERNALIZE THE VALUE OF THEIR MEV�(“democratize”)

r

23 of 29

Users must start leveraging their MEV negotiating power.

Two routes –

permissioned execution / futures / “information

auction”��VS.

programmable privacy

24 of 29

Users must start leveraging their MEV negotiating power.

Two routes –

permissioned execution / futures / “information

auction”��VS.

programmable privacy

r

25 of 29

26 of 29

Users decide when their transaction is valid, when it can be decrypted.

Users can partially decrypt transactions to aid in execution; otherwise, arbs are “blind”

User is mined if arb value of their transaction > marginal cost.

Combine with fee escalator�== always optimal execution�(from minimizing MEV perspective)�(best possible user social outcome*)�

mev

subsidy

time

tx mined

27 of 29

BUT, how much to leak (help MEV optimization)�vs. keep private?��Most extreme: searcher learns 0 until block is signed�Can only reorder/merge encrypted blobs (w own arb txs)

Least extreme / 0 privacy: send to mempool

Middle grounds (eg take a Uniswap tx):

  1. Reveal that TX is uniswap?
  2. Reveal pools being traded?
  3. Reveal trade direction?��… etc

28 of 29

mempool

full privacy - inefficient MEV

Help us choose the best point! (and let’s get to privacy already)

29 of 29

let’s reach

the

mountaintop

together <3

this is

a call

to action!

collective.flashbots.net

Users

Wallets

Rollups

Researchers