1 of 17

MEV mitigation using modular DAG-based mempools

Kamil Begny

Samuel Laferriere

2 of 17

Exploring MEV in the modular blockchain stack - John Adler (Celestia)

3 of 17

Modularity all the way down

4 of 17

Two approaches to MEV

1. MEV is inevitable; let’s democratize it!

2. MEV is evil and avoidable; let’s do something!

(time-based ordering)

5 of 17

Problem with Threshold decryption & Ordering fairness

REQUIRES

STRONGER ASSUMPTIONS

SLOW

21x slower

6 of 17

New solution using DAG-based mempools

Threshold Decryption

shares

7 of 17

Narwhal: DAG-based mempool

Decouple mempool from consensus

—---------------------------------> network speed throughput

8 of 17

More than just research

9 of 17

3. Consensus

(tx ordering)

No communication!

1. Data dissemination

transactions

2. Dag construction

Batch hashes

+ votes

10 of 17

Narwhal-TD: Threshold Decryption in the workers

Narwhal-TD

Narwhal

8x “slower”

11 of 17

See our repo for more info

Architecture

12 of 17

Next steps: Adding Time-Based Order-Fairness

13 of 17

Real Goal: integrating it into an actual blockchain

14 of 17

Mir-Themis: batch-order fairness with high “goodput”

Sending Tx to all validators

Providing high throughput

Not dividing bandwidth �by O(n)

?

15 of 17

Necessary Narwhal Modifications

  • DAG transport must reference 3F+1 preceding messages (rather than 2F+1).
  • Transactions are hashed and workers are assigned a hash space :
    • If tx(hash) = Worker(hashspace), transaction data is batched.
    • If tx(hash) =/= Worker(hashspace), transaction is kept in-memory only hash is batched.
  • Ordering : Graph of tx dependencies is computed by primaries at commit time using batch unspooling technique – each vertices ordering completes the graph in a deterministic way.
  • Hashed transactions are then retrieved in-memory or requested to any other worker.

16 of 17

Conclusion

17 of 17

Future ideas

  • Dag mempool property: decentralized block building (everyone is a block proposer, every round)
    • Bullshark needs neither a view-change nor a view-synchronization mechanism!
    • Analogy with PBS to explore
  • PBS on workers/primaries