-
Notifications
You must be signed in to change notification settings - Fork 1k
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
[for discussion] Use all attestation subnets in phase 0 #1804
Conversation
This looks fine to us. |
@djrtwo it looks like minor change for subnetwork calculation formula when you choose one to post your attestation, but @jrhea proposal was to decrease number of subnetworks in order to increase size of each subnetwork skeleton. In this one we still have small skeletons in small networks. If we kinda combine it or smth like this, it could serve similarly to #1777, but it would look more complicated than original PR for me. |
I just want to make sure I understand what is happening here. Assuming,
the possible subnets for each slot would be:
Is that right? If so, I have a couple of comments/questions:
|
Yes, I'm aware. We discussed this on the networking call. The desire, if we change it, is to make it more like the distribution we would see with actual shards. I am worried about artificially increasing the size of subnets in phase 0 when in actuality, come phase 1, they are used more like in the PR |
you're right, the for loop is unnecessary here due to # of committees being equal across all slots in an epoch
Yes, in low validation numbers, you rotate through shards across slots when you don't have high enough committee numbers. When you get to enough validators to have 64 committees per slot, you just get usage of all subnets at all slots (same as you'd see in the current phase 0 setup) |
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. Still have slight doubts about subnet rotation between epochs, but not too critical.
Co-authored-by: Diederik Loerakker <proto@protolambda.com>
For the record. We might use one subnet for several shards in Phase 1 if it would impact security on the network layer. |
True! that's why we have |
For the record, this looks fine from Nimbus's end as well. |
An attempt to address this.
In Phase 1, all attestation subnets would get used even when committees_per_slot does not equal
SHARD_COUNT
. In this PR, all attestation subnets are now used by rotating through them all throughout the epoch instead of just using a subset at each slot starting at 0.This does mimic the behaviour of Phase 1 more directly, but introduces a change to broadcast logic kind of late in the game.