New to blockchain software development? Read my beginners guide here

What are flash bots?

Created on August 2022 • Tags: ethereumguides

A basic introduction guide to flash bots, and how they work to make profit

Table of Contents for What are flash bots?

In regular (fiat based) finance, front running is where someone (‘attacker’) sees a trade order (‘victim’) before it is executed. With this information, if they can react fast enough they can use this information to make money (such as buying stock, and offering it for sale to the victim.

In crypto, front running is similar (with different legalities - this article is only outlining the technical merits). As each block contains many transactions, there exists a chance for some actors (miners) to rearrange these transactions so to be advantageous for them. The order in which transactions are executed can affect the market price, and if someone is careful & clever they can make sure to profit from it

Frontrunning in crypto is also known as Priority Gas Auctions. There is also a concept known as backrunning, where a transaction (transaction B) is broadcast with a slightly lower gas than another transaction (transaction A), so that transaction B is mined straight after transaction A.

In Ethereum, you end up with multiple transactions waiting in the mempool. They stay there until miners select them and add them to a block. The normal order which they are picked up is based on the gas price - those with more gas will get picked first.

This means anyone can watch the mempool, and if they see a chance to make profit from another transaction waiting there (such as if there exists a chance for arbitrage), they can add their own transaction (with a higher gas fee) to be sure their transaction gets executed first.

Miners can have an unfair advantage - which is known as MEV. They can (and have!) made millions of dollars front running.

MEV = miner extracted value. Although nowadays it isn’t really just miners who can profit from MEV.

For an in depth look, read this guide about flash bots.

All of the possibilities to profit from frontrunning (and backrunning) can mean there are a lot more smart contract function calls (opens up more MEV available).

So how do flashbots help?

Flashbots is a service to help against front running and MEV.

It is a permissionless research and development project (which is quite mature and has heavy use every day), to try and make MEV extraction fair and open to all.

MEV Inspect PY (“Illuminate the dark forest”)

MEV (and to understand how to profit from it) without flashbots can mean you have to have a deep understanding of smart contracts, EVM and do substantial research to make sure you actually profit from it.

One of the parts to flashbots is mev-inspect-py - which is an tool for MEV on the ethereum blockchain.

Using this tool you can see what people are doing on chain, on what protocols.

It supports various protocols, including Uniswap v2/v3, Curve, Balancer, Aave, Compoound, 0x.

It will look at data from the blockchain, process it and figure out things such as what was swapped, where there were arbitrages.

It is really useful if you want to research what arbitrage went on during a block (and how it happened). You set it up on the command line, which will populate a db (with tables such as arbitrages, swaps, miner_payments etc) which you can query to see what happened.

Their current version is written in Python (older versions were in typescript and rust)

Find it on Github).

MEV-Geth (“democratize extraction”)

MEV Geth is a forked version of the ethereum client, which uses flashbot bundles before broadcasting them

For Ethereum PoS (proof of stake) see MEV Boost.

MEV Boost

MEV-Boost is an implementation of proposer-builder separation (PBS) built by Flashbots for proof of stake Ethereum. Validators running MEV-Boost maximize their staking reward by selling blockspace to an open market of builders. It is estimated that validators running MEV-Boost can increase their staking rewards by over 60%.

MEV-Boost is free, open-source, neutral software built with love, for the community. For information on MEV-Boost software and roadmap, see the MEV-Boost Repository.

How flash bots actually work (basic model of how searches, relayers and miners work together)

With flashbots we have searchers, relayers, and miners.

Searchers use the flashbots service. They take in info from ethereum blockchain (mempool, existing data on the blockchain, and other data sources). The searchers create a list of the transactions they want to include (this is ordered to their advantage). They generate a flashbot bundle.

These bundles get sent to the relayers. These relayers forward the flashbot bundles to miners.

Flashbot miners are regular miners - except they run slightly different software to add these flashbot bundles (of transactions) instead of only using the mempool.

Miners make money (eth) from searchers. These payments are done in smart contracts. This means there can be guarantees that searchers only pay if their transactions are included.

This post is incomplete and a work-in-progress
I'll update it soon and flesh it out with more info!

Spotted a typo or have a suggestion to make this crypto dev article better? Please let me know!

See all posts (70+ more)

See all posts (70+ more)

Was this post helpful? 📧

If you liked this content and want to receive emails about future posts like this, enter your email. I'll never spam you.

Or follow me on @CryptoGuide_Dev on twitter

By using this site, you agree that you have read and understand its Privacy Policy and Terms of Use.
Use any information on this site at your own risk, I take no responsibility for the accuracy of safety of the information on this site.