Consensys/teku

voluntary exits 'no peers on channel'

Closed this issue · 6 comments

When submitting a voluntary exit in deneb, 'no peers on topic' has been reported.

We need to investigate this, the Deneb spec says The voluntary_exit topic is implicitly modified due to the lock-in use of CAPELLA_FORK_VERSION for this message signature validation for EIP-7044.

This possibly means that the voluntary exit digest should be locked at the capella digest, so we're essentially on the wrong gossip topic to find peers for exits.

I haven't got confirmation from the other client teams if we should fix the fork digest, but I checked a Lighthouse node in Sepolia and all topics are using an updated fork digest after Deneb, and all topics match the topics that our Teku nodes in Sepolia are subscribed to.

So either we do not need to fix the fork digest for the voluntary_exit topic, or both Teku and LH are doing something wrong :)

Spec:

The voluntary_exit topic is implicitly modified due to the lock-in use of CAPELLA_FORK_VERSION for this message signature validation for EIP-7044. spec

I read it that topic is Capella fixed.

The specific makes one change to the state transition function:

    Modify `process_voluntary_exit` to compute the signing domain and root fixed on `CAPELLA_FORK_VERSION`.

Additionally, the `voluntary_exit` gossip conditions are implicitly modified to support this change.

EIP-7044, which is the part of Deneb

This could be read in two ways: either topic is Capella-fixed or topic is changed according to the fork, but validation should not reject Capella-signed voluntary exits.

Our code:

Validation lock-in to Capella

Create Voluntary Exits (subcommand) - no lock-in: [1], [2]

Gossip subscriptions - no lock-in

Issue opened for topic clarification ethereum/consensus-specs#3638 as we are not sure on this

Create Voluntary Exits (subcommand) - no lock-in: - not true
Actually we do this deep in spec beacon state accessors. Just added more tests to avoid confusion on this side.

Not publishing voluntary exit because no gossip subscriptions are active for slot xxxx

Fixed with #8205