Skip to content

Commit 20b6693

Browse files
committed
add MEV Avoidance Strategies
1 parent b211b2c commit 20b6693

1 file changed

Lines changed: 18 additions & 0 deletions

File tree

website/docs/guides/adversarial.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,9 +108,27 @@ Ethereum with its large amount of MEV has already seen the emergence of speciali
108108

109109
## MEV Avoidance Strategies
110110

111+
There's a few strategies which dapps can employ to avoid introducing unwanted MEV:
112+
111113
### Batching Same-Block Trades
112114

115+
For DEXes the solution to the 'stale-state arbitrage' problem is introducing a batching mechanism for same-block trades so they all execute at the same price. The drawback is that this mechanism requires extra contract complexity and careful design. The benefit of including such a MEV avoidance mechanism is that even at scale with many adversarial actors, economic extraction with double spends is not possible.
116+
117+
:::tip
118+
This strategy of batching same-block trades (or "joint-execution") is the key concept demonstrated by the [Jedex contract prototype](https://github.com/bitjson/jedex#demonstrated-concepts).
119+
:::
120+
113121
### Centralized Co-signing
114122

123+
For contract systems relying on a continuously update on-chain oracle price feed, the problem of 'stale-state arbitrage' reappears.
124+
However in this context the only known solution to adversarial actors exploiting stale state with a late double spend is to require centralized co-signing in the contract system.
125+
126+
The drawback of this approach is that it introduces a central party to enforce honest, sequential actions to prevent late double spends. The approach introduces the need for interactivity and assumes that the central signing service does not collude or cannot be bribed, additionally it also introduces new possible security concerns.
127+
115128
### Avoid Bounty Transactions
116129

130+
Having anyone-can-claim bounty transactions in a smart contract system directly encourages the development of double spending technology, whether it is race-condition double spends, miner bribe double spends or miner-involved double spends.
131+
132+
:::tip
133+
To not incentivize the development of double-spending technologies, it is best to avoid anyone-can-claim bounty transactions in your smart contract system.
134+
:::

0 commit comments

Comments
 (0)