Skip to content

Clean subscriptions to subnets flags #15857

@nalepae

Description

@nalepae

Context

There is two main types of subnets:

  1. Static subnets - nodes are expected to subscribe to all of them.
    Examples: attester_slashing, beacon_block, voluntary_exit

  2. Dynamic subnets - nodes ar expected to subscribe to only a subset of them, and can voluntarily subscribe to all of them.
    Examples: beacon_attestation_<xx>, sync_committee, data_column_sidecar_<xx>

At Phase 0, only beacon_attestation_<xx> were dynamic.
Prysm added the flag --subscribe-all-subnets to allow the user to voluntary subscribe to all of them.

At Altair, sync committee subnet was introduced. Starting at Altair, --subscribe-all-subnets now allows the node to voluntary subscribe to all attestations subnets and to the sync committee subnet.

At Fulu, data column sidecar subnets were introduced. However it became clear that some users would need to only subscribe to all those data column sidecar subnets, and not to, for example, all attestations or sync committee subnet.
==> The flag --subscribe-all-data-subnets was introduced to fulfill this purpose.

Note: We introduced --subscribe-all-data-subnets and not --subscribe-all-data-columns-subnets to be forward compatible when we want to introduce FullDAS in a next hard fork. So we won't have to introduce a new flag again.

However, there is two main issues with this new flag:

  • --subcribe-all-data-subnets is really close to --subscribe-all-subnets, potentially confusing the user.
  • --subscribe-all-subnets makes the user believe that the node will effectively subscribe to all subnets, including data subnets. However, currently --subscribe-all-subnets will subscribe to all subnets except the non-required data subnets. So, to really be subscribed to ALL subnets, the user should use both --subscribe-all-subnets and --subcribe-all-data-subnets, which is really confusing.

Note: The help of --subscribe-all-subnets already explains the exact behavior, but it's clearly better to have also a consistent flag name.

--subscribe-all-subnets    Subscribe to all possible attestation and sync subnets. (default: false)

The task

Clean then subscriptions to subnets flags.

Metadata

Metadata

Assignees

No one assigned

    Labels

    configFlags, network setups and other configuration

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions