-
Notifications
You must be signed in to change notification settings - Fork 898
Soft fork gossip topic activation and deactivation #5899
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
Conversation
My understanding from latest discussions on ACDC & breakout call is that the plan is to activate PeerDAS at a hard fork (due to consensus changes and ease of coordination), thus |
What consensus changes ? |
Rules to import into fork choice are different (custody columns instead of blobs) and incompatible; and additionally trailing fork choice changes. Are these not consensus changes? New nodes won't be sharing the same view of the chain as old nodes, isn't that technically a hard fork? |
I think these features added could still be quite useful though, regardless of whether we use it for PeerDAS - and maybe we could use it for PeerDAS - I'm just raising what I understood from various discussions. |
fork choice changes are not a consensus change, because you can still interop and only matters in your local view. Fork-choice changes SHOULD be coordinated tho, otherwise weird things can happen, but that's why using an activation epoch is enough |
next_epoch: Epoch, | ||
opts: &TopicSubscriptionOpts, | ||
) -> Vec<GossipKind> { | ||
let prev_epoch = next_epoch.saturating_sub(Epoch::new(1)); |
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'm not sure if this method is called at genesis, but if it is, I don't think it works since you'll never have a different prev_set
and next_set
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.
Nice pick! Fixed in 6fa81e8
Please update to point at
|
Obsolete, PeerDAS is part of Fulu |
Issue Addressed
PeerDAS requires new features not available in current gossip topic machinery:
Most of the changes from this PR can be back-ported to unstable but I want to make sure they align with what we need for PeerDAS
Proposed Changes
core_topics_to_subscribe(epoch, opts)
. It consolidates logic that is fork dependant with other user options likesubscribe-all-subnets
. The previous approach was very rigid expecting a set of topics for every ForkName. Now the set of topics change depending on peer das epochnew_topics_to_subscribe_at_epoch
andold_topics_to_unsubscribe_at_epoch
which diff the output ofcore_topics_to_subscribe
across a "fork transition". Then, at the fork transition epoch subscribe the new topics, and forget the old onesCloses #5894