Proposer MEV-Protect
Register exclusively with a bloXroute relay in return for a guaranteed 80% of block value
Currently on Ethereum, proposers either take the most favorable block they are given by the relays, or offer a self-made block. By default, there is generally nothing stopping builders from keeping as much block value as they can for themselves, as long as other builders provide less favorable blocks. To overcome this, bloXroute relays offer the option for proposers to refuse blocks that offer less than 80% of the block value to the proposer. This means that the validator will only be served blocks where the validator is entitled to over 80% of block profit. In addition to this, these blocks must include a 2% payment to the relay the block is submitted to.
This feature can only be activated when using a subset of relays that will guarantee to reject blocks that don't meet the 80% rule. Currently the bloXroute relays are the only relays that offer that but we expect other relays to follow. This feature is based on the paper discussed in the paper "Decentralizing Monopolistic Power in DeFi" by Sarit Markovich. If the validator registers with any non-supporting relay then a builder will not be forced to pay at least 80% of the block value if the builder can make the winning block with 50% payment.
The more validators opt to use the Proposer MEV-Protect feature, the more builders and relays will support it as well.
Validators
In order to utilize this feature, a validator must only register with a subset of relays that offer this feature, currently just bloXroute relays. Once you have ensured that your validator is not registering with any non supporting relay, add a query parameter proposer_mev_protect=true
to the relay URLs you use to connect with bloXroute relays. These are the URLs that are passed in with the -relays
flag. For example:
https://0x8b5d2e73e2a3a55c6c87b8b6eb92e0149a125c852751db1422fa951e42a09b82c142c3ea98d0d9930b056a3bc9896b8f@bloxroute.max-profit.blxrbdn.com?proposer_mev_protect=true&id=validator-name
would be one of the bloXroute relays getting passed into -relays
flag in mev-boost.
Builders
As a builder, in order to submit blocks for slots protected by MEV-Protect, there are a couple of steps that must be taken.
Tracking which slots are protected by MEV-Protect
When querying the validator data from the relay endpoint
the builder receives a JSON array of GetValidatorRelayResponse
objects.
The enforced_profit_ratio
64-bit unsigned integer represents the percent of the block value required to be given to the proposer in the block.
Building MEV-Protect compliant blocks
In order for a block to be valid as an MEV-Protect block, it must meet the proposer profit threshold for that block which is 80%, as represented enforced_profit_ratio
. Note that slots not protected by MEV-Protect will have an enforced_profit_ratio
value of 0. The enforced_profit_ratio
64-bit unsigned integer represents the percent of the block value required to be given to the proposer in the block. The block value is determined by the amount of Ether received by the coinbase of the block, either through gas fees or direct payments.
The builder must also send a payment to the relay of at least 2% of the total block profit. For any bloXroute relays, the recipient address of this payment should be:
0x367DB1AD831E4284ab1381EE6EeC81Eae6BD94a0
Submitting MEV-Protect compliant blocks
When submitting a block to a bloXroute relay, for a slot protected by MEV-Protect, you must signal that the block is an MEV-Protect block in order to maintain optimistic relaying.
When submitting via HTTP: attach a
proposer-mev-protect
header, with the value set totrue
.When submitting via websocket: attach a
proposer-mev-protect
header, with the value set totrue
.When submitting via gRPC*: you must set the
ProposerMevProtect
field of theSubmitBlockRequest
struct to true.
*Note: the code required to use gRPC with bloXroute relays is publicly available at https://github.com/bloXroute-Labs/relay-grpc
Last updated