Skip to content

Obol Charon DVN integration: opt-in Optimum Gateway overlay #23

Description

@swarna1101

Goal

Ship an opt-in Docker Compose overlay that adds the Optimum Gateway to an Obol Charon Distributed Validator Node (CDVN), so the DV's beacon node receives blocks earlier via the Optimum mump2p mesh. Off by default; zero change to a CDVN that doesn't enable it.

How it connects

  • Optimum Gateway = libp2p host + mump2p node. Peers with the CL beacon node as a direct/trusted peer. Needs an Optimum API key + gateway_cluster_id. Does not touch validator keys, the VC, or charon.
  • CDVN flow: beacon node -> charon (http://${CL}:5052) -> VC. The gateway sits upstream of the beacon node's block source, so it is transparent to charon and the VC and only improves block-arrival timing.
  • Overlay target: integration/obol/ in this repo. Enabled by appending compose-optimum.yml to CDVN COMPOSE_FILE.

Design decision (main technical risk)

Docker Compose replaces command: on merge (no append). CDVN CL commands are fixed, so we cannot cleanly append a peer flag via overlay without re-declaring each CL command.

  • Approach A (preferred, simplest): overlay adds one optimum-gateway service; set gateway direct_cl_peers to /dns4/cl-<client>/tcp/9000/p2p/<cl_peer_id>. No CL command edits. CL peer id comes from GET /eth/v1/node/identity, written by a small init step.
  • Approach B (fallback): per-CL override re-declaring the CL command with ${GATEWAY_PEER} appended (--trusted-peers/--direct-peer), plus gateway peer discovery.

Prototype A first; fall back to B per-CL only if gossip block-acceptance needs the CL to treat the gateway as an explicit trusted peer. Decide during Hoodi validation.

Sub-tasks

Non-goals

  • No changes to charon, VC, DKG, or Lido exit mechanisms.
  • No fork of CDVN; overlay is additive and opt-in.
  • Not enabled by default.

Acceptance

  • compose-optimum.yml overlay + gateway config sample + init helper + docs, all opt-in.
  • Validated on Hoodi against a real DV cluster: measurable earlier block arrival, charon/VC behaviour unchanged, off-by-default confirmed.
  • Upstream direction agreed with Obol before any PR.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions