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.
Summary
In differential testing, we found that nimbus(v26.3.1) advertises
cgc=4in ENR/metadata, while other CL clients advertisecgc=128.Related code
After some digging, the root cause seems to be that nimbus currently intentionally disables full PeerDAS supernode mode and aliases
--peerdas-supernodeto--light-supernode:nimbus-eth2/beacon_chain/nimbus_beacon_node.nim
Lines 2822 to 2830 in 102be79
Reproduce
Start the kurtosis testnet with the following
config.yamlThen inspect each node's advertised ENR/metadata
custody_group_count. The nimbusmultiarch-v26.3.1node reports4, while the othersupernode: trueclients report128.