ObolNetwork / ObolNetwork/charon
core/validatorapi: host a builder-API relay endpoint to support Vouch blinded-block proposals
Nobody has claimed this yet.
- 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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