The Ethereum Merge was about more than moving the network to Proof-of-Stake. The upgrade also introduced the concept of Proposer/Builder Separation (PBS) to the network via an open-source protocol “sidecar” called MEV-Boost.
While in-protocol PBS will eventually replace MEV-Boost, for the time being after The Merge it will fulfill the important role of connecting validators to Ethereum block builders. These builders specialize in the sophisticated task of sourcing, analyzing, and structuring Ethereum transactions for permanent inclusion on-chain. Validators can then use MEV-Boost to select these blocks and propose them to the network for attestation and block inclusion. In return, they receive a higher ROI thanks to MEV rewards.
The MEV research and development organization Flashbots spearheaded the design of MEV-Boost and continues to maintain it as an open-source project. The project’s GitHub page describes it as such:
“MEV-Boost is a sidecar for the Consensus Client, a separate piece of open source software, which queries and outsources block-building to a network of builders. Block builders prepare full blocks, optimizing for MEV extraction and fair distribution of rewards. They then submit their blocks to relays.”
As outlined in the graphic below, MEV-Boost connects to relays that aggregate blocks from dedicated block builders and select blocks based on the fees that are contained within. Relays then deliver these blocks as quickly as possible to validators. Blocknative offers an MEV relay powered by our open source software known as Dreamboat.
Image from MEV-Boost GitHub
Validators that wish to capture the enhanced block rewards made available via MEV will want to use MEV-Boost. If a validator chooses not to use the sidecar, they will instead receive non-optimized blocks directly from their execution client.
The Value of MEV Rewards
Based on median historic reward data, block rewards without MEV rewards total roughly .024 ETH. On the other hand, blocks with MEV rewards total roughly .064 ETH. Since a single validator proposes roughly 5 blocks per year, this can significantly improve the ROI for an individual validator.
PBS, MEV-Boost, and the new role of block builders represent uncharted territory for the Ethereum network. The general hope of the community is that these upgrades will allow for MEV capture on Proof-of-Stake to happen in a more decentralized, transparent, and equitable manner.
To begin using MEV-Boost, we recommend the instructions below from our MEV-Boost relay docs page:
Installing
MEV-Boost can run in any machine, as long as it is reachable by the beacon client. The default port is 18550. The most common setup is to install it in the same machine as the beacon client.
Dependencies
From source
Install MEV-Boost with go install:
go install github.com/flashbots/mev-boost@latest
mev-boost -help
Or clone the repository and build it:
git clone https://github.com/flashbots/mev-boost.git
cd mev-boost
make build
./mev-boost -help
From Docker image
An MEV-Boost Docker image is maintained at https://hub.docker.com/r/flashbots/mev-boost
- Install Docker Engine
- Pull & run the latest image:
# Get the default mev-boost image
docker pull flashbots/mev-boost:latest
# Get the portable mev-boost image
docker pull flashbots/mev-boost:latest-portable
# Run it
docker run flashbots/mev-boost -help
Troubleshooting
If MEV-Boost crashes with SIGILL: illegal instruction" then you need to use a portable build:
You can either use a portable Docker image, or install/build the portable build like this:
# using `go install`
CGO_CFLAGS="-O -D__BLST_PORTABLE__" go install github.com/flashbots/mev-boost@latest
# build from source
make build-portable
If you believe that you have properly set up MEV-Boost, but you are not receiving MEV-Boost rewards or are receiving an error or warning message, the most common cause is typos within the URLs being utilized for relay endpoints. Double-check that the endpoint URLs you are using exactly match what is listed within the documentation of each respective relay you are using.
Sometimes validators that have completed a successful proposal have questions regarding whether or not their proposed block came from MEV-Boost. One simple way to see this is using the beaconcha.in block explorer. Blocks that were not relayed via MEV-Boost will have no information regarding an MEV relay, and they will list a simple “Tx Reward” field:
On the other hand, blocks relayed via MEV-Boost will feature a label identifying the MEV relay under the Slot number heading and an MEV Block Reward field:
If you are certain that you have properly configured MEV-Boost but have proposed a block that was not sourced via a relay, validators can also check to ensure that the -min-bid
flag is not enabled. This flag allows validators to set a threshold at which they will utilize an MEV-Boost block. If the available blocks at the time of their proposal do not meet this threshold, they will fall back on locally producing a block via their execution client instead.
Checking Relay Status When Starting MEV-Boost
The -relay-check
flag can be called to check the status of relays. It will return an error if none of the configured relays are responsive:
# Example -relay-check call:
./mev-boost -goerli -relays -relay-check https://0x8f7b17a74569b7a57e9bdafd2e159380759f5dc3ccbd4bf600414147e8c4e1dc6ebada83c0139ac15850eb6c975e82d0@builder-relay-goerli.blocknative.com
For continued help troubleshooting, we recommend reaching out to the Blocknative team in our Discord.
Usage
A single MEV-Boost instance can be used by multiple beacon nodes. Note that aside from running MEV-Boost, you will need to configure your beacon node to connect to MEV-Boost and your validator to allow it to register with the relay. This configuration varies and a guide for each consensus client can be found on the MEV-Boost website.
Relay types
Blocknative provides one MEV relay that validators can connect to. The relay is:
- publicly available
- publicly listed & maintained
- open source
- transparent about address filtering
Relay Endpoints
Blocknative’s relay is currently in alpha but has been heavily stress-tested. It supports all Proposer and Builder APIs outlined in the Relay spec seen here. Currently, our relay has only one trusted builder, but we plan to expand to multiple external builders in the near future.
Validators with MEV-Boost can connect to the Blocknative MEV relay in order to receive full blocks proposed by Blocknative. Validators can use the endpoints below:
Mainnet Validator
https://0x9000009807ed12c1f08bf4e81c6da3ba8e3fc3d953898ce0102433094e5f22f21102ec057841fcb81978ed1ea0fa8246@builder-relay-mainnet.blocknative.com
Goerli Validator
https://0x8f7b17a74569b7a57e9bdafd2e159380759f5dc3ccbd4bf600414147e8c4e1dc6ebada83c0139ac15850eb6c975e82d0@builder-relay-goerli.blocknative.com
Ropsten Validator
http://0xaef7ec27ca8ca24205aab89f6595a5ad60d649c533fd7e7be692c9bd02780a93b68adae3e3b8ea0d5f9723f2790b1a90@builder-relay-ropsten.blocknative.com
Monitoring APIs
Please visit our MEV relay docs page for the most up-to-date monitoring APIs.
MEV Searchers
MEV searchers can use Blocknative’s suite of tools to search with an edge and securely get MEV bundles on-chain by submitting to our RPC endpoint https://api.blocknative.com/v1/auction
. Learn more by visiting our MEV bundle RPC endpoint docs. Create a free Mempool Explorer account today and begin prototyping your strategies.
Questions?
If you have any questions about the Validator relay, join our Discord. If you'd like to learn more about running your own validator, we recommend our Lighthouse/Geth setup guide.
Further reading:
Observe Ethereum
Blocknative's proven & powerful enterprise-grade infrastructure makes it easy for builders and traders to work with mempool data.
Visit ethernow.xyz