<p>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.</p>
<p>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.</p>
<p>There's also some natural protection from this because... haskell is hard.</p>

CC BY-SA 4.0
2021-07-14T07:30:27.347Z
> "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
CC BY-SA 4.0
2021-07-14T15:13:59.437Z
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?
Paymahn Moghadasian
CC BY-SA 4.0
2021-07-15T18:12:54.253Z
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?
Danny Tuppeny - CODER
CC BY-SA 4.0
2021-07-13T22:52:02.880Z
2021-07-13T22:52:02.880Z
Andrew Westberg - BCSH
<p>There’s a pretty good write-up here:</p>
<p><a href="https://www.reddit.com/r/cardano/comments/n3jkp1/will_cardano_be_a_dark_forest/?utm_source=share&amp;utm_medium=ios_app&amp;utm_name=iossmf" rel="nofollow noreferrer">https://www.reddit.com/r/cardano/comments/n3jkp1/will_cardano_be_a_dark_forest/?utm_source=share&amp;utm_medium=ios_app&amp;utm_name=iossmf</a></p>

CC BY-SA 4.0
2021-10-15T10:50:29.490Z
2021-10-15T10:50:29.490Z
nciao
<p>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.</p>
<p>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?</p>

<transaction><utxo>
Does Cardano suffer from MEV?
# Does Cardano suffer from MEV?

(Asked by: username_0 on 2021-07-12)

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?

**Tags:** transaction, utxo

---

## 2 answers

### Answer by username_1 on 2021-07-13. Score: 6 | Accepted answer

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.

> **Comments:**
> **username_2**: > "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.  
> **username_0**: 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?  
> **username_3**: 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?  

---

### Answer by username_4 on 2021-10-15. Score: 3

There’s a pretty good write-up here:

<https://www.reddit.com/r/cardano/comments/n3jkp1/will_cardano_be_a_dark_forest/?utm_source=share&utm_medium=ios_app&utm_name=iossmf>


---

