Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: privileged-builders #656

Open
wants to merge 1 commit into
base: develop
Choose a base branch
from

Conversation

MrKoberman
Copy link

Privileged builders are a list of public keys of builders from which bids will be accepted first, even if the bid is lower. If no bids are received from the privileged builders, bids from other builders will be accepted.

This is useful when you have a special contract with specific relays and you would like to have their blocks used instead of other relays. While still having other relays as a fallback.

📚 References

attestantio/vouch#206


✅ I have run these commands

  • make lint
  • make test-race
  • go mod tidy

@metachris
Copy link
Collaborator

You might want to bring this up at a MEV-Boost Community Call.

@MrKoberman
Copy link
Author

You might want to bring this up at a MEV-Boost Community Call.

When is the next mev-boost community call?

@metachris
Copy link
Collaborator

They are announced on the Flashbots forum, the previous one was last week https://collective.flashbots.net/t/mev-boost-community-call-9-26-june-2024/3538

Feel free to start a conversation there too.

@sambacha
Copy link

sambacha commented Jul 5, 2024

They are announced on the Flashbots forum, the previous one was last week collective.flashbots.net/t/mev-boost-community-call-9-26-june-2024/3538

Feel free to start a conversation there too.

There was a 6 month interlude between community calls. Would @ralexstokes be interested in hosting another call a week after EthCC?

@metachris
Copy link
Collaborator

You could start a thread in the forum requesting it, and propose/collect agenda items.

@ralexstokes
Copy link
Collaborator

yeah @sambacha happy to have another call

can you add agenda items here? https://collective.flashbots.net/t/mev-boost-community-call-10-date-tba/3654

I'll likely wait until I feel there's enough to discuss but I can see it worthwhile having a call soon after EthCC

@sambacha
Copy link

yeah @sambacha happy to have another call

can you add agenda items here? collective.flashbots.net/t/mev-boost-community-call-10-date-tba/3654

I'll likely wait until I feel there's enough to discuss but I can see it worthwhile having a call soon after EthCC

Hope you enjoyed EthCC, I have posted on the forums a few topics that are very relevant we think: https://collective.flashbots.net/t/mev-boost-community-call-10-date-tba/3654/3?u=sambacha

Here is a COPY of that post for convenience 


Privileged Relay Capability

The ‘Privileged Relay’ capability is a way of specifying a validators preferential choice in using one relay exclusively. The use case for this includes:

  • Relays that have a defined auction window bid time (i.e. relay does not participate in such ‘latency games’
  • Proxy Gateway that provides an additional layer for security / enabling certain testing scenarios

The Privileged Relay MUST provide a valid response by the defined window time. Validators SHOULD also listen and accept other relay bids as well. If the Privileged Relay does not provide a valid bid, or some other error code, the validator MUST then either accept other relay bids or use a locally built block.

There is a potential for the Privileged Relay to have a weight scoring applied to it, however we defer this point as there already validator configruation settings that are applied that alter valuation math, and are not done so in a clearly transparent manner.

Blob Inclusion Information

Expand Relay Specification to include blob information related to inclusion, e.g.

   "blob_inclusion": {
      "blobs_included": true,
      "blob_count": 5,
      "blob_inclusion_hash": "0xabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdef",
      "total_blob_size": 5120
    }

Before we open up a PR on the relay specification repo, feedback must be solicited. Additionally, this MUST be a new endpoint for bid_trace.

Generating a Proof of Builder Payment Verification

Currently, generating such proofs without proposer fee recipient-related transactions distorting the number is not straightforward.

This is a draft proposal for an enhancement to the way builder bids are verified by the relay, expanding the block-based data used to calculate the true value received by proposer fee recipients.

This change aims to address the inaccuracies caused by current methods that only use simple pre- / post-balance checks or transaction value checks.

Block Data Extensions

  • Transfers In: Define as the sum of all incoming transfers to the proposer fee recipient within a block.
  • Transfers Out: Define as the sum of all outgoing transfers from the proposer fee recipient within the same block.
  • Costs: Define as the sum of all transaction fees burned by transactions that originate from the proposer, fee recipient.

Bid Calculation

  • The builder bid value for the proposer fee recipient is calculated using a defined formula

There are at 5 observed methods of payment for builders/searchers, see https://docs.xga.com/Developers/payment-methods/

If you have any questions, feel free to message me on Telegram - Telegram: Contact @sambacha or Twitter https://twitter.com/@blockrotator


@sambacha
Copy link

yeah @sambacha happy to have another call

can you add agenda items here? collective.flashbots.net/t/mev-boost-community-call-10-date-tba/3654

I'll likely wait until I feel there's enough to discuss but I can see it worthwhile having a call soon after EthCC

@ralexstokes reached out to you via Telegram, please let us know if the Agenda items are acceptable!

@metachris
Copy link
Collaborator

The description, goals, direction and motivation is not clear to me.

Could you start with a top-level Github issue or forum post that explains the goals and motivation, and allows discussion on that, before posting code?

@MrKoberman
Copy link
Author

My view on this feature.

Starting a new relay and aiming to become a key player in the MEV space is challenging. Not all relays receive top bids because the best builders are often connected to established relays like Flashbots, Titan, and Ultrasound. This is why custom contracts between validators and new relays are crucial. Like other relays, new relays can have a custom contracts with new builders, potentially offering better MEV rewards for validators. However, during the testing phase, the relay might not always receive bids from the builder. In such cases, we still want to ensure validators get the best possible MEV rewards.

The privileged-builders configuration helps validators receive the best rewards while participating in the new relay's testing phase.

@MrKoberman MrKoberman marked this pull request as draft August 20, 2024 11:39
@MrKoberman MrKoberman marked this pull request as ready for review August 20, 2024 11:52
Privileged builders are a list of public keys of builders from which
bids will be accepted first, even if the bid is lower. If no bids are
received from the privileged builders, bids from other builders will be
accepted.

This is useful when you have a special contract with specific relays and
you would like to have their blocks used instead of other relays. While
still having other relays as a fallback.
@alextes
Copy link

alextes commented Aug 30, 2024

just came here looking if there's been any more conversation happening. i don't see any. so let me signal quickly add here, i like lowering the barrier to entry for relays, i don't like putting in features that need to be maintained for a small group of proposers. an idea: fork mev-boost until some double digit % of proposers wants the fork, then upstream.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants