remove submitBeaconBlock API - #162
Conversation
* add api to submit builder preferences * add builder preferences type * add signed builder preference * updates * specify precedence and when to submit the preference * send preference based on epoch lookahead * send request auth with builder preferences * use builder pubkey in request auth * add validator pubkey to the query param * some updates
* updates * remove header to communicate max_execution_payment * use proposer_pubkey instead of index * some spec updates * update is_eligible_for_bid * update error code * don't encapsulate the beacon block under a "data" field * add an identity api * reword sentence on block and payload decoupling * update request auth to use builder url * update error codes * add eth consensus version header * suffix containers with v1 * run make lint * fix spellcheck * minor spec updates * builder can choose to not serve bid if preferences not seen
|
I think there's a lot of value in keeping |
|
I am sure there is a discussion somewhere which sets out the rationale for this change - could it be referenced here please? |
|
Apologies, i should have updated the description. The rationale is as follows: This becomes a problem for stateless validator clients as when the validator client sends the beacon node the signed block, just based on the block you cannot tell if the bid is from the builder-api or from the p2p . You need to maintain some state in the beacon node which tells where the bid in the block has come from which makes it trickier for validator clients which want to talk to multiple beacon nodes. This makes the block proposal flow more stateful I am on the fence on this and I am waiting for client devs to implement it and get more info on this. |
We can also make the argument that the beacon block's size goes down significantly with ePBS and that block broadcast can be done with a much lower bandwidth compared to today. The block could disseminate much faster in the network. |
When a proposer selects a bid from a builder via the builder-api, only the builder whose bid has been selected can reveal the payload. So the beacon block should be returned to the builder whose bid has been selected.
This becomes a problem for stateless validator clients as when the validator client sends the beacon node the signed block, just based on the block you cannot tell if the bid is from the builder-api or from the p2p . You need to maintain some state in the beacon node which tells where the bid in the block has come from which makes it trickier for validator clients which want to talk to multiple beacon nodes. This makes the block proposal flow more stateful.
We could also argue that builders could help in improving block dissemnation.
I am on the fence on this and I am waiting for client devs to implement it and get more info on this.