Flashbots' focus is to enable a permissionless, transparent, and fair ecosystem for MEV extraction.
To date we've made progress on this by releasing two products: Flashbots Alpha and MEV-Explore.
Flashbots Alpha is composed of MEV-Geth and MEV Relay
MEV-Geth is a client that allows users to communicate granular transaction order preferences through transaction "bundles"
MEV-Relay is a gateway that Flashbots runs today, for reasons we'll discuss below
In early 2021 Flashbots launched with these design goals
While Flashbots Alpha has been and continues to be successful it offers incomplete trust guarantees. It is not permissionless or completely private.
It is not permissionless because miners need to be permissioned by MEV-Relay to receive bundles & the relay also prevents DOS attacks
It is not completely private because bundles can be seen by miners prior to inclusion on-chain
Both of these design goals are v hard to achieve
Flashbots introduced 0 gas price tx paying fees via smart contracts. These need to be simulated to tell what they pay miners
New DOS vector: a searcher can spam a miner with worthless 0 gas txs & force them to spend $ simulating
A trusted relay that filters txs stop this today
That's why permissionlessness is hard, what about privacy?
Well, miners want to produce valid & profitable blocks. They lose out on $ otherwise.
How can we give miners guarantees that the blocks they are mining are valid & profitable without them actually seeing the block?
There are a few different approaches summarized in the post. I encourage you to read the details about each! Also, this isn't exhaustive.
While these aren't being ruled out (we might build some of them!) we are presenting a proposal for the usage of secure enclaves.
How does it work? Searchers create blocks & validate them in an SGX. These are encrypted & sent to the miner w/ the block's header hash, which is all that is needed to do proof-of-work for a block
Only after finding a PoW solution can miners use their SGX to decrypt the block
To expand on the above, miners don't need entire blocks to perform proof-of-work. They only need the "truncated header hash" of a block, which doesn't leak info about txs.
Thus searchers only send miners this in a decrypted form so they can kick off PoW without seeing the block
Due to the tamperproof nature of SGX both the searcher and the miner know that their counterparty is running specific code in an environment that can't be tampered or peered into.
This is important and helps us achieve our goals.
The searcher knows they won't be frontrun because their transactions are hidden until a PoW solution is provided (complete privacy)
The miner knows blocks they receive from searchers have been checked in the SGX for validity/profit & don't need a relay (permissionlessness).
Lastly I want to note that while we focus on searchers MEV-SGX is a private mempool that by design *anyone* can run. This could provide frontrunning protection to regular users of Ethereum too.
Also: this is all possible without forking/changing Ethereum today!
There's some more details on MEV-SGX in the ETHResearch post so please read that.
The early stages of development. We intend to take this proposal, implement a proof-of-concept to learn more, test assumptions, and get some benchmarks.
We're also doing research into alternatives that achieve our design goals.
Want to contribute?
There are a bunch of open questions on the ETHResearch post. You can also learn more about Flashbots in our Git repo, where we have some jobs descriptions and would love to see community contributions.
In January Flashbots released Flashbots Alpha v0.1, a proof of concept communication channel between miners and users that enables transparent and efficient MEV extraction.
Since then we've seen rapid adoption, and now over 30% of blocks on Ethereum are Flashblocks.
Flashbots has two types of direct users today: searchers & miners
Searchers are users who send transactions via Flashbots - today these are mostly bot operators extracting MEV
Miners are the block producers of Ethereum today, who want to extract MEV in a fair & transparent way
Normally when you swap on Uniswap the transaction is publicly relayed through nodes until it reaches miners. Due to this anyone who wants to can see the transaction before it is mined.
Our investigation starts with this massive - but otherwise innocuous - Flashbots transaction that has 0 gas price and a payment of 80 ETH to a miner. Makes sense.
It looked at first like someone sniping a new token on Uniswap.