-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Description
Context
There is two main types of subnets:
-
Static subnets - nodes are expected to subscribe to all of them.
Examples:attester_slashing
,beacon_block
,voluntary_exit
-
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.