Skip to content

Nimbus supernode advertises incorrect cgc #8420

@Alleysira

Description

@Alleysira

Summary

In differential testing, we found that nimbus(v26.3.1) advertises cgc=4 in ENR/metadata, while other CL clients advertise cgc=128.

  grandine     128 / 128
  lighthouse   128 / 128
  lodestar     128 / 128
  nimbus       4   / 4
  prysm        128 / 128
  teku         128 / 128

Related code

After some digging, the root cause seems to be that nimbus currently intentionally disables full PeerDAS supernode mode and aliases --peerdas-supernode to --light-supernode:

# Ensure that non-light peerdas supernode options are forcibly disabled
# TODO when reconstruction works again, re-enable
# this is required because the fall-through is that if one of these is
# enabled, the (working) light supernode code won't run at all.
if config.peerdasSupernode:
# It's at least not worse than not doing this; a functioning (full)
# supernode reconstructs and stores a superset of these columns
config.lightSupernode = true
config.peerdasSupernode = false

Reproduce

Start the kurtosis testnet with the following config.yaml

participants:
  - el_type: geth
    cl_type: prysm
    el_image: ethereum/client-go:v1.17.2
    cl_image: offchainlabs/prysm-beacon-chain:v7.1.3
    supernode: true

  - el_type: geth
    cl_type: lighthouse
    el_image: ethereum/client-go:v1.17.2
    cl_image: sigp/lighthouse:v8.1.3
    supernode: true

  - el_type: geth
    cl_type: teku
    el_image: ethereum/client-go:v1.17.2
    cl_image: ethpandaops/teku:master
    supernode: true

  - el_type: geth
    cl_type: nimbus
    el_image: ethereum/client-go:v1.17.2
    cl_image: statusim/nimbus-eth2:multiarch-v26.3.1
    supernode: true

  - el_type: geth
    cl_type: lodestar
    el_image: ethereum/client-go:v1.17.2
    cl_image: chainsafe/lodestar:v1.42.0
    supernode: true

  - el_type: geth
    cl_type: grandine
    el_image: ethereum/client-go:v1.17.2
    cl_image: sifrai/grandine:2.0.4
    supernode: true

network_params:
  network_id: "260508"
  num_validator_keys_per_node: 11

additional_services:
  - dora

Then inspect each node's advertised ENR/metadata custody_group_count. The nimbus multiarch-v26.3.1 node reports 4, while the other supernode: true clients report 128.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions