gloas VC block production - #8313
Conversation
e4aafe1 to
c13666f
Compare
c13666f to
f35f5eb
Compare
ebb844e to
f348717
Compare
f348717 to
de5f0c3
Compare
I was resolving CI issues for my gloas block production [PR ](#8313), and noticed the `make audit-CI` [check](https://github.com/sigp/lighthouse/actions/runs/20588442102/job/59129268003) was failing due to: ``` Crate: ruint Version: 1.17.0 Title: Unsoundness of safe `reciprocal_mg10` Date: 2025-12-22 ID: RUSTSEC-2025-0137 URL: https://rustsec.org/advisories/RUSTSEC-2025-0137 Solution: Upgrade to >=1.17.1 ``` Using the latest stable rust, `1.92.0`, I ran `cargo update ruint` -> `cargo check` -> `make audit-CI`, which passed Co-Authored-By: shane-moore <skm1790@gmail.com>
|
@eserilev do we need this one? |
|
@jimmygchen no we do not, we already have state-full gloas block production merged to unstable. We need stateless block production eventually. Shane has a spec PR for this (I think in the beacon api repo) but I don't think it's been merged yet |
yep, open beacon api pr ethereum/beacon-APIs#580. it's pending a few discussions that will become a priority later, such as what will happen with |
|
closing as we already have this in unstable. thanks Shane! |
Changes
How This Works
In Gloas, the
publish_blockflow in the VC is modified to add the get, sign, and publish of a payload envelope, which occus when theBeaconBlock.body.signed_execution_payload_bid.message.builder_indexis the same as the proposer's validator index.Additionally, when requesting a block from the BN, we will no longer receive blobs or kzg commitments. Instead, payload envelopes and blobs will be released by the proposer in the self-building scenario or otherwise by the in-protocol builder. There is no longer a concept of requesting unblinded or blinded blocks since all CL blocks just contain bids.
Client-side endpoints were added to support requesting gloas block and additionally envelopes. All the new and modified epbs beacon api endpoints are defined in PR.
Todo's (left comments in the code as well)
envelope_verification.rsflow since we request an envelope to sign and gossip during block production. Additionally, theproduce_blockcall to the BN will no longer respond with blobs for example, so we'll need to modify this endpoint. Additionally, the BN endpoint that receives the signed block to broadcast flow will need to be modified as well.produce_block_v4and other new endpoints on the server side@ethDreamer
@eserilev