-
Notifications
You must be signed in to change notification settings - Fork 741
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add plumbing for PeerDAS supernodes (#5050, #5409, #5570, #5966) #6216
Conversation
…igp#5966) - add cli option `--subscribe-to-all-data-columns` - add custody subnet count to ENR, only if PeerDAS is scheduled - subscribe to data column topics, only if PeerDAS is scheduled Co-authored-by: Jacob Kaufmann <jacobkaufmann18@gmail.com>
book/src/help_bn.md
Outdated
@@ -585,6 +585,10 @@ Flags: | |||
server on localhost:5052 and import deposit logs from the execution | |||
node. This is equivalent to `--http` on merge-ready networks, or | |||
`--http --eth1` pre-merge | |||
--subscribe-all-data-column-subnets |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If we are going to commit to this flag, is this the best name? Another angle is to have a --supernode
flag. I don't have a strong opinion but now is the time to think it twice
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like --supernode
better
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just dropping some thoughts here - I thought about a few alternatives when originally picking this name
--custody-subnet-count 12
: number of column subnets to custody, this is flexible but we don't really have a use case, and isn't really compatible with the upcoming validator custody and custody group changes.--subscribe-all-data-column-subnets
: this name is consistent with the attestation subnet flag, but thinking about this now, it's actually a bit different, because it means subscribe all subnets + import all data columns + reconstruction + distributed blob building etc. so--supernode
does feel a bit more suitable.--min-data-column-custody <number|all>
: with the upcoming validator custody change, the number of custody columns may change during runtime, depending on the number of validators registered. Note I dropped thesubnet
here because of the upcoming change to decouple subnets from custody.
We've used the supernode
term a lot between implementers, but feels a bit vague for people without the PeerDAS context, e.g. would a regular user think it subscribes to all attestation subnets and import all attestations too, or would it have a higher --network-load
value?
The downside is that it is a bit rigid and we may need to add more flags, if one wants to run a lower bandwidth and lower storage supernode, they may want to subscribe to just 50% of the subnets - just to be able to locally perform reconstruction without having to query peers when having to serve blob_sidecars
over HTTP.
Btw all other clients have adopted the same thing so far:
participants:
# Supernodes
- cl_type: prysm
cl_image: ethpandaops/prysm-beacon-chain:peerdas-initial-sync
cl_extra_params: [--subscribe-all-subnets]
- cl_type: lighthouse
cl_image: ethpandaops/lighthouse:das-devnet-2
cl_extra_params: [--subscribe-all-data-column-subnets]
- cl_type: teku
cl_image: ethpandaops/teku:nashatyrev-das
cl_extra_params: [--p2p-subscribe-all-custody-subnets-enabled]
- cl_type: nimbus
cl_image: ethpandaops/nimbus-eth2:peerdas-p2p
cl_extra_params: [--subscribe-all-subnets=true]
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we should probably hide all peerdas flags at this stage?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
btw I also don’t have a strong opinion, happy to switch to supernode, and I think we can still change our mind before go live
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated help and made this a hidden flag.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok to keep the name, but we should either hide it or note it that it is experimental and may break
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
@mergify queue |
✅ The pull request has been merged automaticallyThe pull request has been merged automatically at f2fdbe7 |
…igp#5966) (sigp#6216) * Add plumbing for peerdas supernodes (sigp#5050, sigp#5409, sigp#5570, sigp#5966) - add cli option `--subscribe-to-all-data-columns` - add custody subnet count to ENR, only if PeerDAS is scheduled - subscribe to data column topics, only if PeerDAS is scheduled Co-authored-by: Jacob Kaufmann <jacobkaufmann18@gmail.com> * Merge branch 'unstable' into das-supernode * Update CLI docs. * Merge branch 'unstable' into das-supernode * Fix fork epoch comparison with `FAR_FUTURE_EPOCH`. * Merge branch 'unstable' into das-supernode * Hide `--subscribe-all-data-column-subnets` flag and update help. * Fix docs only * Merge branch 'unstable' into das-supernode
…igp#5966) (sigp#6216) * Add plumbing for peerdas supernodes (sigp#5050, sigp#5409, sigp#5570, sigp#5966) - add cli option `--subscribe-to-all-data-columns` - add custody subnet count to ENR, only if PeerDAS is scheduled - subscribe to data column topics, only if PeerDAS is scheduled Co-authored-by: Jacob Kaufmann <jacobkaufmann18@gmail.com> * Merge branch 'unstable' into das-supernode * Update CLI docs. * Merge branch 'unstable' into das-supernode * Fix fork epoch comparison with `FAR_FUTURE_EPOCH`. * Merge branch 'unstable' into das-supernode * Hide `--subscribe-all-data-column-subnets` flag and update help. * Fix docs only * Merge branch 'unstable' into das-supernode
Issue Addressed
Part of #6072.
Add plumbing for peerdas supernodes (#5050, #5409, #5570, #5966)
--subscribe-to-all-data-columns
Upstream PRs:
DataAvailabilityChecker
for determining block importability #5570csc
format in ENR and spec tests for devnet-1 #5966