April 8, 2021

1536 words 8 mins read

flashbots/pm

flashbots/pm

Everything there is to know about Flashbots

repo name flashbots/pm
repo link https://github.com/flashbots/pm
homepage
language
size (curr.) 1324 kB
stars (curr.) 300
created 2020-11-18
license

Flashbots

Flashbots is a research and development organization working on mitigating the negative externalities of current MEV extraction techniques and avoiding the existential risks MEV could cause to state-rich blockchains like Ethereum. Our primary focus is to enable a permissionless, transparent, and fair ecosystem for MEV extraction. It falls under three goals: Democratizing Access to MEV Revenue, Bringing Transparency to MEV Activity and Redistributing MEV Revenue.

We’ve released two projects so far:

  • Flashbots Alpha: a proof of concept communication channel between miners and searchers for transparent and efficient MEV extraction.
  • MEV-Explore: a public dashboard and live transactions explorer of MEV activity.

You can interact with Flashbots on Discord and Github. We have dedicated channels on Discord for each of our efforts and welcome contributions. Our work is open source and you can follow our progress in each repository of the Flashbots organization. In addition, we hold several recurring community calls: a monthly MEV Roast, a bi-weekly research workshop and a monthly transparency call to update the community on our progress.

The current repository you’re in provides an overview of our activities, and contains our open job searches and the onboarding documents to start using the Alpha we’ve released, either as a miner or as a searcher.

Learn more about our values and our mission: Flashbots - Frontrunning the MEV Crisis Join us on Discord: #Flashbots Subscribe to our public calendar here

Index:


Flashbots Alpha

On Jan 6th 2021, we entered the Flashbots Alpha phase by establishing a proof-of-concept communication channel between traders (searchers) and miners. This proof-of-concept is made of two components: MEV-Geth, a slightly modified fork of the Ethereum Geth client, and MEV-Relay, a transaction bundle relayer.

How it works:

  • Searchers send Flashbots “bundles” to MEV-Relay. A bundle contains:
    • one or several transactions that can be the searcher’s and/or other users' pending transactions from the mempool
    • a sealed tip that is paid by the searcher to the miner via a smart contract call to block.coinbase.transfer()
  • Moreover, bundles have these properties:
    • There can only be a single bundle per block (we are working on bundle merging to enable multiple)
    • Flashbots bundles will always be at the top slot of the block
  • MEV-Relay receives bundles and sends them to all whitelisted MEV-Geth miners
  • Miners receive Flashbots bundles from MEV-Relay and process them in MEV-Geth
  • MEV-Geth picks the most profitable bundle out of all bundles it is sent.
  • MEV-Geth then compares the block that includes this bundle with a vanilla block that does not include any bundles. If it is more profitable to include a bundle MEV-Geth will do so, but otherwise it will default back to a vanilla Geth block.
  • Only when the a searcher’s bundle is included in a block is the tip associated with their bundle paid.
    • If a bundle is not included it does not cost the searcher anything (i.e. no gas fees are paid for failed transactions)

This infrastructure allows:

  • searchers to bypass the Ethereum mempool and avoid their strategy leaking before it is mined on-chain (i.e. being frontrun by generalized frontrunners)
  • searchers to save money from avoiding to pay gas fees for failed transactions.
  • miners to receive additional revenue in the form of the bundle tip, in exchange for including the most profitable bundle in the block they mined.

Interested in learning more? Onboard Flashbots alpha as a searcher Onboard Flashbots alpha as a miner Jan 2021 Transparency Report Feb 2021 Transparency Report

We are quickly iterating in public towards a permissionless infrastructure with full transaction privacy. We welcome all ecosystem participants to provide early technical feedback via Github issues and pull requests in the relevant repos, create open-source toolings to improve transparency within Flashbots ecosystem, and participate in ongoing discussions on Flashbots' Discord!

MEV-Explore

On Jan 22 2021, we released MEV-Explore v0 a public dashboard and live transaction explorer for MEV transactions.

How much MEV has been extracted on Ethereum? How much MEV do DeFi traders and bot operators capture? How much gas was spent on MEV transactions that went to the miners who mined the proof of work solutions with the MEV transactions? What are the most common types of MEV extraction strategies? Which DeFi protocols contain the most MEV? How much network resources do successful and failed MEV transactions take up?

