Flashbots is a private mempool protocol which aims to improve MEV extraction and reduce negative externalities.
Notes
Builder
The current flashbots design relies for transaction privacy on the builder.
Builders receive raw transaction bundles and have full access to all the information in them. As a result, they can potentially pick and choose individual transactions, censor (to a limited extent), front-run, sandwich, etc.
See also the flashbots documentation
Private mempools as protection against hacks
Some developers might be inclined to submit sensitive transactions through flashbots in an attempt to protect against frontrunning or backrunning attacks.
Such an approach has some merit. After all, it is more difficult to sandwich vulnerable transactions in a private mempool.
This approach should not be relied upon however.
- Flashbots is not a trustless protocol. Builders can potentially use their privileged position to exploit the protocol.
- Flashbots is vulnerable to blind mempool injection attacks.
Furthermore, validators have increased ability to perform attacks due to a side channel Flashbots Block Reward Sidechannel