ObolNetwork / ObolNetwork/charon

core/validatorapi: host a builder-API relay endpoint to support Vouch blinded-block proposals

Open
#4,666 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

feature needs refining protocol
Dominant language
Go
Stars
222
Forks
138
Avg merge
2d 6h
Merged PRs (30d)
35

Description

🎯 Problem to be solved

Follow-up to #3576. For a DV proposal Charon needs the VC's partial signature over the blinded block so it can aggregate and unblind. Every other supported VC gives us this by submitting the signed blinded block back to Charon via POST /eth/vN/beacon/blinded_blocks.

Vouch does not. It bundles the mev-boost role: it signs the blinded block and unblinds it itself by calling the relay's POST /eth/vN/builder/blinded_blocks, then submits a full block to the BN. There is no config to make Vouch submit a blinded block to the BN instead. So Charon never sees Vouch's signature over the blinded data.

🛠️ Proposed solution

Point Vouch at Charon as its MEV relay and implement the builder POST /eth/vN/builder/blinded_blocks endpoint in Charon. Vouch's unblind call then delivers the SignedBlindedBeaconBlock, which carries exactly the partial signature we need — so wire this handler into the same proposal partial-signature logic we already use.

⏳ Likely obsolete post-Gloas

This is a shim around out-of-protocol PBS. Gloas / ePBS removes the blinded-block → relay-unblind flow, so this endpoint should no longer be needed once Gloas is supported. See #4324.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing Charon's existing POST /eth/vN/beacon/blinded_blocks handler and the proposal partial-signature logic it uses. Add the builder POST /eth/vN/builder/blinded_blocks relay endpoint so Vouch's SignedBlindedBeaconBlock reaches that same logic, then verify the endpoint delivers the partial signature needed for aggregation and unblinding.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
api, backend, blockchain, distributed-systems
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.