prysm icon indicating copy to clipboard operation
prysm copied to clipboard

Failing to receive blinded blocks on sepolia

Open mcdee opened this issue 1 year ago • 14 comments

🐞 Bug Report

Description

A call to obtain a blinded block from prysm on sepolia is failing.

In addition, prysm overrides the request to obtain a blinded block if it thinks the payload is a higher value. It would be handy to have a flag to disable this behavior ,and always return the blinded block with payload from the MEV relay.

Has this worked before in a previous version?

Yes.

🔬 Minimal Reproduction

Sent to prysm:

/eth/v1/validator/blinded_blocks/1882275?randao_reveal=0x97d2a7e4fbe3a21e79ab310a8e0a33104f0c650949d374da9f540756187e37a64b54ac147100edf453b297a897c36bc3119e1f86f1def8382ffab25620e8cbd8a4b9b659e76c11fcc648368b18bc5244989d81280966348345d90bd7231eb4a5&graffiti=0x417474657374616e742f566f7563680000000000000000000000000000000000

🔥 Error

Received from prysm:

{"message":"Unsupported block type","code":400}

prysm logs show:

{"blockHash":"0xd98081ea8366e15d409ce5f7e288258ad938936c6a2489ef9ee72619d2204faa","builderPubKey":"0x845bd072b7cd566f02faeb0a4033ce9399e42839ced64e8b2adcfc859ed1e8e1a5a293336a49feac6d9a5edb779be53a","level":"info","msg":"Received header with bid","prefix":"rpc/validator","time":"2023-03-09T00:15:00Z","value":"957081901767780"}
{"builderValue":957081901767780,"level":"warning","localValue":957081901914780,"msg":"Proposer: using local execution payload because higher value","prefix":"rpc/validator","time":"2023-03-09T00:15:00Z"}

🌍 Your Environment

prysm 3.2.2-rc.3

mcdee avatar Mar 09 '23 00:03 mcdee

cc @terencechain

nisdas avatar Mar 09 '23 00:03 nisdas

I would be very strongly against such a flag. One thing is facilitating access to MEV to avoid forks, another very different is actively weakening anti censoring mechanisms

potuz avatar Mar 10 '23 23:03 potuz

We get the same error on mainnet at the moment, reported in this Discord message:

hey guys, we have a Prysm v4.0.0 node with --http-mev-relay set, and when we request to produce a blinded block, like so:

GET /eth/v1/validator/blinded_blocks/<slot>?randao_reveal=<randao>&graffiti=<graffiti>

we get this error:

{"message":"Unsupported block type","code":400}

i believe it's most likely an error on our side, because i recall this working a few months ago, i'm just asking for your guidance to figure out why it may be

(this doesn't happen with Lighthouse)


I'm curious, how does Prysm's VC produce blinded blocks? Assuming this error isn't due to a misconfiguration, then I'd guess the VC isn't using this endpoint?

moshe-blox avatar Apr 19 '23 08:04 moshe-blox

Our VC doesn't use the Beacon API

rkapka avatar Apr 19 '23 10:04 rkapka

Our VC doesn't use the Beacon API

That's right, I was just curious whether it's doing something entirely different like producing the block by itself.

Back in September, we had an issue where the BN wouldn't unblind submitted blinded blocks (wasn't implemented in neither gRPC or Beacon API), which wasn't an issue for Prysm's VC because it was unblinding blocks by itself, but our VC isn't capable of that (yet 🤔) and relies on this endpoint.

By the way, regarding that (blinded block submission), do you know whether it's now implemented in the Beacon API?

moshe-blox avatar Apr 19 '23 11:04 moshe-blox

Yes, for Capella it is implemented, but I am looking now if there is a bug in the code.

rkapka avatar Apr 19 '23 11:04 rkapka

Can someone follow up on this issue? Now my validator client (vouch) says "Prepared beacon block is not blinded" and failed the proposal.

zheli avatar May 25 '23 08:05 zheli

Hi @zheli , did you observe a Proposer: using local execution payload because higher value log before the failed proposal?

rkapka avatar May 25 '23 10:05 rkapka

Unfortunately I have removed the the machine together with the log so it's not possible to find out now :disappointed: I will check next time when we have a missing proposal.

zheli avatar May 29 '23 13:05 zheli

@rkapka yes we see that message prior to the error.

mcdee avatar Jun 02 '23 11:06 mcdee

Has this bug fixed in the latest prysm version?

hwhe avatar Dec 19 '23 08:12 hwhe

Has this bug fixed in the latest prysm version?

It will be resolved once we implement https://github.com/ethereum/beacon-APIs/pull/386

rkapka avatar Dec 22 '23 12:12 rkapka

This error is still occurring with prysm 4.2.0. Recent call on sepolia:

/eth/v1/validator/blinded_blocks/4111200?randao_reveal=0xb13a6dcebaafa9ad8c429fe90fabf0f6d43cbf12d8f45ed216cd17ed3cb84b12bf6de430552395fc63abef8644f722d0148354d419a33e1f8007bddd0725821d2aa9dc230456c99e575619629fd253a38c2bfbc7ac042dfd5172f1524b74d2cb&graffiti=0x417474657374616e742f566f7563680000000000000000000000000000000000"

With response:

{"message":"Prepared block is not blinded","code":500}
beacon-chain --version
beacon-chain version Prysm/v4.2.0/3a2b486bde28f9b2a02c716782a738c64d62a8e8. Built at: 2024-01-11 01:35:41+00:00

mcdee avatar Jan 12 '24 14:01 mcdee

Passing it to @rkapka

terencechain avatar Mar 26 '24 16:03 terencechain