prysm
prysm copied to clipboard
Failing to receive blinded blocks on sepolia
🐞 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
cc @terencechain
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
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?
Our VC doesn't use the Beacon API
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?
Yes, for Capella it is implemented, but I am looking now if there is a bug in the code.
Can someone follow up on this issue? Now my validator client (vouch) says "Prepared beacon block is not blinded" and failed the proposal.
Hi @zheli , did you observe a Proposer: using local execution payload because higher value
log before the failed proposal?
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.
@rkapka yes we see that message prior to the error.
Has this bug fixed in the latest prysm version?
Has this bug fixed in the latest prysm version?
It will be resolved once we implement https://github.com/ethereum/beacon-APIs/pull/386
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
Passing it to @rkapka