With these questions in mind, we scraped Ethereum, covering over 8 major DeFi protocols and their clones, and collected more than 1.3 million MEV transactions that landed on-chain since Jan 1 2020 to provide a preliminary lower-bound to Extracted MEV. With the release of MEV-Explore, we’re taking our first step at bringing transparency to MEV by quantifying the MEV that has been extracted on-chain.

Quantifying MEV: Introducing MEV-Explore v0 (blogpost)

Our organization

Flashbots research and development are tightly-coupled dual engines that propel the organization in a phased approach:

  • Long-term oriented research efforts spec out and update our roadmap, define our organization’s phases and identify key milestones associated with each of them;
  • Milestone-oriented engineering efforts ship core infrastructure and ecosystem tools, while collecting data and producing other artifacts that feed back into research.

FlashbotsOrg

Interested in contributing?

We are not your typical project, we are fully remote and our principles are based on that of a pirate hacker collective. If you are a self-directed individual who puts collective success above your own and are motivated by solving hard problems with asymmetric impact, you will fit right in.

  • open job positions - full-time roles we’re actively recruiting for.
  • flashbots research fellowship - we issue research grants to flashbots research proposals submitters. Find out more in our research repo.
  • flashbots part-time contractor - become a part-time contractor in Flashbots and join one of our ongoing projects. Reach out to the team to learn more!
  • nothing fits in the above? reach out at info@flashbots.net

Resources

New to MEV? Here’s where to get started

You can check out a full list of MEV resources in our Research Vault

MEV Roast Recordings!

MEV Roast is a monthly discussion that stems from the research collective MEV Pi-rate Ship tradition. It’s meant to service as a communication bridge between Flashbots and the broader community interested in understanding MEV and contribute to our research and engineering efforts. The format of our Roast is meant to invite constructive criticism on the Flashbots efforts and to address open questions.

No. Date Roast Master Topic Agenda Notes Recording
8 Nov 25 Dan Robinson Intro to MEV & Flashbots agenda slides video
9 Dec 16 Dan Elitzer MEV Mitigation on Network vs. Contract Level? agenda slides video
10 Jan 13 Tom Schmidt / Palkeo Whitehat Rescue of NFTs using Flashbots agenda slides video
11 Jan 28 Sunny Aggarwal Privacy Solutions for MEV Minimization agenda slides video
12 Feb 25 Hudson Jameson MEV State Space Search: MEV from A to Z agenda slides video
13 Mar 25 Vitalik Buterin The Blockspace Bazaar: Past, Present & Future agenda slides video

Flashbots Community Calls

Flashbots Community Calls is a monthly progress update from the Flashbots crew to provide transparency but also address community questions.

No. Date Topic Agenda Slides Recording Transparency Report
1 Mar 4 Update & MEV-searcher Workshop agenda slides recording Februrary Transparency Report
2 Apr 15 Update & Flashbots Dashboard Preview agenda slides recording March Transparency Report

Other Flashbots resources

/pm The repo you’re currently in, contains an introduction to our organization, our job postings and the list of all the projects we’re working on, updated frequently by the project’s owners.

/mev-geth A fork of the Geth client dubbed MEV-Geth modified to accept Flashbots transaction bundles and to compare Flashbots blocks to regular blocks.

/mev-geth-demo Launches an MEV GETH node, and shows how a miner may profit from it by accepting MEV bundles

/mev-proxy An example of a reverse proxy that a miner can run.

/mev-relay-js The code for the entrypoint searchers send their Flashbots bundles to and miners connect to in order to receive bundles. Includes an example of a reverse proxy that a miner can run.

/ethers-provider-flashbots-bundle Flashbots provider for ethers.js

/web3-flashbots Flashbots provider for web3.py

/simple-arbitrage An example arbitrage bot that uses Flashbots.

/mev-inspect-rs The Rust codebase of the inspectors we run to scrape Ethereum data we use in MEV-Explore.

/mev-explore-public All things MEV-Explore: report bugs, request features by opening an issue and start a discussion in the discussion tab.

/mev-research All our research activity. Learn about our research organization, the MEV research fellowship, submit a Flashbots research proposal as a PR, open an issue to start a discussion.

comments powered by Disqus