7

There's a lot of chatter lately in the cryptosphere about Miner Extractable Value (MEV) in Ethereum. As I understand it, MEV is a property of the Ethereum blockchain where miners can (re)order/frontrun transactions when mining blocks to their own advantage. It seems very much like the phenomenon of hedge funds trying to get their servers as geographically close as possible to exchanges in traditional finance.

Does/will Cardano suffer from MEV? If so, why? If not, why not? Is there any talk of preventing the problems of MEV at a protocol level (assuming ADA does/will suffer from the problem)? At a higher level, to UTXO based protocols suffer from MEV?

4

The simple answer is yes, a Cardano pool operator could front-run a transaction in the mempool to their advantage. They would need to customize the haskell code to allow their node to order the transactions in the mempool as they wanted them.

That being said, there is some risk to the pool operator by doing this. There is a 5% chance that any block made by the pool operator ends up in a slot battle. If they lose that slot battle, their transaction that was supposed to front run would instead be executed AFTER by the other pool which ordered the transactions naturally. This would be exactly what the operator didn't want to have happen.

There's also some natural protection from this because... haskell is hard.

3
  • 4
    > "There's also some natural protection from this because... haskell is hard." Not sure if your answer is correct but this would just be security by obscurity which would be horrible in a global, decentralized financial system.
    – eddex
    Jul 14 at 7:30
  • Thanks for the great answer! A few followup questions: 1) I assume eventually there will be validators written in languages other than Haskell, right? 2) TIL about slot battles, any chance you have a doc I can read to learn more? 3) Do you know if there's a way at a protocol level to disincentivize MEV? Jul 14 at 15:13
  • If you're rigging your local node, you could probably prevent your transaction from being sent to other nodes so it would only be processed in the case you made the block? Jul 15 at 18:12

This site is temporarily in read only mode and not accepting new answers.

Not the answer you're looking for? Browse other questions tagged .